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

main
lasseedfast 1 year ago
parent c823907436
commit 70a6682051
  1. 28
      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)
@ -50,6 +43,3 @@ def get_env():
os.environ[key] = str(value)
return env_doc
# Retrieve and set environment variables
env = get_env()

Loading…
Cancel
Save