Compare commits

..

No commits in common. "84064261c1cdf57340e52ebaac8870c20eb814b8" and "db0cbfe87f1fe43b2344a5a4279a8e5b3fbe6513" have entirely different histories.

3 changed files with 1 additions and 66 deletions

View file

@ -1,5 +1,3 @@
# python-lib-CBMF
This will become a collection of different python libs
It begins with a function for handling settings file.
This will become a collection of different python libs

View file

@ -1,3 +0,0 @@
from .main import HandleSettings
__version__ = "0.0.1"

View file

@ -1,60 +0,0 @@
import yaml
class HandleSettings:
def __init__(self, path):
self.file = path
def read_settings(self, entry_name):
"""Read a specific entry from the settings file."""
data = self._read_file()
if data != None and entry_name in data:
return data[entry_name]
else:
return None
def _read_file(self):
"""Read from the yaml file."""
try:
with open(self.file, "r") as file:
data = yaml.safe_load(file)
return data
except (FileNotFoundError, PermissionError) as e:
print(f"Error loading settings file: {e}")
return None
def save_settings(self, entry_name, datadict):
"""Save the settings file, update a desired section."""
data = self._read_file()
if data != None:
data[entry_name] = datadict
else:
data = dict()
data[entry_name] = datadict
task = self._write_file(data)
return task
def _write_file(self, data):
"""Write dict to yaml file."""
try:
with open(self.file, "w") as file:
yaml.dump(data, file)
return True
except PermissionError as e:
print(f"Error saving setings: {e}")
return False
def delete_entry(self, entry_name):
"""Deletes and specific entry from the entire settings file/dict."""
data = self._read_file()
if data != None and entry_name in data:
del data[entry_name]
self._write_file(data)
return True
else:
return False
def purge_settings(self):
"""Inserts an empty dict."""
task = self._write_file(dict())
return task