core/source/logic/lib.py

62 lines
1.4 KiB
Python
Raw Normal View History

2022-11-29 23:53:14 +01:00
def file_read(path):
handle = open(path, "r")
content = handle.read()
handle.close()
return content
def file_write(path, content):
handle = open(path, "w")
handle.write(content)
handle.close()
def string_coin(template, arguments):
result = template
for (key, value, ) in arguments.items():
result = result.replace("{{%s}}" % key, str(value))
2022-11-29 23:53:14 +01:00
return result
def get_current_timestamp():
return int(round(_time.time(), 0))
def dict_merge(core_dict, mantle_dict, recursive = False):
result_dict = {}
for current_dict in [core_dict, mantle_dict]:
for (key, value, ) in current_dict.items():
if (not (key in result_dict)):
result_dict[key] = value
else:
if (recursive and (type(result_dict[key]) == dict) and (type(value) == dict)):
result_dict[key] = dict_merge(result_dict[key], value)
elif (recursive and (type(result_dict[key]) == list) and (type(value) == list)):
result_dict[key] = (result_dict[key] + value)
else:
result_dict[key] = value
return result_dict
def env_get_language():
2022-12-05 08:16:29 +01:00
try:
env_lang = _os.environ.get("LANG")
locale = env_lang.split(".")[0]
language = locale.split("_")[0]
return language
except Exception as error:
return None
2022-11-29 23:53:14 +01:00
2023-03-03 14:13:08 +01:00
def shell_command(command):
result = _subprocess.run(
command,
capture_output = True
)
return {
"return_code": result.returncode,
"stdout": result.stdout.decode(),
"stderr": result.stderr.decode(),
}