
    %
i                        d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ  G d dej                  Z	 G d d          Z
 G d d          Z G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d dej                  Zd Z e            Zd Zedk    rd dlZ ej                     dS dS )    N)
dlgappcorec                   8    e Zd ZdZd
dZd Zd Zd Zd Zd Z	d	S )TimerAppDialog    c                 `   t           j                            | t          j                   || _        d| _        t          | j                  dk    rYt          t          j	                  dk    r>t          j	        d         d         dk    r$t          j	        d         | _        d| _        d S d S d S d S )Nr   r   /)
r   	AppDialog__init__win32uiIDD_GENERAL_STATUStimerAppNameargOfflensysargv)selfappNames     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\pythonwin/pywin/Demos/app/basictimerapp.pyr   zTimerAppDialog.__init__   s    %%dG,FGGG#t !!Q&&38}}q  SXa[^s%:%:$'HQK! '&  %:%:    c                     d S N r   s    r   
PreDoModalzTimerAppDialog.PreDoModal   s    r   c                 D    |D ]}|dk    r|                                   d S )Nz/now)OnOK)r   argsargs      r   ProcessArgszTimerAppDialog.ProcessArgs   s2     	 	Cf}}			 	r   c                    t          j        d           t          j        | j        dd          | _        t          j        | j        dd          | _        t          j        | j        dd          | _        | j                            dd	          | _        t          j	        
                    |            |                     | j                   |                     t           j                  | _        |                     t           j                  | _        |                     t           j                  | _        |                     t&          j                  | _        |                     t&          j                  | _        | j                            d
           | j                            d           | j                            d           | j                            d           | j                            d           t1          |           | _        |                     t6          j        | j        d                     | j                                         dS )Nzpytimer.iniTitlezRemote System TimerTimerzEachMinuteIntervaler()WorkzDoDemoWork()z\n
zPython Timer Appr   z	Do it nowCloser   )r   SetProfileFileNameGetProfileValr   title
buildTimerdoWorkreplacer   r
   OnInitDialogSetWindowText
GetDlgItemIDC_PROMPT1prompt1IDC_PROMPT2prompt2IDC_PROMPT3prompt3win32conIDOKbutOKIDCANCEL	butCancelTimerManagertimerManagerr    r   r   r   gor   s    r   r-   zTimerAppDialog.OnInitDialog#   s   "=111*w(=
 

 "/w(@
 
 +D,=v~VVk))%66))$///4:&&&w':;;w':;;w':;;__X]33
):;;""#5666""2&&&""2&&&
  ---$$W---(..$+--0111qr   c                 x    t           j                            | |           | j                                         d S r   )r   r
   	OnDestroyr<   stop)r   msgs     r   r?   zTimerAppDialog.OnDestroyA   s6    &&tS111     r   c                     | j                                          d| j         _        | j                                          d S Nr   )r<   r@   bConnectNowr=   r   s    r   r   zTimerAppDialog.OnOKE   s<       ()%r   N)r   )
__name__
__module____qualname__	softspacer   r   r    r-   r?   r   r   r   r   r   r      sx        I           
  <! ! !    r   r   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	r;   c                 z    || _         d | _        t          | j         j                  | _        d| _        d| _        d S Nr   )dlgtimerIdevalr*   
intervalerrD   bHaveSetPrompt1)r   rL   s     r   r   zTimerManager.__init__R   s:    tx233 r   c                     t           j        | _        t           j        | _        | xt           _        t           _        d| _        d S rK   )r   stdoutoldOutstderroldErrrP   r   s    r   CaptureOutputzTimerManager.CaptureOutputY   s0    jj"&&
SZ r   c                 J    | j         t          _        | j        t          _        d S r   )rS   r   rR   rU   rT   r   s    r   ReleaseOutputzTimerManager.ReleaseOutput_   s    [
[


r   c                     |                                 }t          |          r>| j        r| j        j        }n| j        j        }d| _        |                    |           d S d S rC   )stripr   rP   rL   r5   r1   r.   )r   strsdests       r   writezTimerManager.writec   sj    IIKKq66 	"# )x'x''($q!!!!!	" 	"r   c                 2    |                      d d            d S r   )OnTimerr   s    r   r=   zTimerManager.gom   s    T4     r   c                 T    | j         rt          j        | j                    d | _         d S r   )rM   timer
kill_timerr   s    r   r@   zTimerManager.stopp   s*    < 	+T\***r   c                    |rt          j        |           | j                                        s| j        r	 | j                            | j        j        dz              | j        j        	                    d           | j        j
        	                    d           |                                  	 t          | j        j                   t          d           nQ#  t          j                    \  }}}d| d|}t          |           | j                            |           d }Y nxY w|                                  | j        j        	                                 | j        j
        	                                 | j                            | j        j                   n# |                                  | j        j        	                                 | j        j
        	                                 | j                            | j        j                   w xY wt)          j                    }| j                                        }|rX||z
  }	t-          |	dz            }
|	dz  }	t-          |
dz            }|
dz  }
| j        j                            d||
|	fz             t          j        | j                                        | j                  | _        d| _        d S )Nz - Working...r   z*The last operation completed successfully.zFailed: z: <   z%Next connection due in %02d:%02d:%02d)rb   rc   rO   IsTimerD   rL   r.   r)   r8   EnableWindowr:   rV   execr+   printr   exc_inforU   r^   rX   timeGetNextTimeintr1   	set_timerGetWakeupIntervalr`   rM   )r   idtimeValtvtbr[   nownextTimetimeDiffSecondstimeDiffMinutestimeDiffHourss               r   r`   zTimerManager.OnTimeru   s    	!R   ?!!## !	t'7 !	7&&tx~'GHHH++A..."//222""$$$)))FGGGG"|~~HAq"/Q//!//C#JJJK%%c***BBB""$$$++---"//111&&tx~6666 ""$$$++---"//111&&tx~6666)++C2244H 	"*S."%o&:";";2% #Ob$8 9 92% ..;$oGH   O--//
 
 s&   A9F" 3(C F" AD*(F" "A6HN)
rE   rF   rG   r   rV   rX   r^   r=   r@   r`   r   r   r   r;   r;   Q   s}        ! ! !! ! !! ! !" " "! ! !  
( ( ( ( (r   r;   c                   &    e Zd Zd Zd Zd Zd ZdS )TimerIntervalerc                 "    d | _         d| _        d S )N  )rv   wakeUpIntervalr   s    r   r   zTimerIntervaler.__init__   s    "r   c                     | j         S r   )r~   r   s    r   ro   z!TimerIntervaler.GetWakeupInterval   s    ""r   c                     | j         S r   )rv   r   s    r   rl   zTimerIntervaler.GetNextTime   s
    }r   c                     t          j                     }| j        |                     |          | _        d}|| j        k    r"d}|                     | j        |          | _        |S )Nr   r   )rk   rv   SetFirstTimeSetNextTime)r   ru   rets      r   rf   zTimerIntervaler.IsTime   s_    ikk=  --c22DM$-C ,,T]C@@DM
