U
    7hk                  
   @   sJ  d dl mZmZ d dlmZmZ d dlZd dlmZ d dlm	Z	 e  e
de	 ZeeZed e Zed eed	Ze ZeD ]\ZZed
e de d qed eedZe ZeD ]\ZZed
e de d qed eedZe ZeD ]&\ZZed
ep,d de d qered  d  Zede d e  ZeedeedZe ZerDede d eD ]Z ede d    ede d   ede d re d dd nd d ed e d! pd  ed"e d#  d$ ed%e d&   ed' qnved( eed)d* Z!eed+ee!d,Ze Z"e"D ]<\ZZZ#e#re#d- nd Z$ed.e de d/e$d0d1 q|ed2 eed3Ze% d  Z&ed4e&  e&d kr4ed5 eed6Ze D ] \ZZed.e de d qW 5 Q R X ed7 dS )8    )create_enginetext)datetime	timedeltaN)load_dotenv)ConfigDATABASE_URLz.=== Activity Records Analysis (SQLAlchemy) ===z-
1. Unique developer_ids in activity_records:z
        SELECT DISTINCT developer_id, COUNT(*) as record_count
        FROM activity_records 
        WHERE developer_id IS NOT NULL
        GROUP BY developer_id
        ORDER BY record_count DESC
    z   z: z recordsz
2. Top 20 Application Names:z
        SELECT application_name, COUNT(*) as count
        FROM activity_records 
        WHERE application_name IS NOT NULL
        GROUP BY application_name
        ORDER BY count DESC
        LIMIT 20
    z$
3. Current Categories Distribution:z
        SELECT category, COUNT(*) as count
        FROM activity_records 
        GROUP BY category
        ORDER BY count DESC
    ZNULLz"
4. Sample records for developer 'z':ao  
            SELECT 
                id,
                application_name,
                window_title,
                category,
                duration,
                timestamp
            FROM activity_records 
            WHERE developer_id = :dev_id
              AND DATE(timestamp) = :today
            ORDER BY timestamp DESC
            LIMIT 10
        )dev_idtodayz   Today's activities (z):z
      ID: z      App:    z      Title:    2   Nonez...z      Category:    z      Duration:    z secondsz      Time:    z	      ---z9   No activities found for today. Checking last 7 days...   )Zdaysa  
                SELECT 
                    DATE(timestamp) as date,
                    COUNT(*) as activity_count,
                    SUM(duration) as total_duration
                FROM activity_records 
                WHERE developer_id = :dev_id
                  AND DATE(timestamp) >= :week_ago
                GROUP BY DATE(timestamp)
                ORDER BY date DESC
            )r	   week_agoi  z      z activities, z.2fz hoursz
5. Uncategorized Records:zm
        SELECT COUNT(*) 
        FROM activity_records 
        WHERE category IS NULL OR category = ''
    z   Total uncategorized: z   Sample uncategorized apps:a(  
            SELECT DISTINCT application_name, COUNT(*) as count
            FROM activity_records 
            WHERE category IS NULL OR category = ''
            AND application_name IS NOT NULL
            GROUP BY application_name
            ORDER BY count DESC
            LIMIT 10
        z
Done!)'Z
sqlalchemyr   r   r   r   osZdotenvr   Zconfigr   getenvZget_database_urlr   ZengineprintZconnectZconnZexecuteresultZfetchallZ
developersr	   countZappsZapp
categoriescatZsample_dev_idZnowdater
   Zrecordsrecordr   Zdaily_statsZdurationZhoursZfetchoneZuncategorized_count r   r   ./debug_activity_sqlalchemy.py<module>   sz   	 
*

"

$