Changeset 15689 in project


Ignore:
Timestamp:
09/01/09 02:23:34 (10 years ago)
Author:
iraikov
Message:

converted sigma to using getopt-long

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/sigma/trunk/sigma.scm

    r15628 r15689  
    2525
    2626
    27 (import scheme chicken foreign)
     27(import foreign)
    2828
    2929(require-extension
    30  extras utils posix regex files data-structures ports
    31  srfi-1 srfi-13 matchable getopt-long uri-generic fmt
     30 regex data-structures posix files srfi-1 srfi-13 extras
     31 matchable getopt-long uri-generic fmt
    3232 utf8 sxml-transforms)
    3333
     
    102102    (g . "Default Gallery Title")
    103103    (y . 75)
     104    (n . 20)
    104105    (author .
    105106     ,(let ((user (getenv "USER")))
     
    135136        (value (required DIR)
    136137               (predicate ,directory?)
    137                (default ".")))
     138               (default ,(defopt 'd))))
    138139               
    139140    (f  "force thumbnail regeneration and scaled slides")
     
    141142    (g  ,(s+ "gallery title (default: " (defopt 'g) ")")
    142143        (value (required TITLE)
    143                (default "Default Gallery Title")))
     144               (default ,(defopt 'g))))
    144145
    145146    (k  "use the image captions for the HTML slide titles")
     147
     148    (n  "maximum thumbnails per index page"
     149        (value (required N)
     150               (default ,(defopt 'n))
     151               (predicate ,string->number)
     152               (transformer ,string->number)))
     153
    146154    (R  "recursively descend subdirectories")
    147155
     
    159167               (predicate ,string->number)
    160168               (transformer ,string->number)
    161                (default 75)))
     169               (default ,(defopt 'y))))
    162170
    163171    (ad  "like -a, but write only the image dimensions")
     
    167175                   "(default: " (defopt 'author) ")")
    168176              (value (required AUTHOR)
    169                      (default
    170                        ,(let ((user (getenv "USER")))
    171                           (if user (car (string-split
    172                                          (fifth (user-information user)) ","))
    173                               "")))))
     177                     (default  ,(defopt 'author))))
    174178
    175179    (con      "options to pass to convert"
     
    181185              (value (required DIR)
    182186                     (predicate ,directory?)
    183                      (default
    184                        ,(let ((home (getenv "HOME")))
    185                           (if home (s+ home dirsep "tmp")
    186                               (s+ dirsep "tmp"))))))
     187                     (default ,(defopt 'cd-dir))))
    187188
    188189    (cd-file  ,(s+ "name of CD image file if --gcd is not specified "
    189190                   "(default: " (defopt 'cd-file) ")")
    190191              (value (required FILE) 
    191                      (default "Photos")))
     192                     (default ,(defopt 'cd-file))))
    192193
    193194    (gcd       "like -g, but also sets CD image file name"
     
    200201                    "(default: " (defopt 'html-ext) ")")
    201202               (value (required SUFFIX)
    202                       (default "html")))
     203                      (default ,(defopt 'html-ext))))
    203204
    204205    (html-index  ,(s+ "name (without suffix) of the main thumbnail "
    205206                      "index file (default: " (defopt 'html-index) ")")   
    206207                 (value (required NAME)
    207                         (default "index")))
     208                        (default ,(defopt 'html-index))))
    208209                       
    209210    (html-hindex  ,(s+ "name (without suffix) of the highlights "
    210211                       "index file (default: " (defopt 'html-hindex) ")")   
    211212                  (value (required NAME)
    212                          (default "hindex")))
     213                         (default ,(defopt 'html-hindex))))
    213214
    214215    (in          "use image file names for the HTML slide files")
     
    216217                      "(default: " (defopt 'sp) ")")
    217218                 (value (required PREFIX)
    218                         (default ,slideprefix)))
     219                        (default ,(defopt 'sp))))
    219220
    220221    (top         "create index pages for directories that only contain subfolders")
     
    222223                      "(default: " (defopt 'tp) ")")
    223224                 (value (required PREFIX)
    224                         (default ,thumbprefix)))
     225                        (default ,(defopt 'tp))))
    225226
    226227    (up          "create Up links even in top-level image galleries")
     
    10951096                      (locate-and-copy-template SIGMA-DIR target-dir css-tmpl-file)
    10961097                      ;; create the index files with all the thumbnails
    1097                       (make-toplevel-index target-dir index-tmpl-file
    1098                                            (opt 'html-index) (opt 'html-ext) (opt 'g) (opt 'author) subfolders up)
     1098                      (make-toplevel-index
     1099                       target-dir index-tmpl-file
     1100                       (opt 'html-index) (opt 'html-ext)
     1101                       (or (opt 'gcd) (opt 'g))
     1102                       (opt 'author)
     1103                       subfolders up)
     1104
    10991105                      (done)))
    11001106                   (flst+captions
     
    11341140
    11351141                                  (let ((szlst  (read-image-sizes target-dir flst))
    1136                                         (hszlst (and (opt 'hls) (read-image-sizes target-dir hflst)))
     1142                                        (hszlst (and (or (opt 'hls) (opt 'hls-main))
     1143                                                     (read-image-sizes target-dir hflst)))
    11371144                                        (slst  (if (opt 'in)  ;; use image file names for slide html file names
    11381145                                                   (map (lambda (n) (pathname-replace-extension n (opt 'html-ext))) flst)
     
    11511158                                      (let ((slidetmpl   (with-input-from-file slide-tmpl-path read))
    11521159                                            (hindex      (s+ (opt 'html-hindex) "." (opt 'html-ext)))
    1153                                             (htitle      (list "Highlights of " '(br) (opt 'g))))
     1160                                            (htitle      (list "Highlights of " '(br) (or (opt 'gcd) (opt 'g)))))
    11541161                                        ;; create the individual slide show files
    11551162                                        (make-slides image-dir target-dir slidetmpl
    11561163                                                     (if (and (opt 'hls-main) (not (null? hflst))) hindex index)
    1157                                                      (opt 'g) flst captions slst (opt 'k) (opt 'x) (opt 'yslide)
     1164                                                     (or (opt 'gcd) (opt 'g)) flst captions slst
     1165                                                     (opt 'k) (opt 'x) (opt 'yslide)
    11581166                                                     (opt 'author))
    11591167                                       
    1160                                         (if (and (opt 'hls) (not (null? hflst)))
     1168                                        (if (and (or (opt 'hls) (opt 'hls-main)) (not (null? hflst)))
    11611169                                            ;; create the slide show files for the highlight images
    11621170                                            (make-slides image-dir target-dir slidetmpl
     
    11731181                                                 (make-index target-dir index-tmpl-file flst slst captions szlst
    11741182                                                             nfiles (opt 'n) (opt 'html-hindex) (opt 'html-ext)
    1175                                                              (opt 'g) (opt 'author)
     1183                                                             (or (opt 'gcd) (opt 'g)) (opt 'author)
    11761184                                                             subfolders (and up up-url)
    11771185                                                             `(("Highlights"
     
    11831191                                                                ,(s+ (opt 'html-hindex) "." (opt 'html-ext)))))))
    11841192
    1185                                               ((and (opt 'hls) (not (null? hflst)))
     1193                                              ((and (or (opt 'hls) (opt 'hls-main)) (not (null? hflst)))
    11861194                                               (let ((up-url (s+ ".." dirsep (opt 'html-index) "." (opt 'html-ext))))
    11871195                                                  ;; create the index files with all the thumbnails
    11881196                                                  (make-index target-dir index-tmpl-file flst slst captions szlst
    11891197                                                              nfiles (opt 'n) (opt 'html-index) (opt 'html-ext)
    1190                                                               (opt 'g) (opt 'author)
     1198                                                              (or (opt 'gcd) (opt 'g)) (opt 'author)
    11911199                                                              subfolders (and up up-url)
    11921200                                                              `(("Highlights"
     
    12001208                                                (make-index target-dir index-tmpl-file flst slst captions szlst
    12011209                                                              nfiles (opt 'n) (opt 'html-index) (opt 'html-ext)
    1202                                                               (opt 'g) (opt 'author) subfolders up )))
     1210                                                              (or (opt 'gcd) (opt 'g)) (opt 'author) subfolders up )))
    12031211
    12041212                                        ;; if --www was invoked make all images world-readable at the end
Note: See TracChangeset for help on using the changeset viewer.