diff options
| author | 2012-12-29 02:54:58 +0100 | |
|---|---|---|
| committer | 2012-12-29 02:55:03 +0100 | |
| commit | f379783d28e73b4613852fca58e0af3f8ea6ab87 (patch) | |
| tree | b727454593e654d56c1e2c75096b0e3a55fe7d27 /src/convert.scm | |
| parent | 27bdb9bdd130a91ed5dff6c973e6ba862e44fd1b (diff) | |
| download | markam-f379783d28e73b4613852fca58e0af3f8ea6ab87.tar.gz markam-f379783d28e73b4613852fca58e0af3f8ea6ab87.zip | |
Add version and help options to convert
Place the `version' and `display-version' items in `common.scm' so
they can be easily used by both executables.
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)) |
