emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/scanner 52bb719 14/17: fix handling of tessdata directo


From: Stefan Monnier
Subject: [elpa] externals/scanner 52bb719 14/17: fix handling of tessdata directory
Date: Mon, 14 Dec 2020 18:34:44 -0500 (EST)

branch: externals/scanner
commit 52bb7197d9e5dc4ea3651e85d7cb95535fd177e0
Author: Raffael Stocker <r.stocker@mnet-mail.de>
Commit: Raffael Stocker <r.stocker@mnet-mail.de>

    fix handling of tessdata directory
---
 scanner-test.el |  7 +++++--
 scanner.el      | 11 ++++++++---
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/scanner-test.el b/scanner-test.el
index a88d67c..c7a2bb6 100644
--- a/scanner-test.el
+++ b/scanner-test.el
@@ -141,6 +141,7 @@
        (scanner-tesseract-languages '("eng" "deu"))
        (scanner-tesseract-switches '("--opt1" "--opt2"))
        (scanner-tesseract-outputs '("out1" "out2"))
+       (scanner-tessdata-dir "/usr/share/tessdata/")
        (-compare-fn #'string=))
     (should (-is-infix-p '("-l" "eng+deu") (scanner--tesseract-args "infile"
                                                                    "outfile")))
@@ -149,13 +150,15 @@
                                                                     
"outfile"))))
     (let ((scanner--tesseract-v4 "1000"))
       (should-not (-is-infix-p '("--dpi" "300") (scanner--tesseract-args 
"infile"
-                                                                    
"outfile"))))
+                                                                        
"outfile"))))
     (should (-contains-p (scanner--tesseract-args "infile" "outfile") 
"--opt1"))
     (should (-contains-p (scanner--tesseract-args "infile" "outfile") 
"--opt2"))
     (should (-contains-p (scanner--tesseract-args "infile" "outfile") 
"infile"))
     (should (-contains-p (scanner--tesseract-args "infile" "outfile") 
"outfile"))
     (should (-contains-p (scanner--tesseract-args "infile" "outfile") "out1"))
-    (should (-contains-p (scanner--tesseract-args "infile" "outfile") 
"out2"))))
+    (should (-contains-p (scanner--tesseract-args "infile" "outfile") "out2"))
+    (should (-is-infix-p '("--tessdata-dir" "/usr/share/tessdata/")
+                        (scanner--tesseract-args "infile" "outfile")))))
 
 ;; Note: interactive commands are only tested for their non-interactive
 ;; behavior
diff --git a/scanner.el b/scanner.el
index b4cad60..c40107a 100644
--- a/scanner.el
+++ b/scanner.el
@@ -144,14 +144,19 @@ widget's values and the elements of SET."
       widget)))
 
 (defcustom scanner-tessdata-dir
-  (or (getenv "TESSDATA_PREFIX")
-         "/usr/share/")
+  (let ((prefix (directory-file-name
+                                (getenv "TESSDATA_PREFIX"))))
+       (if prefix
+               (if (string= (file-name-nondirectory prefix) "tessdata/")
+                       prefix
+                 (concat (file-name-as-directory prefix) "tessdata/"))
+         "/usr/share/tessdata/"))
   "Tesseract data directory prefix."
   :type '(string))
 
 (defcustom scanner-tesseract-configdir
   (if scanner-tessdata-dir
-         (concat (file-name-as-directory scanner-tessdata-dir) 
"tessdata/configs/")
+         (concat (file-name-as-directory scanner-tessdata-dir) "configs/")
        "/usr/share/tessdata/configs/")
   "Config file directory for tesseract."
   :type '(string))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]