Changeset 20760 for lang

Show
Ignore:
Timestamp:
10/05/08 11:58:26 (6 years ago)
Author:
kiyoka
Message:
 
Location:
lang/gauche/oldtype/trunk/tool/tdiary2oldtype
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/gauche/oldtype/trunk/tool/tdiary2oldtype/convertToOT.scm

    r20738 r20760  
    33(use srfi-1) 
    44(use util.list) 
     5(use rfc.uri) 
    56 
    67;; 
     
    1314    (string-append y "_" m "_" d))) 
    1415 
    15 (define (output-oldtype-file date entry-data) 
    16   (call-with-output-file (format "./out/xxxx.~a.ot" (convert-date date)) 
     16(define (output-oldtype-file username date entry-data) 
     17 
     18  (define (display-diary entry port) 
     19    (for-each 
     20     (lambda (lst) 
     21       (when (string? (car lst)) 
     22         (begin 
     23            (display (car lst) port) 
     24            (newline port) 
     25            (newline port)))) 
     26     entry)) 
     27 
     28  (define (display-comment entry port) 
     29    (let1 name (assq-ref entry 'Name:) 
     30          (for-each 
     31           (lambda (x) 
     32             (let1 str (car x) 
     33                   (when (string? str) 
     34                     (when (not (#/http:\/\// str)) 
     35                       (begin 
     36                         (display  (format "##(comment-data ~a ~a)" 
     37                                           (uri-encode-string name) 
     38                                           (uri-encode-string str)) 
     39                                   port) 
     40                         (newline port)))))) 
     41           entry))) 
     42 
     43  (call-with-output-file (format "./out/~a.~a.ot" username (convert-date date)) 
    1744    (lambda (port) 
    1845      port 
    19       (for-each 
    20        (lambda (entry) ;; entry is a diary or a comment. 
    21          (cond 
    22           ;; diary 
    23           ((assq-ref entry 'Title:) 
    24            (for-each 
    25             (lambda (lst) 
    26               (when (string? (car lst)) 
    27                 (begin 
    28                   (display (car lst) port) 
    29                   (newline port) 
    30                   (newline port)))) 
    31             entry) 
    32            (display "##(comment)" port) 
    33            (newline port)))) 
    34        entry-data)))) 
     46      (begin 
     47        (for-each 
     48         (lambda (entry) ;; entry is a diary or a comment. 
     49           (cond 
     50            ((assq-ref entry 'Title:) 
     51             ;; diary 
     52             (display-diary entry port)) 
     53            ;; comment 
     54            (else 
     55             (display-comment entry port)))) 
     56         entry-data) 
     57        (display "##(comment)" port) 
     58        (newline port))))) 
    3559 
    3660 
    37 ;; comment 
    3861 
    39  
    40 ;;          (else 
    41 ;;           #f) 
    42 ;;    
    43 ;;           (write (assq-ref entry 'Name:)) 
    44 ;;           (for-each 
    45 ;;            (lambda (lst) 
    46 ;;              (if (string? (car lst)) 
    47 ;;                  (print (car lst)))))))))))) 
    48  
    49  
    50 (define (save-oldtype-data diary-data comment-data) 
     62(define (save-oldtype-data username diary-data comment-data) 
    5163  (let1 h (make-hash-table 'string=?) 
    5264        ;; make hash data ( key is string of date , value is alist of diary or comment) 
     
    6274         h 
    6375         (lambda (k v) 
    64            (output-oldtype-file k v))))) 
     76           (output-oldtype-file username k (reverse v)))))) 
    6577 
    6678 
    6779(define (main argv) 
    68   (let ((diary-file     (cadr argv)) 
    69         (comment-file   (caddr argv))) 
     80  (let ((username       (cadr argv))          
     81        (diary-file     (caddr argv)) 
     82        (comment-file   (cadddr argv))) 
    7083    (let ((diary-data 
    7184           (call-with-input-file diary-file read)) 
     
    7386           (call-with-input-file comment-file read))) 
    7487      (save-oldtype-data 
     88       username 
    7589       diary-data 
    7690       comment-data)))) 
  • lang/gauche/oldtype/trunk/tool/tdiary2oldtype/tdiary2oldtype.sh

    r20736 r20760  
    1111 
    1212mkdir -p out 
    13 gosh ./convertToOT.scm td2.scm tdc.scm 
     13gosh ./convertToOT.scm ${USER} td2.scm tdc.scm