a „oeGã@s€ddlZddlZddlZddlZddlZddlmZddlmZdZ e  dddd¡Z dZ e dd„eeƒ ¡DƒƒZe ejdejej¡ZGdd „d ƒZe e ej¡Ze eeƒƒ¡e ejejBejB¡e d ej  !e "¡d ¡¡e d ej  !e "¡d ¡¡e #¡D]"Z$e%de$ &¡ƒe%de$ '¡ƒqe (¡e )e fde ej*¡Z+e+ej,krZq|ne+ej,dkr4e -¡r4q|q4dS)éN)Úbits)ÚwrapéÈzbits-pywin32-testcCs*g|]"\}}| d¡r||dd…f‘qS)Z BG_JOB_STATE_é N)Ú startswith)Ú.0ÚnameÚval©r ú@C:\Program Files\Certbot\pkgs\win32comext\bits\test\test_bits.pyÚ s þr c@s<eZdZejgZgd¢Zdd„Zdd„Zdd„Z dd „Z d S) ÚBackgroundJobCallback)ÚJobTransferredÚJobErrorÚJobModificationcCs td|ƒ| ¡t t¡dS)NzJob Transferred)ÚprintZCompleteÚ win32eventZSetEventÚ StopEvent)ÚselfÚjobr r r r"s z$BackgroundJobCallback.JobTransferredcCsštd||ƒ| ¡}td| ¡ƒtd| ¡ƒtdƒ| |¡| ¡ d¡rŽtdƒ| tj¡}d}td| ¡d |ƒ|  |¡|  ¡n|  ¡dS) Nz Job ErrorzWhile downloadingÚTozThe following error happened:zmissing-favicon.icoz!Changing to point to correct fileú!http://www.python.org/favicon.icozChanging RemoteName fromÚto) rZGetFileÚ GetRemoteNameÚ GetLocalNameÚ _print_errorÚendswithZQueryInterfacerZIID_IBackgroundCopyFile2Z SetRemoteNameÚResumeZCancel)rrÚerrorÚfÚf2Zfaviconr r r r's     zBackgroundJobCallback.JobErrorcCsV| ¡\}}zt |¡}Wntjy2d}Yn0td|||fƒt| ¡ƒdS)NÚzContext=0x%x, hresult=0x%x (%s))ÚGetErrorÚwin32apiZ FormatMessagerrZGetErrorDescription)rÚerrÚctxZhresultZ hresult_msgr r r r8s  z"BackgroundJobCallback._print_errorcCsF| ¡}td| ¡t |¡ƒ|tjkrBtdƒ| ¡}| |¡dS)NzJob ModificationzError details:) ZGetStaterZGetDisplayNameÚstatesÚgetrZBG_JOB_STATE_TRANSIENT_ERRORr"r)rrZreservedÚstater$r r r rAs  z%BackgroundJobCallback.JobModificationN) Ú__name__Ú __module__Ú __qualname__rZIID_IBackgroundCopyCallbackZ_com_interfaces_Z_public_methods_rrrrr r r r r s  r rzbits-favicon.icoz)http://www.python.org/missing-favicon.icozbits-missing-favicon.icoZ Downloadingré).ÚosZtempfileZ pythoncomr#rZ win32com.bitsrZwin32com.server.utilrZTIMEOUTZ CreateEventrZjob_nameÚdictÚvarsÚitemsr&ZCoCreateInstanceZCLSID_BackgroundCopyManagerZCLSCTX_LOCAL_SERVERZIID_IBackgroundCopyManagerZbcmr Z CreateJobZBG_JOB_TYPE_DOWNLOADrZSetNotifyInterfaceZSetNotifyFlagsZBG_NOTIFY_JOB_TRANSFERREDZBG_NOTIFY_JOB_ERRORZBG_NOTIFY_JOB_MODIFICATIONZAddFileÚpathÚjoinZ gettempdirZ EnumFilesrrrrrZMsgWaitForMultipleObjectsZ QS_ALLEVENTSÚrcZ WAIT_OBJECT_0ZPumpWaitingMessagesr r r r Úsd   þÿü.ÿþÿþþ  ÿ