Refactor code to handle missing .env file and set environment variable for ArangoDB password

main
lasseedfast 1 year ago
parent c823907436
commit 70a6682051
  1. 30
      env_manager/env_manager.py

@ -1,16 +1,6 @@
import os import os
try: from arango import ArangoClient
from arango import ArangoClient from dotenv import load_dotenv
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
def get_env(): def get_env():
""" """
@ -30,14 +20,17 @@ def get_env():
try: try:
load_dotenv(".env") load_dotenv(".env")
pwd = os.environ['ARANGO_PWD_ENV_MANAGER'] pwd = os.environ['ARANGO_PWD_ENV_MANAGER']
except FileNotFoundError or KeyError: except (FileNotFoundError, KeyError):
print("No .env file found.") print("No .env file found or 'ARANGO_PWD_ENV_MANAGER' not set.")
pwd = input("Enter the ArangoDB password for the user 'env_manager': ") pwd = input("Enter the ArangoDB password for the user 'env_manager': ")
with open(".env", "a+") as f: with open(".env", "a+") as f:
f.write(f"\nARANGO_PWD_ENV_MANAGER={pwd}") 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" username = "env_manager"
db='div' db = 'div'
# Initialize the database for ArangoDB. # Initialize the database for ArangoDB.
db = ArangoClient(hosts=host).db(db, username=username, password=pwd) db = ArangoClient(hosts=host).db(db, username=username, password=pwd)
@ -49,7 +42,4 @@ def get_env():
continue continue
os.environ[key] = str(value) os.environ[key] = str(value)
return env_doc return env_doc
# Retrieve and set environment variables
env = get_env()
Loading…
Cancel
Save