This commit is contained in:
Mateusz Gruszczyński
2025-05-16 12:53:14 +02:00
parent d977ced0f5
commit 8989f2abf0
2 changed files with 20 additions and 16 deletions

13
app.py
View File

@ -40,9 +40,12 @@ def get_users(db_config):
connection = mysql.connector.connect(**db_config)
cursor = connection.cursor(dictionary=True)
query = """
SELECT u.uid, u.name, u.mail, u.access, u.created, p.points, COUNT(n.nid) AS post_count
SELECT u.uid, u.name, u.mail, u.access, u.created, p.points,
COUNT(DISTINCT n.nid) AS post_count,
COUNT(DISTINCT c.cid) AS comment_count
FROM users u
LEFT JOIN node n ON u.uid = n.uid
LEFT JOIN comments c ON u.uid = c.uid
LEFT JOIN userpoints p ON u.uid = p.uid
WHERE u.uid > 0
GROUP BY u.uid
@ -229,14 +232,10 @@ def main():
skipped_veterans = 0
for user in tqdm(users, desc="Analiza"):
if (user.get('points') or 0) > 0:
skipped_with_points += 1
continue
if (user.get('post_count') or 0) > 0:
# Pomijamy użytkownika, który dodał treści
if (user.get('post_count') or 0) > 0 or (user.get('comment_count') or 0) > 0:
continue
# Pomijanie aktywnych "weteranów"
created_year = datetime.datetime.fromtimestamp(user['created']).year if user.get('created') else None
recent_login_threshold = now_ts - (args.recent_login_days * 86400)