U
    [Mh                  	   @   s  d Z ddlZddlmZmZ ddlmZ ddlmZmZ ddl	Z	ddl
Z
dddd	d
gfddddgfddddgfgdg fdg fdg fdg fdg fgdg fdg fdg fdg fdg fdg fgdg fdg fd g fd!g fgd"g fd#g fd$g fd%g fgd&Zd6eed(d)d*Zed+kre	jjjed, e Zzje
ed-Zesldd.lmZ ed-d/d0d1Ze
eeZed2ej  eejd'd3 ed4 ed5 W 5 e  X dS )7z
Sample data generator for testing the timesheet application
This creates fake activity data when ActivityWatch is not available
    N)datetime	timedelta)Session)SessionLocalenginezGoogle Chromezhttps://github.comzhttps://stackoverflow.comzhttps://google.comzhttps://youtube.comzMozilla Firefoxzhttps://developer.mozilla.orgzhttps://reddit.comzhttps://twitter.comzMicrosoft Edgezhttps://docs.microsoft.comzhttps://linkedin.comzhttps://outlook.comzVisual Studio CodeZPyCharmzIntelliJ IDEAZCursorzSublime TextzMicrosoft WordzMicrosoft ExcelZSlackzMicrosoft TeamsZNotionZObsidianZSpotifyzYouTube MusicZNetflixzVLC Media PlayerzWindows ExplorerzCommand PromptZ
PowerShellzTask Manager)browserdevelopmentproductivityZentertainmentsystem   )user_iddaysc              	   C   s  t  }z|tjtjj| k  |  g }t	|D ]D}t
 t|d }tdd}t	|D ]}ttt }tt| \}	}
tdd}tdd}tdd	}tdd	}|j|||d
}|	 }d}|dkr|
rt|
}d| }nX|dkr,dddddg}t| d|	 }n*|dkrVddddg}t| d|	 }|	|||||d}t|||  || qhq<tdt| d|   |W S |  X dS )z)Generate sample activity data for testingr      2      i         r   ;   )hourminutesecondNr   zSome Page Title - r   zmain.pyzapp.jsz
index.htmlz	style.cssz	README.mdz - r	   zDocument1.docxzPresentation.pptxzSpreadsheet.xlsxzMeeting Notes)Zapplication_namewindow_titleurlcategoryduration	timestampz
Generated z sample activities for user )r   closeZquerymodelsZActivityRecordfilterr   deleteZcommitranger   Znowr   randomZrandintchoicelistSAMPLE_APPSkeysreplacecrudZcreate_activity_recordappendprintlen)r   r   dbZ
activitiesZdayZcurrent_dateZnum_activities_r   Zapp_nameZurlsr   r   r   r   r   r   r   filesZdocsZactivity_data r/   ./sample_data.pygenerate_sample_data1   sN    


	r1   __main__)ZbindZtestuser)
UserCreateztest@example.comZtestpass123)usernameZemailZpasswordzCreated test user: r   z Sample data generation complete!z@You can now login with username: testuser, password: testpass123)r   )__doc__r"   r   r   Zsqlalchemy.ormr   Zdatabaser   r   r   r(   r%   intr1   __name__ZBaseZmetadataZ
create_allr,   r   Zget_user_by_usernameZ	test_userZschemasr3   Z	user_dataZcreate_userr*   r4   idr/   r/   r/   r0   <module>   sb   	#@
