;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Aug 2002
;;;;
-;;;; $Id: downloads.lisp,v 1.9 2003/06/06 21:59:30 kevin Exp $
+;;;; $Id$
;;;;
;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
;;;; (http://www.gnu.org/licenses/gpl.html)
;;;; *************************************************************************
-(in-package lml)
+(in-package #:lml)
(defvar *dl-base*)
(when (>= (length name) len-base-name)
(string= name *base-name* :end1 len-base-name :end2 len-base-name))))
+(defun match-base-name-latest? (name)
+ (let* ((latest (concatenate 'string *base-name* "-latest"))
+ (len-latest (length latest)))
+ (when (>= (length name) len-latest)
+ (string= name latest :end1 len-latest :end2 len-latest))))
+
(defun filter-against-base (files)
(delete-if-not #'(lambda (f) (match-base-name? (pathname-name f))) files))
+(defun filter-latest (files)
+ (delete-if #'(lambda (f) (match-base-name-latest? (pathname-name f))) files))
+
(defun sort-pathnames (list)
(sort list #'(lambda (a b) (string< (namestring a) (namestring b)))))
(defun display-one-section (title pat)
- (let ((files (sort-pathnames (filter-against-base (directory pat)))))
+ (let ((files (sort-pathnames (filter-latest
+ (filter-against-base (directory pat))))))
(when files
(print-sect-title title)
(lml-princ "<div style=\"padding-left: 20pt;\">")