aboutsummaryrefslogtreecommitdiffstats
path: root/src/convert.scm
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-12-29 02:54:58 +0100
committerGravatar Tom Willemsen2012-12-29 02:55:03 +0100
commitf379783d28e73b4613852fca58e0af3f8ea6ab87 (patch)
treeb727454593e654d56c1e2c75096b0e3a55fe7d27 /src/convert.scm
parent27bdb9bdd130a91ed5dff6c973e6ba862e44fd1b (diff)
downloadmarkam-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.scm39
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))