Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
configfiles = [
"./paperwork.conf",
os.path.expanduser("~/.paperwork.conf"),
("%s/paperwork.conf"
% (os.getenv("XDG_CONFIG_HOME",
os.path.expanduser("~/.config"))))
]
for self.__configfile in configfiles:
if os.access(self.__configfile, os.R_OK):
logger.info("Config file found: %s" % self.__configfile)
break
else:
logger.info("Config file not found. Will use '%s'"
% self.__configfile)
util.mkdir_p(os.path.dirname(self.__configfile))
"""
tessdata_files = glob.glob("/app/share/locale/*/*.traineddata")
if len(tessdata_files) <= 0:
return os.path.exists("/app")
localdir = os.path.expanduser("~/.local")
base_data_dir = os.getenv(
"XDG_DATA_HOME",
os.path.join(localdir, "share")
)
tessdatadir = os.path.join(base_data_dir, "paperwork", "tessdata")
logger.info("Assuming we are running in Flatpak."
" Building tessdata directory {} ...".format(tessdatadir))
util.rm_rf(tessdatadir)
util.mkdir_p(tessdatadir)
os.symlink("/app/share/tessdata/eng.traineddata",
os.path.join(tessdatadir, "eng.traineddata"))
os.symlink("/app/share/tessdata/osd.traineddata",
os.path.join(tessdatadir, "osd.traineddata"))
os.symlink("/app/share/tessdata/configs",
os.path.join(tessdatadir, "configs"))
os.symlink("/app/share/tessdata/tessconfigs",
os.path.join(tessdatadir, "tessconfigs"))
for tessdata in tessdata_files:
logger.info("{} found".format(tessdata))
os.symlink(tessdata, os.path.join(tessdatadir,
os.path.basename(tessdata)))
os.environ['TESSDATA_PREFIX'] = os.path.dirname(tessdatadir)
logger.info("Tessdata directory ready")
return True
.traineddata files from each locale directory
"""
tessdata_files = glob.glob("/app/share/locale/*/*.traineddata")
if len(tessdata_files) <= 0:
return os.path.exists("/app")
localdir = os.path.expanduser("~/.local")
base_data_dir = os.getenv(
"XDG_DATA_HOME",
os.path.join(localdir, "share")
)
tessdatadir = os.path.join(base_data_dir, "paperwork", "tessdata")
logger.info("Assuming we are running in Flatpak."
" Building tessdata directory {} ...".format(tessdatadir))
util.rm_rf(tessdatadir)
util.mkdir_p(tessdatadir)
os.symlink("/app/share/tessdata/eng.traineddata",
os.path.join(tessdatadir, "eng.traineddata"))
os.symlink("/app/share/tessdata/osd.traineddata",
os.path.join(tessdatadir, "osd.traineddata"))
os.symlink("/app/share/tessdata/configs",
os.path.join(tessdatadir, "configs"))
os.symlink("/app/share/tessdata/tessconfigs",
os.path.join(tessdatadir, "tessconfigs"))
for tessdata in tessdata_files:
logger.info("{} found".format(tessdata))
os.symlink(tessdata, os.path.join(tessdatadir,
os.path.basename(tessdata)))
os.environ['TESSDATA_PREFIX'] = os.path.dirname(tessdatadir)
logger.info("Tessdata directory ready")
file_path = self.__configfile
try:
with open(file_path, 'w') as file_descriptor:
self._configparser.write(file_descriptor)
logger.info("Done")
except IOError as e:
logger.warn(
"Cannot write to configuration file %s : %s"
% (self.__configfile, e.strerror)
)
return False
try:
# Windows support
util.hide_file(os.path.expanduser(os.path.join("~", ".config")))
except Exception as exc:
logger.warn("Failed to hide configuration file")
logger.exception(exc)
return True