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