U
    h                  	   @   sr  d dl Z d dlZd dlZd dlmZ d dlmZmZ e  edZe	dd
dZed  
dZed	 
d
Zed  
dZe jed  eed	kred	 nded	 ed  ed	 dZe Zed ed ed e ZeD ]\ZZede de d qed ed e ZeD ] \ZZede de d q$ed ed e ZeD ]&\ZZedepxd de d qdered  d  Zede d e   Z!edee!f e Z"e"r|ede! d e"D ]Z#ede#d    ede#d	   ede#d  dd!  d" ed#e#d$ p@d  ed%e#d&  d' ed(e#d)   ed* qnped+ e!ed,d- Z$ed.ee$f e Z%e%D ]<\Z ZZ&e&re&d/ nd Z'ed0e  de d1e'd2d3 qed4 ed5 e( d  Z)ed6e)  e)d kr^ed7 ed8 e D ] \ZZed0e de d q<e*  e*  dS )9    N)load_dotenv)datetime	timedeltaDATABASE_URLzpostgresql:// @:   /Z5432)ZhostZportZdatabaseuserZpasswordz!=== Activity Records Analysis ===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:zq
    SELECT category, COUNT(*) as count
    FROM activity_records 
    GROUP BY category
    ORDER BY count DESC
ZNULLz"
4. Sample records for developer 'z':a2  
        SELECT 
            id,
            application_name,
            window_title,
            category,
            duration,
            timestamp
        FROM activity_records 
        WHERE developer_id = %s
          AND DATE(timestamp) = %s
        ORDER BY timestamp DESC
        LIMIT 10
    z   Today's activities (z):z
      ID: z      App: z      Title:    2   z...z      Category:    z      Duration:    z secondsz      Time:    z	      ---z9   No activities found for today. Checking last 7 days...   )ZdaysaU  
            SELECT 
                DATE(timestamp) as date,
                COUNT(*) as activity_count,
                SUM(duration) as total_duration
            FROM activity_records 
            WHERE developer_id = %s
              AND DATE(timestamp) >= %s
            GROUP BY DATE(timestamp)
            ORDER BY date DESC
        i  z      z activities, z.2fz hoursz
5. Uncategorized Records:z]
    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psycopg2ZjsonosZdotenvr   r   r   getenvr   replacesplitZ
conn_partsZ	user_passZhost_dbZ	host_portZconnectlenZconnZcursorZcurprintZexecuteZfetchallZ
developersZdev_idcountZappsZapp
categoriescatZsample_dev_idZnowdateZtodayZrecordsrecordZweek_agoZdaily_statsZdurationZhoursZfetchoneZuncategorized_countclose r   r   ./debug_activity_records.py<module>   s   


	
 
"



