[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/scanner b683e19 05/17: correct handling of existing fil
From: |
Stefan Monnier |
Subject: |
[elpa] externals/scanner b683e19 05/17: correct handling of existing files |
Date: |
Mon, 14 Dec 2020 18:34:42 -0500 (EST) |
branch: externals/scanner
commit b683e19cc0ab1896e50139bccca2b2a127c23712
Author: Raffael Stocker <r.stocker@mnet-mail.de>
Commit: Raffael Stocker <r.stocker@mnet-mail.de>
correct handling of existing files
* scanner.el (scanner--confirm-filenames): new function
(scanner-scan-document): use scanner--confirm-filenames
(scanner-scan-image): use scanner--confirm-filenames
---
scanner.el | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
diff --git a/scanner.el b/scanner.el
index 9cd54c8..895a90e 100644
--- a/scanner.el
+++ b/scanner.el
@@ -381,6 +381,23 @@ MSG is a format string, with ARGS passed to ‘format’."
(get-buffer-create "*Scanner*"))
+
+(defun scanner--confirm-filenames (file &optional formats)
+ "Confirm that FILE using the provided list of FORMATS may be overwritten.
+If no formats are provided, FILE is used as-is.
+Confirmation is positive (‘t’) either when the files do not exist or
+the user allows overwriting all of them. Otherwise it is nil."
+ (cl-flet ((confirm
+ (filename)
+ (or (not (file-exists-p filename))
+ (y-or-n-p (format "File ‘%s’ exists;
overwrite? " filename)))))
+ (if (consp formats)
+ (and (confirm (concat (file-name-sans-extension file) "." (car
formats)))
+ (if (cdr formats)
+ (scanner--confirm-filenames file (cdr formats))
+ t))
+ (confirm file))))
+
;;;; commands
;;;###autoload
(defun scanner-select-papersize (size)
@@ -523,12 +540,8 @@ available, ask for a selection interactively."
(and file-list (dolist (file file-list)
(delete-file
file)))
(and fl-file (delete-file fl-file))))
- (if (and (file-exists-p filename)
- (not (y-or-n-p (format "File ‘%s’ exists; overwrite?"
-
filename))))
- nil
- (scanner--log "Scanning document to file(s) \"%s.*\""
- (concat doc-file))
+ (when (scanner--confirm-filenames doc-file scanner-tesseract-outputs)
+ (scanner--log "Scanning document to file(s) \"%s.*\"" doc-file)
(scanimage)))))
;;;###autoload
@@ -586,10 +599,7 @@ available, ask for a selection interactively."
:image
switches
img-fmt)))
- (if (and (file-exists-p img-file)
- (not (y-or-n-p (format
"File ‘%s’ exists; overwrite?"
-
img-file))))
- nil
+ (when (scanner--confirm-filenames img-file)
(scanner--log "Scanning image to file
\"%s\"" img-file)
(scanner--log (format "scanimage
arguments: %s"
scanimage-args))
- [elpa] externals/scanner updated (cbfd2bb -> b96d3d1), Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 1495d30 04/17: add time stamps when logging and log program arguments, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner f76603c 03/17: ask for confirmation before overwriting existing files, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner b683e19 05/17: correct handling of existing files,
Stefan Monnier <=
- [elpa] externals/scanner a43ce69 01/17: Update scanner.el, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 072222a 06/17: improve doc-string in scanner--confirm-filenames, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner e199957 07/17: add file-local variables for tab configuration, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 7d5cd5c 02/17: correct Readme.org markup (=...= instead of ~...~), Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 2101ca0 08/17: handle undefined options and tesseract config directory gracefully, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 22ead30 15/17: correct handling of empty TESSDATA_PREFIX env variable, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 5c8f04b 09/17: add --tessdata-dir option to scanner--tesseract-args, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 52bb719 14/17: fix handling of tessdata directory, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner ff513b0 10/17: add image size selection function and order menu more logically, Stefan Monnier, 2020/12/14
- [elpa] externals/scanner 1439335 16/17: update documentation, Stefan Monnier, 2020/12/14