Skip to content
Snippets Groups Projects
Commit bef01341 authored by Floreal Cabanettes's avatar Floreal Cabanettes
Browse files

Make applications.properties genric and set it as example, Fixed #30

parent 3a7bb4fb
No related branches found
No related tags found
No related merge requests found
*/__pycache__
.idea
srv/database.sqlite
application.properties
[global]
upload_folder = /home/fcabanettes/public_html/tmp
data_folder = /home/fcabanettes/public_html/test
upload_folder = /tmp
data_folder = ###PROGRAM###/data
# batch system type: local, sge, slurm
batch_system_type = local
threads = 4
[softwares]
minimap2 = /home/fcabanettes/minimap2/minimap2
minimap2 = ###DEFAULT###
[database]
sqlite_file = /home/fcabanettes/dgenies/srv/database.sqlite
sqlite_file = ###PROGRAM###/srv/database.sqlite
......@@ -12,18 +12,27 @@ class AppConfigReader(object):
def __init__(self):
"""
"""
config_file = os.path.join(os.path.dirname(inspect.getfile(self.__class__)), self.CONFIG_FILE_PATH)
if not os.path.exists(config_file):
raise FileNotFoundError("ERROR: application.properties not found. Please copy the example file and check "
"properties are correct for you!")
self.reader = RawConfigParser()
self.reader.read(os.path.join(os.path.dirname(inspect.getfile(self.__class__)), self.CONFIG_FILE_PATH))
self.reader.read(config_file)
@staticmethod
def replace_vars(path):
return path.replace("###USER###", os.path.expanduser("~"))\
.replace("###PROGRAM###", os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
def get_upload_folder(self):
try:
return self.reader.get("global", "upload_folder")
return self.replace_vars(self.reader.get("global", "upload_folder"))
except NoOptionError:
raise Exception("No upload folder found in application.properties (global section)")
def get_app_data(self):
try:
return self.reader.get("global", "data_folder")
return self.replace_vars(self.reader.get("global", "data_folder"))
except NoOptionError:
raise Exception("No data folder found in application.properties (global section)")
......@@ -41,12 +50,13 @@ class AppConfigReader(object):
def get_minimap2_exec(self):
try:
return self.reader.get("softwares", "minimap2")
entry = self.reader.get("softwares", "minimap2")
return entry if entry != "###DEFAULT###" else "minimap2"
except NoOptionError:
return "minimap2"
def get_database(self):
try:
return self.reader.get("database", "sqlite_file")
return self.replace_vars(self.reader.get("database", "sqlite_file"))
except NoOptionError:
return ":memory:"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment