You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

65 lines
2.5 KiB

"""
env_manager.py
This script initializes a connection to an ArangoDB database and retrieves all documents from the 'enviroment' collection.
It attempts to load environment variables from a .env file to get the ArangoDB password. If the .env file is not found,
it prompts the user to input the password manually. It then connects to the ArangoDB instance using the provided credentials
and returns the first document from the 'enviroment' collection.
Modules:
os: Provides a way of using operating system dependent functionality.
arango: Provides a client for interacting with ArangoDB.
dotenv: Loads environment variables from a .env file.
Functions:
get_env: Initializes a connection to an ArangoDB database and retrieves the first document from the 'enviroment' collection.
Usage:
Run this script to connect to the ArangoDB database and print the first document from the 'enviroment' collection.
"""
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
def get_env():
"""
Initializes a connection to an ArangoDB database and retrieves all documents from the 'enviroment' collection.
This function attempts to load environment variables from a .env file to get the ArangoDB password. If the .env file
is not found, it prompts the user to input the password manually. It then connects to the ArangoDB instance using
the provided credentials and returns the first document from the 'enviroment' collection.
Returns:
dict: The first document from the 'enviroment' collection in the ArangoDB database.
Raises:
FileNotFoundError: If the .env file is not found.
KeyError: If the 'ARANGO_PWD_ENV_MANAGER' environment variable is not set.
"""
try:
load_dotenv(".env")
pwd = os.environ['ARANGO_PWD_ENV_MANAGER']
except FileNotFoundError:
print("No .env file found.")
pwd = input("Enter the ArangoDB password for the user 'env_manager': ")
host ="https://arango.lasseedfast.se"
username = "env_manager"
db='div'
# Initialize the database for ArangoDB.
db = ArangoClient(hosts=host).db(db, username=username, password=pwd)
return db.collection('enviroment').all().next()
env = get_env()
print(env)