From bd30745e43685490c8c294996808aac2d9f979d7 Mon Sep 17 00:00:00 2001 From: lelo Date: Fri, 18 Apr 2025 22:52:34 +0000 Subject: [PATCH] fix language swap --- analytics.py | 4 ++-- swap_city_country.py | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 swap_city_country.py diff --git a/analytics.py b/analytics.py index 49a8a71..d10d8dc 100644 --- a/analytics.py +++ b/analytics.py @@ -44,7 +44,7 @@ def lookup_location(ip): response = geoReader.city(ip) country = response.country.name if response.country.name else "Unknown" city = response.city.name if response.city.name else "Unknown" - return country, city + return city, country except Exception: return "Unknown", "Unknown" @@ -455,7 +455,7 @@ def dashboard(): location_data_dict[key] = location_data_dict.get(key, 0) + cnt location_data = [ - dict(country=k[0], city=k[1], count=v) + dict(city=k[0], country=k[1], count=v) for k, v in location_data_dict.items() ] location_data.sort(key=lambda x: x['count'], reverse=True) diff --git a/swap_city_country.py b/swap_city_country.py new file mode 100644 index 0000000..505967a --- /dev/null +++ b/swap_city_country.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +import sqlite3 + +# — CONFIGURE — +DB_NAME = 'access_log.db' +INDICATORS = [ + "Germany", + "Canada", + "Paraguay", + "Uruguay", + "France", + "Australia", + "Ukraine", + "India" +] +# — END CONFIG — + +# connect exactly as you use elsewhere +log_db = sqlite3.connect(DB_NAME, check_same_thread=False) + +# build and run the swap +placeholders = ",".join("?" for _ in INDICATORS) +sql = f""" + UPDATE file_access_log + SET city = country, + country = city + WHERE city IN ({placeholders}) +""" +cur = log_db.cursor() +cur.execute(sql, INDICATORS) +log_db.commit() + +print(f"Swapped city↔country on {cur.rowcount} row{'s' if cur.rowcount!=1 else ''}.") +log_db.close()