[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: address@hidden: image-dired (tumme) database file not existing]
From: |
Thien-Thi Nguyen |
Subject: |
Re: address@hidden: image-dired (tumme) database file not existing] |
Date: |
Thu, 19 Jul 2007 16:10:02 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux) |
() Dieter Wilhelm <address@hidden>
() Wed, 18 Jul 2007 17:39:34 +0200
image-dired-write-comments: Opening input file: no such file
or directory, /home/dieter/.emacs.d/image-dired/.image-dired_db
below is a quick patch (against the trunk).
here is a ChangeLog entry:
* image-dired.el (image-dired-sane-db-file): New func.
(image-dired-write-tags, image-dired-remove-tag)
(image-dired-list-tags, image-dired-write-comments)
(image-dired-get-comment, image-dired-mark-tagged-files)
(image-dired-create-gallery-lists): Call new func.
does this give good results?
thi
___________________________________________________
Index: image-dired.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/image-dired.el,v
retrieving revision 1.4
diff -c -r1.4 image-dired.el
*** image-dired.el 13 Jun 2007 00:05:24 -0000 1.4
--- image-dired.el 19 Jul 2007 14:00:33 -0000
***************
*** 869,879 ****
--- 869,896 ----
;;;###autoload
(defalias 'tumme 'image-dired-show-all-from-dir)
+ (defun image-dired-sane-db-file ()
+ "Check if `image-dired-db-file' exists.
+ If not, try to create it (including any parent directories).
+ Signal error if there are problems creating it."
+ (or (file-exists-p image-dired-db-file)
+ (let (dir buf)
+ (unless (file-directory-p (setq dir (file-name-directory
+ image-dired-db-file)))
+ (make-directory dir t))
+ (with-current-buffer (setq buf (create-file-buffer
+ image-dired-db-file))
+ (write-file image-dired-db-file))
+ (kill-buffer buf)
+ (file-exists-p image-dired-db-file))
+ (error "Could not create %s" image-dired-db-file)))
+
(defun image-dired-write-tags (file-tags)
"Write file tags to database.
Write each file and tag in FILE-TAGS to the database. FILE-TAGS
is an alist in the following form:
((FILE . TAG) ... )"
+ (image-dired-sane-db-file)
(let (end file tag)
(with-temp-file image-dired-db-file
(insert-file-contents image-dired-db-file)
***************
*** 893,898 ****
--- 910,916 ----
(defun image-dired-remove-tag (files tag)
"For all FILES, remove TAG from the image database."
+ (image-dired-sane-db-file)
(save-excursion
(let (end buf start)
(setq buf (find-file image-dired-db-file))
***************
*** 927,932 ****
--- 945,951 ----
(defun image-dired-list-tags (file)
"Read all tags for image FILE from the image database."
+ (image-dired-sane-db-file)
(save-excursion
(let (end buf (tags ""))
(setq buf (find-file image-dired-db-file))
***************
*** 2038,2043 ****
--- 2057,2063 ----
Write file comments to one or more files. FILE-COMMENTS is an alist on
the following form:
((FILE . COMMENT) ... )"
+ (image-dired-sane-db-file)
(let (end comment-beg-pos comment-end-pos file comment)
(with-temp-file image-dired-db-file
(insert-file-contents image-dired-db-file)
***************
*** 2108,2113 ****
--- 2128,2134 ----
(defun image-dired-get-comment (file)
"Get comment for file FILE."
+ (image-dired-sane-db-file)
(save-excursion
(let (end buf comment-beg-pos comment-end-pos comment)
(setq buf (find-file image-dired-db-file))
***************
*** 2136,2141 ****
--- 2157,2163 ----
on all image files in the database file. The files that have a
matching tags will be marked in the dired buffer."
(interactive)
+ (image-dired-sane-db-file)
(let ((tag (read-string "Mark tagged files (regexp): "))
(hits 0)
files buf)
***************
*** 2300,2305 ****
--- 2322,2328 ----
(defun image-dired-create-gallery-lists ()
"Create temporary lists used by `image-dired-gallery-generate'."
+ (image-dired-sane-db-file)
(let ((buf (find-file image-dired-db-file))
end beg file row-tags)
(setq image-dired-tag-file-list nil)
Re: address@hidden: image-dired (tumme) database file not existing], Mathias Dahl, 2007/07/21