Unprivatize PDB._load_config and _save_config.

This commit is contained in:
voussoir 2018-03-17 17:07:30 -07:00
parent 941d50eae0
commit 87886a0a13

View file

@ -1132,7 +1132,7 @@ class PhotoDB(
# CONFIG # CONFIG
self.config_filepath = self.data_directory.with_child(constants.DEFAULT_CONFIGNAME) self.config_filepath = self.data_directory.with_child(constants.DEFAULT_CONFIGNAME)
self.config = self._load_config() self.config = self.load_config()
self.log.setLevel(self.config['log_level']) self.log.setLevel(self.config['log_level'])
# OTHER # OTHER
@ -1173,30 +1173,6 @@ class PhotoDB(
cur.execute(statement) cur.execute(statement)
self.sql.commit() self.sql.commit()
def _load_config(self):
config = copy.deepcopy(constants.DEFAULT_CONFIGURATION)
user_config_exists = self.config_filepath.is_file
needs_dump = False
if user_config_exists:
with open(self.config_filepath.absolute_path, 'r') as handle:
user_config = json.load(handle)
my_keys = helpers.recursive_dict_keys(config)
stored_keys = helpers.recursive_dict_keys(user_config)
needs_dump = not my_keys.issubset(stored_keys)
helpers.recursive_dict_update(target=config, supply=user_config)
else:
needs_dump = True
if needs_dump:
self._save_config()
self.config = config
return config
def _save_config(self):
with open(self.config_filepath.absolute_path, 'w') as handle:
handle.write(json.dumps(self.config, indent=4, sort_keys=True))
def __del__(self): def __del__(self):
self.close() self.close()
@ -1474,6 +1450,30 @@ class PhotoDB(
thing = thing_map['class'](self, db_row=thing) thing = thing_map['class'](self, db_row=thing)
yield thing yield thing
def load_config(self):
config = copy.deepcopy(constants.DEFAULT_CONFIGURATION)
user_config_exists = self.config_filepath.is_file
needs_dump = False
if user_config_exists:
with open(self.config_filepath.absolute_path, 'r') as handle:
user_config = json.load(handle)
my_keys = helpers.recursive_dict_keys(config)
stored_keys = helpers.recursive_dict_keys(user_config)
needs_dump = not my_keys.issubset(stored_keys)
helpers.recursive_dict_update(target=config, supply=user_config)
else:
needs_dump = True
if needs_dump:
self.save_config()
self.config = config
return config
def save_config(self):
with open(self.config_filepath.absolute_path, 'w') as handle:
handle.write(json.dumps(self.config, indent=4, sort_keys=True))
_THING_CLASSES = { _THING_CLASSES = {
'album': 'album':