From bf35e5ff2f6b78bc9b9fe9d85fe91dc00212dbd7 Mon Sep 17 00:00:00 2001 From: Joshua Kramer Date: Sun, 21 Jan 2018 16:40:05 -0500 Subject: [PATCH 1/5] Periodic commit --- paperwork_backend/config.py | 5 +++++ paperwork_backend/docsearch.py | 27 +++++++++++++++++---------- paperwork_backend/shell.py | 2 +- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/paperwork_backend/config.py b/paperwork_backend/config.py index cf4988d..beb28ac 100644 --- a/paperwork_backend/config.py +++ b/paperwork_backend/config.py @@ -121,6 +121,8 @@ def get_default_ocr_lang(): return lang.terminology return DEFAULT_OCR_LANG +def get_default_iiw(): + return False class PaperworkConfig(object): """ @@ -139,6 +141,9 @@ def __init__(self): 'ocr_lang': PaperworkSetting( "OCR", "Lang", get_default_ocr_lang ), + 'index_in_workdir': PaperworkSetting( + "Global", "index_in_workdir", get_default_iiw + ), } self._configparser = None diff --git a/paperwork_backend/docsearch.py b/paperwork_backend/docsearch.py index 50938de..4b6f4ae 100644 --- a/paperwork_backend/docsearch.py +++ b/paperwork_backend/docsearch.py @@ -252,7 +252,7 @@ class DocSearch(object): LABEL_STEP_UPDATING = "label updating" LABEL_STEP_DESTROYING = "label deletion" - def __init__(self, rootdir, indexdir=None, language=None, + def __init__(self, rootdir, indexdir=None, index_in_workdir=None, language=None, use_default_index_client=True): """ Index files in rootdir (see constructor) @@ -264,16 +264,22 @@ def __init__(self, rootdir, indexdir=None, language=None, self.fs = fs.GioFileSystem() self.rootdir = self.fs.safe(rootdir) - localdir = os.path.expanduser("~/.local") - if indexdir is None: - base_data_dir = os.getenv( - "XDG_DATA_HOME", - os.path.join(localdir, "share") - ) - indexdir = os.path.join(base_data_dir, "paperwork") - - indexdir = os.path.join(indexdir, "index") + + if self.rootdir is not None and index_in_workdir.lower() == 'true': + base_data_dir = self.rootdir + localdir = base_data_dir + + else: + + if indexdir is None: + base_data_dir = os.getenv( + "XDG_DATA_HOME", + os.path.join(localdir, "share") + ) + indexdir = os.path.join(base_data_dir, "paperwork") + + indexdir = os.path.join(base_data_dir, "index") label_guesser_dir = os.path.join(indexdir, "label_guessing") self.index.open(localdir, base_data_dir, indexdir, label_guesser_dir, rootdir, language=language) @@ -351,6 +357,7 @@ def get_doc_from_docid(self, docid, doc_type_name=None, inst=True): def find_documents(self, sentence, limit=None, must_sort=True, search_type='fuzzy'): + return self.index.find_documents(sentence, limit=limit, must_sort=must_sort, search_type=search_type) diff --git a/paperwork_backend/shell.py b/paperwork_backend/shell.py index 072e4ab..4c95c33 100644 --- a/paperwork_backend/shell.py +++ b/paperwork_backend/shell.py @@ -50,7 +50,7 @@ def get_docsearch(): verbose("Work directory: {}".format(pconfig.settings['workdir'].value)) - dsearch = docsearch.DocSearch(pconfig.settings['workdir'].value) + dsearch = docsearch.DocSearch(pconfig.settings['workdir'].value, index_in_workdir = pconfig.settings['index_in_workdir'].value) dsearch.reload_index() return dsearch From 927d579d10c6b8d28bb1a43ccd5798c2e2df3a70 Mon Sep 17 00:00:00 2001 From: Joshua Kramer Date: Sun, 28 Jan 2018 14:50:02 -0500 Subject: [PATCH 2/5] Per the following post I modified the DocSearch class to use the correct path name. https://groups.google.com/forum/#!topic/paperwork-gui/uEqDyXAjAls --- paperwork_backend/docsearch.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/paperwork_backend/docsearch.py b/paperwork_backend/docsearch.py index 4b6f4ae..7e3c6ca 100644 --- a/paperwork_backend/docsearch.py +++ b/paperwork_backend/docsearch.py @@ -263,13 +263,14 @@ def __init__(self, rootdir, indexdir=None, index_in_workdir=None, language=None, self.index = PaperworkIndexClient() self.fs = fs.GioFileSystem() - self.rootdir = self.fs.safe(rootdir) + self.rootdir = self.fs.unsafe(rootdir) localdir = os.path.expanduser("~/.local") if self.rootdir is not None and index_in_workdir.lower() == 'true': base_data_dir = self.rootdir localdir = base_data_dir - + indexdir = os.path.join(base_data_dir, "index") + else: if indexdir is None: @@ -277,9 +278,8 @@ def __init__(self, rootdir, indexdir=None, index_in_workdir=None, language=None, "XDG_DATA_HOME", os.path.join(localdir, "share") ) - indexdir = os.path.join(base_data_dir, "paperwork") + indexdir = os.path.join(base_data_dir, "paperwork/index") - indexdir = os.path.join(base_data_dir, "index") label_guesser_dir = os.path.join(indexdir, "label_guessing") self.index.open(localdir, base_data_dir, indexdir, label_guesser_dir, rootdir, language=language) From 0ed9f667c8cb95cd31a132ed155570021c1afc72 Mon Sep 17 00:00:00 2001 From: Joshua Kramer Date: Sun, 4 Feb 2018 15:59:11 -0500 Subject: [PATCH 3/5] Changes as requested by Jerome Flesch --- paperwork_backend/config.py | 3 +-- paperwork_backend/docsearch.py | 29 ++++++++++++++--------------- paperwork_backend/shell.py | 2 +- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/paperwork_backend/config.py b/paperwork_backend/config.py index beb28ac..b5aba43 100644 --- a/paperwork_backend/config.py +++ b/paperwork_backend/config.py @@ -121,7 +121,6 @@ def get_default_ocr_lang(): return lang.terminology return DEFAULT_OCR_LANG -def get_default_iiw(): return False class PaperworkConfig(object): @@ -142,7 +141,7 @@ def __init__(self): "OCR", "Lang", get_default_ocr_lang ), 'index_in_workdir': PaperworkSetting( - "Global", "index_in_workdir", get_default_iiw + "Global", "index_in_workdir", lambda: False, paperwork_cfg_boolean ), } diff --git a/paperwork_backend/docsearch.py b/paperwork_backend/docsearch.py index 7e3c6ca..762926c 100644 --- a/paperwork_backend/docsearch.py +++ b/paperwork_backend/docsearch.py @@ -252,8 +252,8 @@ class DocSearch(object): LABEL_STEP_UPDATING = "label updating" LABEL_STEP_DESTROYING = "label deletion" - def __init__(self, rootdir, indexdir=None, index_in_workdir=None, language=None, - use_default_index_client=True): + def __init__(self, rootdir, indexdir=None, language=None, + use_default_index_client=True, index_in_workdir=False): """ Index files in rootdir (see constructor) """ @@ -263,22 +263,21 @@ def __init__(self, rootdir, indexdir=None, index_in_workdir=None, language=None, self.index = PaperworkIndexClient() self.fs = fs.GioFileSystem() - self.rootdir = self.fs.unsafe(rootdir) + self.rootdir = self.fs.safe(rootdir) localdir = os.path.expanduser("~/.local") - - if self.rootdir is not None and index_in_workdir.lower() == 'true': + + if index_in_workdir == True: + self.rootdir = self.fs.unsafe(rootdir) base_data_dir = self.rootdir localdir = base_data_dir - indexdir = os.path.join(base_data_dir, "index") - - else: - - if indexdir is None: - base_data_dir = os.getenv( - "XDG_DATA_HOME", - os.path.join(localdir, "share") - ) - indexdir = os.path.join(base_data_dir, "paperwork/index") + indexdir = os.path.join(base_data_dir, "index") + + elif indexdir is None: + base_data_dir = os.getenv( + "XDG_DATA_HOME", + os.path.join(localdir, "share") + ) + indexdir = os.path.join(base_data_dir, "paperwork/index") label_guesser_dir = os.path.join(indexdir, "label_guessing") self.index.open(localdir, base_data_dir, indexdir, label_guesser_dir, diff --git a/paperwork_backend/shell.py b/paperwork_backend/shell.py index 4c95c33..6bf0719 100644 --- a/paperwork_backend/shell.py +++ b/paperwork_backend/shell.py @@ -50,7 +50,7 @@ def get_docsearch(): verbose("Work directory: {}".format(pconfig.settings['workdir'].value)) - dsearch = docsearch.DocSearch(pconfig.settings['workdir'].value, index_in_workdir = pconfig.settings['index_in_workdir'].value) + dsearch = docsearch.DocSearch(pconfig.settings['workdir'].value, index_in_workdir=pconfig.settings['index_in_workdir'].value) dsearch.reload_index() return dsearch From dec7afb65eae97dbd863219421d00f91d099a73d Mon Sep 17 00:00:00 2001 From: Joshua Kramer Date: Sun, 18 Feb 2018 14:44:24 -0500 Subject: [PATCH 4/5] Modification per suggestion of Jerome Flesch --- paperwork_backend/docsearch.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/paperwork_backend/docsearch.py b/paperwork_backend/docsearch.py index 762926c..9c78512 100644 --- a/paperwork_backend/docsearch.py +++ b/paperwork_backend/docsearch.py @@ -266,9 +266,9 @@ def __init__(self, rootdir, indexdir=None, language=None, self.rootdir = self.fs.safe(rootdir) localdir = os.path.expanduser("~/.local") - if index_in_workdir == True: - self.rootdir = self.fs.unsafe(rootdir) - base_data_dir = self.rootdir + if index_in_workdir: + #self.rootdir = self.fs.unsafe(rootdir) + base_data_dir = self.fs.unsafe(rootdir) localdir = base_data_dir indexdir = os.path.join(base_data_dir, "index") From 3bf15b7801259f29648f2fef35bed5850f36b3bc Mon Sep 17 00:00:00 2001 From: Joshua Kramer Date: Sun, 18 Feb 2018 14:51:37 -0500 Subject: [PATCH 5/5] . --- paperwork_backend/docsearch.py | 1 - 1 file changed, 1 deletion(-) diff --git a/paperwork_backend/docsearch.py b/paperwork_backend/docsearch.py index 9c78512..4565adc 100644 --- a/paperwork_backend/docsearch.py +++ b/paperwork_backend/docsearch.py @@ -267,7 +267,6 @@ def __init__(self, rootdir, indexdir=None, language=None, localdir = os.path.expanduser("~/.local") if index_in_workdir: - #self.rootdir = self.fs.unsafe(rootdir) base_data_dir = self.fs.unsafe(rootdir) localdir = base_data_dir indexdir = os.path.join(base_data_dir, "index")