Changeset 15731 in project


Ignore:
Timestamp:
09/04/09 07:14:54 (10 years ago)
Author:
Ivan Raikov
Message:

neuromorpho version 1.5

Location:
release/4/neuromorpho
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/neuromorpho/neuromorpho.scm

    r14651 r15731  
    7070       'arguments args)
    7171    (make-property-condition 'http-fetch))) )
     72
     73
    7274
    7375(define (make-HTTP-GET/1.1 location user-agent host
     
    298300                       "download morphology files (Original, Standard or None, default is standard)"
    299301                       (morphology-file (string->symbol (string-upcase arg))))
    300     ,(args:make-option (fm)       (required: "NAME1=VALUE1[,NAME2=VALUE2 ...]")   
     302    ,(args:make-option (fm)       (required: "NAME1=REGEXP1[,NAME2!=REGEXP2 ...]")   
    301303                       "filter pages based on metadata"
    302                        (meta-filter (map (lambda (x) (map string-trim-both (string-split x "=")))
    303                                          (string-split arg ","))))
     304                       (meta-filter
     305                        (map
     306                         (lambda (x)
     307                           (match (string-split x "!=")
     308                                  ((n v) `(!= . ,(map string-trim-both (list n v))))
     309                                  (else
     310                                   (match (string-split x "=")
     311                                    ((n v ) `(= . ,(map string-trim-both (list n v))))
     312                                    (else   `(= ,(string-trim-both x) ""))))))
     313                         (string-split arg ","))))
    304314    ,(args:make-option (pm)       #:none
    305315                       "print metadata"
     
    353363          (meta-filtered-list
    354364           (if (and (meta-filter) (pair? (meta-filter)))
    355                (let ((ks  (map car (meta-filter)))
    356                      (rxs (map (lambda (str) (regexp str #t))
    357                                (map (lambda (x) (or (and (pair? (cdr x)) (cadr x)) "")) (meta-filter)))))
     365               (let ((ops (map first (meta-filter)))
     366                     (ks  (map second (meta-filter)))
     367                     (rxs (map (lambda (x) (regexp (third str) #t))
     368                               (meta-filter))))
    358369                 (filter (lambda (x)
    359370                           (let ((detail  (alist-ref 'detail (cdr x))))
    360                              (every (lambda (k rx)
    361                                       (let ((propval (alist-ref k detail string-ci=?)))
    362                                         (string-match rx (or (and (string? propval) propval) ""))))
    363                                     ks rxs)))
     371                             (every (lambda (op k rx)
     372                                      (let* ((propval (alist-ref k detail string-ci=?))
     373                                             (propval (or (and (string? propval) propval) ""))
     374                                             (m       (string-match rx propval)))
     375                                        (case op
     376                                          ((=)   m)
     377                                          ((!=)  (not m))
     378                                          (else  m))))
     379                                    ops ks rxs)))
    364380                         data-list))
    365381               data-list)))
  • release/4/neuromorpho/neuromorpho.setup

    r14651 r15731  
    1010
    1111  ; Assoc list with properties for the program:
    12   '((version 1.4)))
     12  '((version 1.5)))
    1313;    (documentation "neuromorpho.html")))
Note: See TracChangeset for help on using the changeset viewer.