From 402d2421d92be0a3c6b6960f1eb7c605e384ff53 Mon Sep 17 00:00:00 2001 From: TEC Date: Sun, 11 Dec 2022 01:41:39 +0800 Subject: [PATCH] org-persist: Do not re-download url files on write * lisp/org-persist.el (org-persist-write:url): Since the url write function is called as part of `org-persist-write-all', it is worth adding a check to avoid re-downloading the file if a file already exists in the expected location. --- lisp/org-persist.el | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lisp/org-persist.el b/lisp/org-persist.el index fe339505c..30c5e17d4 100644 --- a/lisp/org-persist.el +++ b/lisp/org-persist.el @@ -662,12 +662,13 @@ COLLECTION is the plist holding data collection." (file-copy (org-file-name-concat org-persist-directory (format "%s-%s.%s" persist-file (md5 path) ext)))) - (unless (file-exists-p (file-name-directory file-copy)) - (make-directory (file-name-directory file-copy) t)) - (if (org--should-fetch-remote-resource-p path) - (url-copy-file path file-copy 'overwrite) - (error "The remote resource %S is considered unsafe, and will not be downloaded." - path)) + (unless (file-exists-p file-copy) + (unless (file-exists-p (file-name-directory file-copy)) + (make-directory (file-name-directory file-copy) t)) + (if (org--should-fetch-remote-resource-p path) + (url-copy-file path file-copy 'overwrite) + (error "The remote resource %S is considered unsafe, and will not be downloaded." + path))) (format "%s-%s.%s" persist-file (md5 path) ext))))) (defun org-persist-write:index (container _)