Add backend support for settings
This commit is contained in:
@@ -34,14 +34,42 @@ def run_scripts(script_ids: list[int] | None = None):
|
||||
|
||||
def dump_script_to_file(script, filename):
|
||||
with open(filename, "w") as file:
|
||||
file.write("from dotenv import load_dotenv\nload_dotenv()\n")
|
||||
file.write(script.script_content)
|
||||
|
||||
|
||||
def execute_script(filename) -> subprocess.CompletedProcess:
|
||||
result = subprocess.run(["python", filename], capture_output=True, text=True)
|
||||
result = subprocess.run(
|
||||
["exec_folder/venv/bin/python", filename], capture_output=True, text=True
|
||||
)
|
||||
return result
|
||||
|
||||
|
||||
def update_requirements(settings):
|
||||
if settings is None:
|
||||
raise ValueError("No default settings found")
|
||||
|
||||
# create requirements.txt
|
||||
with open("exec_folder/requirements.txt", "w") as file:
|
||||
file.write("dotenv\n")
|
||||
file.write(settings.requirements)
|
||||
|
||||
# install requirements
|
||||
subprocess.run(
|
||||
["exec_folder/venv/bin/pip", "install", "-r", "exec_folder/requirements.txt"],
|
||||
check=True,
|
||||
)
|
||||
|
||||
|
||||
def update_environment(settings):
|
||||
if settings is None:
|
||||
raise ValueError("No default settings found")
|
||||
|
||||
# create .env file
|
||||
with open("exec_folder/.env", "w") as file:
|
||||
file.write(settings.environment)
|
||||
|
||||
|
||||
def delete_script(filename):
|
||||
try:
|
||||
os.remove(filename)
|
||||
|
||||
Reference in New Issue
Block a user