diff options
Diffstat (limited to 'src/convert.scm')
| -rw-r--r-- | src/convert.scm | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/src/convert.scm b/src/convert.scm index 99f42b7..45e3101 100644 --- a/src/convert.scm +++ b/src/convert.scm @@ -22,7 +22,8 @@ ;;; Code: -(declare (uses paths)) +(declare (uses paths + common)) (require-extension sqlite3) (require-library srfi-4) @@ -78,6 +79,36 @@ (rename-file (data-file "nlinkwave.db") (data-file "linkwave.db")) (format #t "Database converted.~%"))) -(if (file-exists? "/home/slash/.local/share/linkwave/nlinkwave.db") - (format #t "Converted database already exists.~%") - (convert)) +(define (display-help) + ;; Display linkwave's help message. + (format #t (string-append + "Usage: convert [options]...~%" + "~%" + "Possible options:~%" + "~%" + "--help, -h Display this help and exit~%" + "--version, -v Output version information and exit~%"))) + +(define (main args) + ;; Convert an old database file unless a conversion database already + ;; exists. + (if (null? args) + (if (file-exists? (data-file "nlinkwave.db")) + (format #t (string-append "Conversion database already exists. " + "Something may have gone wrong during the last run~%")) + (convert)) + (do ((arg (car args) (and (not (null? args)) + (car args)))) + ((or (null? arg) (not arg))) + (cond + ((or (string= arg "-v") (string= arg "--version")) + (display-version) + (exit 0)) + ((or (string= arg "-h") (string= arg "--help")) + (display-help) + (exit 0)) + (else + (format #t "Unrecognized option: ~a~%" (car args)))) + (set! args (cdr args))))) + +(main (command-line-arguments)) |
