From de47d61796db91fc40506316737f82247d52b0c3 Mon Sep 17 00:00:00 2001 From: Oscar Esteban Date: Wed, 4 Jan 2023 12:17:03 +0100 Subject: [PATCH] wip --- src/api.py | 11 +++++++++-- src/run.py | 10 ++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/api.py b/src/api.py index 3eeafa7..1fc6d1b 100644 --- a/src/api.py +++ b/src/api.py @@ -24,6 +24,7 @@ import os import requests import datetime +from urllib.parse import quote_plus from pymongo import MongoClient ISSUES = { @@ -37,7 +38,7 @@ epoch = datetime.datetime.utcfromtimestamp(0) -def get_events(event_name, token=None, limit=None): +def get_events(event_name, token=None, limit=None, mongo_user=None, mongo_password=None): """Retrieve events.""" token = token or os.getenv("SENTRY_TOKEN", None) @@ -48,7 +49,13 @@ def get_events(event_name, token=None, limit=None): issue_id = ISSUES[event_name] # Initiate session - db_client = MongoClient() + db_client = ( + MongoClient() if mongo_password is None + else MongoClient( + f"mongodb+srv://{quote_plus(mongo_user)}:{quote_plus(mongo_password)}" + "@sentrybackup.sywajav.mongodb.net/?retryWrites=true&w=majority" + ) + ) db = db_client.fmriprep_stats url = f"https://sentry.io/api/0/issues/{issue_id}/events/?query=" counter = 0 diff --git a/src/run.py b/src/run.py index f68a652..a12cf64 100644 --- a/src/run.py +++ b/src/run.py @@ -32,12 +32,18 @@ def cli(): @cli.command() @click.option("-l", "--limit", type=click.IntRange(min=1), default=None) -def get(limit): +@click.option("--mongo-user", envvar="MONGO_USERNAME", type=str, default=None) +@click.password_option( + "--mongo-password", + envvar="MONGO_PASSWORD", + default=None, +) +def get(limit, mongo_password, mongo_user): from api import get_events # Get events for event in ("started", "success", "failed"): - get_events(event, limit=limit) + get_events(event, limit=limit, mongo_password=mongo_password, mongo_user=mongo_user) if __name__ == "__main__":