#!/usr/bin/env python3
"""Fast re-check scan for @4aibsc which timed out + generate full report"""
import urllib.request, json, time, sys
from datetime import datetime, timezone, timedelta

API_KEY = "get-x-api-6157f8edb420c3d5e50e062287389aa55635cd7c9630c81f"
CUTOFF_DATE = datetime.now(timezone.utc) - timedelta(days=3)
DATE_STR = "2026-06-08"

# Re-check 4aibsc
handle = "4aibsc"
url = f"https://api.getxapi.com/twitter/user/tweets?userName={handle}&count=5"
req = urllib.request.Request(url, headers={"Authorization": f"Bearer {API_KEY}"})

def parse_date(created_at):
    if not created_at:
        return None
    try:
        dt = datetime.strptime(created_at, "%a %b %d %H:%M:%S %z %Y")
        return dt
    except:
        return None

try:
    with urllib.request.urlopen(req, timeout=30) as resp:
        body = resp.read().decode("utf-8", errors="replace")
    data = json.loads(body, strict=False)
    tweets = data.get("tweets", data)
    if isinstance(tweets, dict):
        tweets = [tweets]
    elif not isinstance(tweets, list):
        tweets = []
    
    for t in tweets:
        created = parse_date(t.get("createdAt", ""))
        likes = t.get("likeCount", 0) or 0
        retweets = t.get("retweetCount", 0) or 0
        views = t.get("viewCount", 0) or 0
        replies = t.get("replyCount", 0) or 0
        is_recent = created is not None and created >= CUTOFF_DATE
        meets_threshold = likes >= 50 or retweets >= 10 or views >= 1000
        print(f"@{handle} tweet: likes={likes} RT={retweets} views={views} replies={replies} recent={is_recent} meets={meets_threshold} date={t.get('createdAt','')[:16] if t.get('createdAt') else 'N/A'}")
except Exception as e:
    print(f"@{handle} error: {e}")
