parent
d903ce6182
commit
d246e0d5ae
1 changed files with 70 additions and 0 deletions
@ -0,0 +1,70 @@ |
||||
from arango import ArangoClient |
||||
from dotenv import load_dotenv |
||||
import os |
||||
|
||||
# Load environment variables from .env file |
||||
load_dotenv() # Install with pip install python-dotenv |
||||
|
||||
|
||||
class ArangoDB: |
||||
def __init__(self): |
||||
""" |
||||
Initializes an instance of the ArangoEVClass. |
||||
|
||||
Args: |
||||
db_name (str): The name of the database. |
||||
username (str): The username for authentication. |
||||
password (str): The password for authentication. |
||||
""" |
||||
password = os.getenv("PASSWORD_ARANGO") |
||||
self.client = ArangoClient(hosts='https://arango.lasseedfast.se') |
||||
self.db = self.client.db('ev_dataharvest', username='dataharvest', password=password) |
||||
|
||||
|
||||
def all_ev_speeches(self): |
||||
""" |
||||
Retrieves all speeches from the 'ev_speeches' collection. |
||||
|
||||
Returns: |
||||
A list of all speeches in the 'ev_speeches' collection. |
||||
""" |
||||
return list(self.db.collection('ev_speeches').all()) |
||||
|
||||
def update_ev_document(self, document): |
||||
""" |
||||
Updates an EV document in the 'ev_speeches' collection. |
||||
|
||||
Args: |
||||
document: The document to be updated. |
||||
|
||||
Returns: |
||||
None |
||||
""" |
||||
self.db.collection('ev_speeches').update(document, merge=False) |
||||
|
||||
def get_document_by_id(self, document_id): |
||||
""" |
||||
Retrieves a document from the 'ev_speeches' collection by its ID. |
||||
|
||||
Args: |
||||
document_id (str): The ID of the document to retrieve. |
||||
|
||||
Returns: |
||||
dict: The retrieved document. |
||||
|
||||
""" |
||||
if '/' in document_id: |
||||
document_id = document_id.split('/')[-1] |
||||
return self.db.collection('ev_speeches').get(document_id) |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
arango = ArangoDB() |
||||
|
||||
# Example usage |
||||
speeches = arango.all_ev_speeches() |
||||
print(type(speeches)) |
||||
for speech in speeches: |
||||
print(speech['_key']) # Print the id of the speech |
||||
print(speech.keys()) # Print the keys of the speech |
||||
exit() |
||||
Loading…
Reference in new issue