- with open(self.filename) as f:
- for line in f:
- line="".join(line.split())
- if(line.startswith("#")):
- pass
- 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"]+="/"
- 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"]+="/"
- 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"]+="/"
- 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"]+="/"
- 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"]+="/"
- elif(line.startswith("splash_screen=")):
- self.conf["splash_screen"]=line[14:]
- elif(line.startswith("clean_log=")):
- self.conf["clean_log"]=line[10:]
- elif(line.startswith("status_message=")):
- self.conf["status_message"]=line[15:]
- else:
- logging.warning("Unrecognized configuration: "+line)
+ try:
+ with open(self.filename) as f:
+ for line in f:
+ # Removes any stray whitespaces
+ line="".join(line.split())
+ # Ignores comments starting with #
+ if(line.startswith("#")):
+ pass
+ # 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)
+ except:
+ logging.error("Configuration file "+self.filename+" could not be read. Using default configurations.")