Changeset 15066 in project


Ignore:
Timestamp:
06/26/09 02:54:14 (11 years ago)
Author:
Ivan Raikov
Message:

make chicken-versions check that file actually exist before creating
links to them

File:
1 edited

Legend:

Unmodified
Added
Removed
  • maintenance/chicken-versions.scm

    r13282 r15066  
    88(define (safe-take l n)
    99  (if (< (length l) n)
    10       l
    11       (take l n)))
    12 
    13 
     10      l (take l n)))
    1411
    1512(let ((data (with-input-from-pipe
     
    2421                                (date (string-match  ".*/([0-9]{4}/[0-9]{2}/[0-9]{2})/.*" item))
    2522                                (date (cadr date)))
    26                                (cons version date)))
     23                       (cons version date)))
    2724                   data))
    2825             (versions (safe-take (sort (delete-duplicates (map car versions/dates)) version>?) 20))
     
    4542                               (version-string (version->string version))
    4643                               (date (cdr latest))
    47                                (link-to (lambda (file text)
    48                                           (if file
    49                                               (a 'href (string-append "http://chicken.wiki.br/dev-snapshots/"
    50                                                                       date "/" file) text)
    51                                               (b text)))))
    52                           (map link-to
    53                                `(#f "NEWS" "chicken.pdf" ,(source-tarball version-string) ,(linux-bin version-string))
    54                                `(,version-string "NEWS" "Manual (PDF)" "Source code" "Linux binary"))))
     44                               (local-dir (make-pathname snapshots-dir date))
     45                               (fexists? (lambda (file) (file-exists? (make-pathname local-dir file))))
     46                               (link-to  (lambda (file text)
     47                                           (if (and file (fexists? file))
     48                                               (a 'href (string-append "http://chicken.wiki.br/dev-snapshots/"
     49                                                                       date "/" file) text)
     50                                               (b text)))))
     51                          (filter-map link-to
     52                                      `(#f "NEWS" "chicken.pdf"
     53                                           ,(source-tarball version-string) ,(linux-bin version-string))
     54                                      `(,version-string "NEWS" "Manual (PDF)" "Source code" "Linux binary"))
     55                       
     56                        ))
    5557                      versions)))
    5658           (div 'style "padding-top: 40px;"
    5759                (ws:itemize
    58                  `(,(a 'href "http://chicken.wiki.br/binary-distributions" "How to install and use binary distributions of Chicken")
    59                    ,(a 'href "http://chicken.wiki.br/releases/" "Browse releases")))))
     60                 `(,(a 'href "http://chicken.wiki.br/binary-distributions"
     61                       "How to install and use binary distributions of Chicken")
     62                   ,(a 'href "http://chicken.wiki.br/releases/"
     63                       "Browse releases")))))
    6064          css-file: "http://galinha.ucpel.tche.br/common-css"
    6165          page-title: "Chicken development snapshots"
Note: See TracChangeset for help on using the changeset viewer.