r   N)rE   rF   rG   r   ro   rl   rf   r   r   r   r{   r{      sP        # # ## # #  	 	 	 	 	r   r{   c                   "    e Zd ZddZd Zd ZdS )EachAnyIntervalerNc                 z    t                               |            || _        || _        || _        |r	|| _        d S d S r   )r{   r   timeAttimePostimeAddr~   )r   r   r   r   r~   s        r   r   zEachAnyIntervaler.__init__   sK      &&& 	1"0D	1 	1r   c                 J   t          j        |          }g }|D ]}|                    |           || j                 | j        k    }| j        || j        <   t          | j        dz   d          D ]}d||<   t          j        t          |                    }|r
|| j        z  }|S )Nr      r   )	rk   	localtimeappendr   r   rangemktimetupler   )r   ru   timeTuplstitembAddposr   s           r   r   zEachAnyIntervaler.SetFirstTime   s    .%% 	 	DJJtt|$t{2 KDL)1-- 	 	CCHHk%**%% 	 4<C
r   c                     || j         z   S r   )r   )r   lastTimeru   s      r   r   zEachAnyIntervaler.SetNextTime   s    $,&&r   r   )rE   rF   rG   r   r   r   r   r   r   r   r      sF        1 1 1 1  ' ' ' ' 'r   r   c                       e Zd ZddZdS )EachMinuteIntervalerr   c                 B    t                               | |ddd           d S )N   re   r}   r   r   r   ats     r   r   zEachMinuteIntervaler.__init__   s$    ""4QD99999r   Nr   rE   rF   rG   r   r   r   r   r   r      s(        : : : : : :r   r   c                       e Zd ZddZdS )EachHourIntervalerr   c                 B    t                               | |ddd           d S )N   i  '  r   r   s     r   r   zEachHourIntervaler.__init__   s$    ""4Qe<<<<<r   Nr   r   r   r   r   r   r      s(        = = = = = =r   r   c                       e Zd ZddZdS )EachDayIntervalerr   c                 B    t                               | |ddd           d S )N   iQ r   r   r   s     r   r   zEachDayIntervaler.__init__   s$    ""4Qu=====r   Nr   r   r   r   r   r   r      s(        > > > > > >r   r   c                       e Zd Zd ZdS )TimerDialogAppc                     t                      S r   )r   r   s    r   CreateDialogzTimerDialogApp.CreateDialog   s    r   N)rE   rF   rG   r   r   r   r   r   r      s#                 r   r   c                  ,   t          d           t          d           t          j        t          j                   t          j        d           t          d           t          j        t          j                   t          j        d           t          d           t          j        t          j                   t          j        d           t          d           t          j        t          j                   t          j        d           d S )NzDoing the work...zAbout to connectr}   zDoing something else...z
More work.zThe last bit.)	ri   win32apiMessageBeepr6   MB_ICONASTERISKSleepMB_ICONEXCLAMATIONMB_ICONHANDMB_OKr   r   r   
DoDemoWorkr      s    	
	
1222N4	
#$$$4555N4	,-...N4	/(((N4r   c                  L    t          d          } |                                  | S )NzTest Dialog)r   DoModal)rr   s    r   rr   rr      s!    }%%AIIKKKHr   __main__)r   rk   rb   r   r6   r   pywin.frameworkr   r
   r   r;   r{   r   r   r   r   	DialogAppr   r   apprr   rE   	demoutilsNeedAppr   r   r   <module>r      s   


      & & & & & &< < < < <Z) < < <FL L L L L L L L^       .' ' ' ' ' ' ' '6: : : : :, : : :
= = = = =* = = =
> > > > >) > > >
         Z)      
    n   zI r   