From 5535308fffdd58ac17937d676c096fe889acb77e Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Fri, 28 Dec 2012 20:24:20 +0100 Subject: Restructure Put all source files in `src/' and add the `conkeror/' directory from the old project. --- linkwave.scm | 56 -------------------------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 linkwave.scm (limited to 'linkwave.scm') diff --git a/linkwave.scm b/linkwave.scm deleted file mode 100644 index 85e2d20..0000000 --- a/linkwave.scm +++ /dev/null @@ -1,56 +0,0 @@ -(declare (uses paths)) - -(require-extension sqlite3) -(require-library posix srfi-4) - -(: string-no-null (string -> string)) -(define (string-no-null str) - (if (and (> (string-length str) 0) - (char=? (string-ref str (- (string-length str) 1)) #\nul)) - (substring str 0 (- (string-length str) 1)) - str)) - -(: print-row (string fixnum string string -> void)) -(define (print-row url seconds name description) - (format #t "~a~% ~a~% ~a~% ~a~%~%" (string-no-null name) (string-no-null description) - (string-no-null url) (seconds->string seconds))) - -(define (add-tag db name) - (execute db "INSERT INTO tag VALUES (?)" name) - (last-insert-rowid db)) - -(define (add-bookmark db url name description tags) - (execute db "INSERT INTO bookmark VALUES (?, STRFTIME('%s'), ?, ?)" - url name description) - (let ((bookmark-id (last-insert-rowid db))) - (for-each (lambda (tag) - (let ((tag-id '())) - (condition-case - (set! tag-id (first-result db "SELECT rowid FROM tag WHERE name = ?" tag)) - (exn (exn sqlite3) - (if (eq? (get-condition-property exn 'sqlite3 'status) 'done) - (set! tag-id (add-tag db tag)) - (signal exn)))) - (execute db "INSERT INTO bookmark_tag VALUES (?, ?)" - bookmark-id tag-id))) - tags))) - -(define (url-string? str) - (and (> (string-length str) 7) - (or (string= (substring str 0 7) "http://") - (string= (substring str 0 8) "https://")))) - -(define (main args) - (let ((db (open-database (data-file "linkwave.db")))) - (if (null? args) - (for-each-row print-row db "select * from bookmark") - (cond - ((url-string? (car args)) - (with-transaction - db (lambda () (add-bookmark db (car args) (cadr args) (caddr args) (cdddr args)) #t))) - (else - (format #t "Unrecognized option: ~a~%" (car args))))) - - (finalize! db #t))) - -(main (command-line-arguments)) -- cgit v1.3-2-g0d8e