From 95c38587fef7768c0c7cd148d3c79af9b637e34f Mon Sep 17 00:00:00 2001 From: tischrei Date: Mon, 4 Aug 2025 10:37:37 +0000 Subject: [PATCH] refactor variables --- tools/collect_statistics.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tools/collect_statistics.py b/tools/collect_statistics.py index 4b71e79..7106b7a 100644 --- a/tools/collect_statistics.py +++ b/tools/collect_statistics.py @@ -22,7 +22,6 @@ import otc_metadata.services import argparse # ===== Configuration ===== -UMAMI_BASE_URL = "https://analytics.otc-service.com" USERNAME = os.getenv("UMAMI_USERNAME") PASSWORD = os.getenv("UMAMI_PASSWORD") OUTPUT_FILE = "stats.json" @@ -31,7 +30,12 @@ def parse_args(): """ Command-line arguments """ - parser = argparse.ArgumentParser(description="Umami Statistic Script") + parser = argparse.ArgumentParser(description="Analytics Script") + parser.add_argument( + "--base-url", + default="https://analytics.otc-service.com", + help="Base_Url of analytics server" + ) parser.add_argument( "--environment", default=['public'], @@ -53,9 +57,9 @@ def parse_args(): return parser.parse_args() -def get_umami_token(): +def get_umami_token(base_url): """Get Bearer-Token from Umami-API.""" - url = f"{UMAMI_BASE_URL}/api/auth/login" + url = f"{base_url}/api/auth/login" response = requests.post(url, json={"username": USERNAME, "password": PASSWORD}) response.raise_for_status() return response.json().get("token") @@ -69,10 +73,10 @@ def get_4_weeks_range(): end_ts = int(end_date.timestamp() * 1000) return start_ts, end_ts -def fetch_pageviews(token, start_ts, end_ts, website_id): +def fetch_pageviews(token, start_ts, end_ts, website_id, base_url): """Retrieves statistics from API server.""" headers = {"Authorization": f"Bearer {token}"} - url = f"{UMAMI_BASE_URL}/api/websites/{website_id}/metrics" + url = f"{base_url}/api/websites/{website_id}/metrics" params = { "type": "url", "startAt": start_ts, @@ -103,9 +107,9 @@ def save_to_file(data, filename): def main(): args = parse_args() - token = get_umami_token() + token = get_umami_token(base_url=args.base_url) start_ts, end_ts = get_4_weeks_range() - stats = fetch_pageviews(token, start_ts, end_ts, website_id=args.website_id) + stats = fetch_pageviews(token, start_ts, end_ts, website_id=args.website_id, base_url=args.base_url) filtered_stats = filter_stats_by_existing_services( stats=stats, cloud_environment=args.cloud_environment,