commit
6b53b41bc2
3 changed files with 93 additions and 0 deletions
@ -0,0 +1,12 @@ |
||||
# env_manager |
||||
|
||||
This script initializes a connection to an ArangoDB database and retrieves all documents from the 'enviroment' collection. |
||||
|
||||
## Installation |
||||
|
||||
Clone the repository and install the package: |
||||
|
||||
```sh |
||||
git clone https://github.com/yourusername/env_manager.git |
||||
cd env_manager |
||||
pip install . |
||||
@ -0,0 +1,65 @@ |
||||
""" |
||||
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) |
||||
Loading…
Reference in new issue