(defun iphoto-dir-format-time-range-as-album-dir (range year month day)
(let ((time-min (decode-time (car range)))
(time-max (decode-time (cdr range))))
- (format "%s_%s"
+ (format "%s-%s"
(if (and (= (nth 3 time-min) day)
(= (nth 4 time-min) month)
(= (nth 5 time-min) year))
- (format "%02d-%02d-%02d"
+ (format "%02dh%02dm%02ds"
(nth 2 time-min)
(nth 1 time-min)
(nth 0 time-min))
- (format "%d-%02d-%02d-%02d-%02d-%02d"
+ (format "%d-%02d-%02d-%02dh%02dm%02ds"
(nth 5 time-min)
(nth 4 time-min)
(nth 3 time-min)
(if (and (= (nth 3 time-max) day)
(= (nth 4 time-max) month)
(= (nth 5 time-max) year))
- (format "%02d-%02d-%02d"
+ (format "%02dh%02dm%02ds"
(nth 2 time-max)
(nth 1 time-max)
(nth 0 time-max))
- (format "%d-%02d-%02d-%02d-%02d-%02d"
+ (format "%d-%02d-%02d-%02dh%02dm%02ds"
(nth 5 time-max)
(nth 4 time-max)
(nth 3 time-max)
(mapconcat
(lambda (time)
(mapconcat #'identity
- (split-string time "-")
+ (nbutlast
+ (split-string time "[hms]"))
":"))
- (split-string a-dir-n "_")
+ (split-string a-dir-n "-")
"\e$B!A\e(B")))
- (cons 'files
- (directory-files dir nil nil nil t))
+ ;; (cons 'files
+ ;; (directory-files dir nil nil nil t))
(cons 'exit (concat album-url-prefix album-name)))))
(write-region (point-min)(point-max)
(expand-file-name "dir.desc" album-dir)))
- (unless (file-exists-p album-dir-original)
- (make-directory album-dir-original 'parents))
(dolist (file (directory-files
(expand-file-name
(file-name-nondirectory dir)
(format "~/Pictures/iPhoto Library/Originals/%d/"
year))
'full nil 'no-sort t))
- (call-process "cp" nil nil nil
- "-al"
- file
- album-dir-original))
+ (cond
+ ((string= (downcase (file-name-extension file)) "jpg")
+ (unless (file-exists-p album-dir-original)
+ (make-directory album-dir-original 'parents))
+ (call-process "cp" nil nil nil
+ "-al"
+ file
+ album-dir-original)
+ )
+ (t
+ (call-process "cp" nil nil nil
+ "-al"
+ file
+ album-dir)
+ ))
+ )
(call-process "chgrp" nil nil nil
"-R" "www-data"
album-dir)