X-Git-Url: https://code.agnibho.com/repo?p=ddstorm.git;a=blobdiff_plain;f=conf.py;h=03ee5e8d4441a54ef2fb2f5f062312886d8245de;hp=c8a73c28468c57d2a3974f036f02c6bb9e3dcc0f;hb=HEAD;hpb=10abdec88c165ee893cd4b268c6bfdc1d7f3e6ef diff --git a/conf.py b/conf.py index c8a73c2..03ee5e8 100644 --- a/conf.py +++ b/conf.py @@ -25,7 +25,7 @@ along with DDStorm. If not, see . import os import logging -from const import * # Import constants +from const import * logging.basicConfig(filename=LOG_FILE) @@ -40,7 +40,7 @@ class Conf: function calls. ''' - conf={} #Initiates configuration dictionary + _conf={} def __init__(self, filename=CONF_FILE): ''' @@ -54,58 +54,70 @@ class Conf: def default(self): ''' Set the default values ''' - self.conf["library_path"]="./library/" - self.conf["custom_path"]="./custom/" - self.conf["index_path"]="./index/" - self.conf["alias_path"]="./alias/" - self.conf["module_path"]="./modules/" - self.conf["splash_screen"]="yes" - self.conf["clean_log"]="no" - self.conf["status_message"]="on" + self._conf["library_path"]="./library/" + self._conf["custom_path"]="./custom/" + self._conf["index_path"]="./index/" + self._conf["alias_path"]="./alias/" + self._conf["module_path"]="./modules/" + self._conf["splash_screen"]="yes" + self._conf["clean_log"]="no" + self._conf["status_message"]="on" def read(self): ''' Read the configuration file and collect the values ''' - if(os.path.isfile(self.filename)): # If file is actually present + # If file is actually present + if(os.path.isfile(self.filename)): try: - with open(self.filename) as f: # Open file + with open(self.filename) as f: for line in f: - line="".join(line.split()) # Removes any stray whitespaces - if(line.startswith("#")): # Ignores comments + # Removes any stray whitespaces + line="".join(line.split()) + # Ignores comments starting with # + if(line.startswith("#")): pass - elif(line.startswith("library_path=")): # Library files path - self.conf["library_path"]=line[13:] - if(os.path.isdir(self.conf["library_path"])): - if(not self.conf["library_path"].endswith("/")): - self.conf["library_path"]+="/" - elif(line.startswith("custom_path=")): # Custom files path - self.conf["custom_path"]=line[12:] - if(os.path.isdir(self.conf["custom_path"])): - if(not self.conf["custom_path"].endswith("/")): - self.conf["custom_path"]+="/" - elif(line.startswith("index_path=")): # Index files path - self.conf["index_path"]=line[11:] - if(os.path.isdir(self.conf["index_path"])): - if(not self.conf["index_path"].endswith("/")): - self.conf["index_path"]+="/" - elif(line.startswith("alias_path=")): # Alias files path - self.conf["alias_path"]=line[11:] - if(os.path.isdir(self.conf["alias_path"])): - if(not self.conf["alias_path"].endswith("/")): - self.conf["alias_path"]+="/" - elif(line.startswith("module_path=")): # Path to save compiled modules - self.conf["module_path"]=line[12:] - if(os.path.isdir(self.conf["module_path"])): - if(not self.conf["module_path"].endswith("/")): - self.conf["module_path"]+="/" - elif(line.startswith("splash_screen=")): # Whether to show a splash screen - self.conf["splash_screen"]=line[14:] - elif(line.startswith("clean_log=")): # Whether to clean logs before exit - self.conf["clean_log"]=line[10:] - elif(line.startswith("status_message=")): # Whether to show status messages - self.conf["status_message"]=line[15:] + # Library path + elif(line.startswith("library_path=")): + self._conf["library_path"]=line[13:] + if(os.path.isdir(self._conf["library_path"])): + if(not self._conf["library_path"].endswith("/")): + self._conf["library_path"]+="/" + # Custom path + elif(line.startswith("custom_path=")): + self._conf["custom_path"]=line[12:] + if(os.path.isdir(self._conf["custom_path"])): + if(not self._conf["custom_path"].endswith("/")): + self._conf["custom_path"]+="/" + # Index path + elif(line.startswith("index_path=")): + self._conf["index_path"]=line[11:] + if(os.path.isdir(self._conf["index_path"])): + if(not self._conf["index_path"].endswith("/")): + self._conf["index_path"]+="/" + # Alias path + elif(line.startswith("alias_path=")): + self._conf["alias_path"]=line[11:] + if(os.path.isdir(self._conf["alias_path"])): + if(not self._conf["alias_path"].endswith("/")): + self._conf["alias_path"]+="/" + # Module path + elif(line.startswith("module_path=")): + self._conf["module_path"]=line[12:] + if(os.path.isdir(self._conf["module_path"])): + if(not self._conf["module_path"].endswith("/")): + self._conf["module_path"]+="/" + # Splash screen + elif(line.startswith("splash_screen=")): + self._conf["splash_screen"]=line[14:] + # Clean log + elif(line.startswith("clean_log=")): + self._conf["clean_log"]=line[10:] + # Status message + elif(line.startswith("status_message=")): + self._conf["status_message"]=line[15:] + # Unknown option else: - logging.warning("Unrecognized configuration: "+line) # Log a warning if unrecognized option found - except: # Go with default if file could not be read and log an error + logging.warning("Unrecognized configuration: "+line) + except: logging.error("Configuration file "+self.filename+" could not be read. Using default configurations.") def get(self, key=False): @@ -121,9 +133,9 @@ class Conf: Dictionary containing all options if key not specified ''' if(key): - return self.conf[key] + return self._conf[key] else: - return self.conf + return self._conf def set(self, key, value): ''' @@ -133,13 +145,13 @@ class Conf: key - configuration item name value - the value to set the configuration item to ''' - self.conf[key]=value + self._conf[key]=value def write(self): ''' Write configurations to file ''' with open(CONF_FILE, "w") as f: - for k in self.conf: - print(k+"="+self.conf[k], file=f) + for k in self._conf: + print(k+"="+self._conf[k], file=f) #If invoked directly, prints a list of available configurations if(__name__=="__main__"):