Converting Python scripts to classes
This commit is contained in:
@@ -1,67 +1,87 @@
|
||||
import os, json
|
||||
from enums.PreferenceEnums import PrefenceEnums
|
||||
|
||||
# Location of the Cinnamon preference file since Cinnamon 5.4
|
||||
pref_location = os.path.expanduser("~") + \
|
||||
"/.config/cinnamon/spices/cinnamon-dynamic-wallpaper@TobiZog/cinnamon-dynamic-wallpaper@TobiZog.json"
|
||||
class Cinnamon_Pref_Handler:
|
||||
def __init__(self) -> None:
|
||||
# Location of the Cinnamon preference file since Cinnamon 5.4
|
||||
self.pref_location = os.path.expanduser("~") + \
|
||||
"/.config/cinnamon/spices/cinnamon-dynamic-wallpaper@TobiZog/cinnamon-dynamic-wallpaper@TobiZog.json"
|
||||
|
||||
|
||||
def write_to_preferences(parameter: PrefenceEnums, value: str):
|
||||
""" Write a preference value to the JSON file
|
||||
def write_to_preferences(self, parameter: PrefenceEnums, value: str):
|
||||
""" Write a preference value to the JSON file
|
||||
|
||||
Args:
|
||||
parameter (PrefenceEnums): Name of the parameter
|
||||
value (str): Value to write
|
||||
"""
|
||||
with open(pref_location, "r") as pref_file:
|
||||
pref_data = json.load(pref_file)
|
||||
|
||||
if parameter in pref_data:
|
||||
pref_data[parameter]["value"] = value
|
||||
else:
|
||||
pref_data[parameter] = {
|
||||
"type": "entry",
|
||||
"default": "",
|
||||
"description": "",
|
||||
"value": value
|
||||
}
|
||||
|
||||
with open(pref_location, "w") as pref_file:
|
||||
json.dump(pref_data, pref_file, separators=(',', ':'), indent=4)
|
||||
|
||||
|
||||
def read_str_from_preferences(parameter: PrefenceEnums) -> str:
|
||||
""" Read a value from the JSON file
|
||||
|
||||
Args:
|
||||
parameter (PrefenceEnums): Name of the parameter to get
|
||||
|
||||
Returns:
|
||||
str: Value of the parameter
|
||||
"""
|
||||
try:
|
||||
with open(pref_location, "r") as pref_file:
|
||||
Args:
|
||||
parameter (PrefenceEnums): Name of the parameter
|
||||
value (str): Value to write
|
||||
"""
|
||||
with open(self.pref_location, "r") as pref_file:
|
||||
pref_data = json.load(pref_file)
|
||||
except:
|
||||
return ""
|
||||
|
||||
if parameter in pref_data:
|
||||
return pref_data[parameter]["value"]
|
||||
else:
|
||||
return ""
|
||||
|
||||
def read_int_from_preferences(parameter: PrefenceEnums) -> int:
|
||||
value = read_str_from_preferences(parameter)
|
||||
if parameter in pref_data:
|
||||
pref_data[parameter]["value"] = value
|
||||
else:
|
||||
pref_data[parameter] = {
|
||||
"type": "entry",
|
||||
"default": "",
|
||||
"description": "",
|
||||
"value": value
|
||||
}
|
||||
|
||||
if value == "":
|
||||
return 0
|
||||
else:
|
||||
return int(value)
|
||||
|
||||
def read_float_from_preferences(parameter: PrefenceEnums) -> float:
|
||||
value = read_str_from_preferences(parameter)
|
||||
with open(self.pref_location, "w") as pref_file:
|
||||
json.dump(pref_data, pref_file, separators=(',', ':'), indent=4)
|
||||
|
||||
if value == "":
|
||||
return 0.0
|
||||
else:
|
||||
return float(value)
|
||||
|
||||
def read_str_from_preferences(self, parameter: PrefenceEnums) -> str:
|
||||
""" Read a value from the JSON file
|
||||
|
||||
Args:
|
||||
parameter (PrefenceEnums): Name of the parameter to get
|
||||
|
||||
Returns:
|
||||
str: Value of the parameter
|
||||
"""
|
||||
try:
|
||||
with open(self.pref_location, "r") as pref_file:
|
||||
pref_data = json.load(pref_file)
|
||||
except:
|
||||
return ""
|
||||
|
||||
if parameter in pref_data:
|
||||
return pref_data[parameter]["value"]
|
||||
else:
|
||||
return ""
|
||||
|
||||
|
||||
def read_int_from_preferences(self, parameter: PrefenceEnums) -> int:
|
||||
""" Read a value from the JSON file
|
||||
|
||||
Args:
|
||||
parameter (PrefenceEnums): Name of the parameter to get
|
||||
|
||||
Returns:
|
||||
str: Value of the parameter
|
||||
"""
|
||||
value = self.read_str_from_preferences(parameter)
|
||||
|
||||
if value == "":
|
||||
return 0
|
||||
else:
|
||||
return int(value)
|
||||
|
||||
|
||||
def read_float_from_preferences(self, parameter: PrefenceEnums) -> float:
|
||||
""" Read a value from the JSON file
|
||||
|
||||
Args:
|
||||
parameter (PrefenceEnums): Name of the parameter to get
|
||||
|
||||
Returns:
|
||||
str: Value of the parameter
|
||||
"""
|
||||
value = self.read_str_from_preferences(parameter)
|
||||
|
||||
if value == "":
|
||||
return 0.0
|
||||
else:
|
||||
return float(value)
|
||||
Reference in New Issue
Block a user