From 70a6682051ce4866298a0fc3b118e43f65bb3984 Mon Sep 17 00:00:00 2001 From: lasseedfast Date: Thu, 10 Oct 2024 11:45:24 +0200 Subject: [PATCH] Refactor code to handle missing .env file and set environment variable for ArangoDB password --- env_manager/env_manager.py | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/env_manager/env_manager.py b/env_manager/env_manager.py index cb00509..1201683 100644 --- a/env_manager/env_manager.py +++ b/env_manager/env_manager.py @@ -1,16 +1,6 @@ import os -try: - from arango import ArangoClient -except ModuleNotFoundError: - import subprocess - subprocess.run(["pip", "install", "python-arango"]) - from arango import ArangoClient -try: - from dotenv import load_dotenv -except ModuleNotFoundError: - import subprocess - subprocess.run(["pip", "install", "python-dotenv"]) - from dotenv import load_dotenv +from arango import ArangoClient +from dotenv import load_dotenv def get_env(): """ @@ -30,14 +20,17 @@ def get_env(): try: load_dotenv(".env") pwd = os.environ['ARANGO_PWD_ENV_MANAGER'] - except FileNotFoundError or KeyError: - print("No .env file found.") + except (FileNotFoundError, KeyError): + print("No .env file found or 'ARANGO_PWD_ENV_MANAGER' not set.") pwd = input("Enter the ArangoDB password for the user 'env_manager': ") with open(".env", "a+") as f: f.write(f"\nARANGO_PWD_ENV_MANAGER={pwd}") - host ="https://arango.lasseedfast.se" + load_dotenv(".env") # Reload the .env file to set the new environment variable + pwd = os.environ['ARANGO_PWD_ENV_MANAGER'] + + host = "https://arango.lasseedfast.se" username = "env_manager" - db='div' + db = 'div' # Initialize the database for ArangoDB. db = ArangoClient(hosts=host).db(db, username=username, password=pwd) @@ -49,7 +42,4 @@ def get_env(): continue os.environ[key] = str(value) - return env_doc - -# Retrieve and set environment variables -env = get_env() + return env_doc \ No newline at end of file