Skip to content
This repository was archived by the owner on Jun 14, 2018. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions paperwork_backend/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ def get_default_ocr_lang():
return lang.terminology
return DEFAULT_OCR_LANG

return False

class PaperworkConfig(object):
"""
Expand All @@ -139,6 +140,9 @@ def __init__(self):
'ocr_lang': PaperworkSetting(
"OCR", "Lang", get_default_ocr_lang
),
'index_in_workdir': PaperworkSetting(
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can make things a little bit simpler:

'index_in_workdir': PaperworkSetting(
    "Global", "index_in_workdir", lambda: False, paperwork_cfg_boolean
),

(see frontend:src/paperwork/frontend/util/config.py for examples)

paperwork_cfg_boolean will take care of converting for you the read value from the configuration to a boolean.

"Global", "index_in_workdir", lambda: False, paperwork_cfg_boolean
),
}

self._configparser = None
Expand Down
15 changes: 10 additions & 5 deletions paperwork_backend/docsearch.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ class DocSearch(object):
LABEL_STEP_DESTROYING = "label deletion"

def __init__(self, rootdir, indexdir=None, language=None,
use_default_index_client=True):
use_default_index_client=True, index_in_workdir=False):
"""
Index files in rootdir (see constructor)
"""
Expand All @@ -264,16 +264,20 @@ 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:

if index_in_workdir:
base_data_dir = self.fs.unsafe(rootdir)
localdir = base_data_dir
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")
indexdir = os.path.join(base_data_dir, "paperwork/index")

indexdir = os.path.join(indexdir, "index")
label_guesser_dir = os.path.join(indexdir, "label_guessing")
self.index.open(localdir, base_data_dir, indexdir, label_guesser_dir,
rootdir, language=language)
Expand Down Expand Up @@ -351,6 +355,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)
Expand Down
2 changes: 1 addition & 1 deletion paperwork_backend/shell.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down