XׯdYddlZddlZddlmZddlZddlZddlmZdZddl Z e j dkrdZGdd e Z Gd d ej ZGd d eZGddejZdS)N)deque)wizard_page_widgetdarwin_macceZdZdS)WizardTaskErrorN)__name__ __module__ __qualname__+..\workbench\wizard_progress_page_widget.pyr r %sDrr ceZdZdZdZdZedZedZedZ edZ edZ ed Z d Z d Zd Zd ZdZdZdZdZdS) WizardTaskc&tj|d||||_||_||_tj|_ tj ||_ |j |d|_ |d||j dd||j dd|dS)NTF)mformsBox__init__ set_managedset_release_on_addownerlabelfunc newImageBox_iconnewLabel_labelset_name_enabled set_spacingaddresetselfrrraccessibilityNames rrzWizardTask.__init__*s D$'''  !!!   ')) oe,,  .///   UD))) dD))) rc:|j|dSN)r set_text)r'texts rr+zWizardTask.set_text?s T"""""rc|tjdd|jz|jd|jz |n#tj$r:|jd|jz|YdSt$r}t|ts&tddl }|d|jd|j|}|j||||d}~wwxYw|jd|jz|dS) NWizardz Execute '%s' z%s... %s cancelledrz Error during : z%s done) set_runninggrtlog_inforr send_infor UserInterrupt set_aborted Exception isinstanceWizardThreadedTaskprint traceback print_excformat_exception_text send_error set_failed set_finished)r'er;msgs rrunzWizardTask.runBs  X/$*<=== Wtz1222  IIKKKK     J $*!< = = =       FF   d$677 &    ##%%%+/:::tz7W7WXY7Z7Z7Z[C J ! !# & & & OOC G  Y3444 s A**AE2 E;BE  Ec|jSr*)r"r's r is_enabledzWizardTask.is_enabled] }rc|jSr*)_runningrEs r is_runningzWizardTask.is_runningarGrc|jSr*) _finishedrEs r is_finishedzWizardTask.is_finishedes ~rc|jSr*)_failedrEs r is_failedzWizardTask.is_failedis |rc|jSr*)_abortedrEs r is_abortedzWizardTask.is_abortedmrGrc@|jo|j o|j o|j Sr*)rFrMrPrSrEs r is_pendingzWizardTask.is_pendingqs+ft'7#7fz0WizardThreadedTask.thread_work..sKt_jmqmwnNnNORnSnS`SPTPTrz %s finished)rr2r5rr4rr Utilitiesperform_from_main_threadr6r7r:r;r< log_errorr>strr@)r'r}r;s rrtzWizardThreadedTask.thread_works  IIKKKK     J $*!< = = =   5 5d6F N N N FF    GGG        ! ! ! M(($***ccc$R S S S J ! !djjj#c((("C D D D   5 5$37T7T7TV[ \ \ \ FFFFF  ]TZ788811$2CUKKKKKsAD!1 D!:BDD!N) r r r rrqrrrurCr%rtrrrr9r9s %%%%%Y%%%% LLLLLrr9ceZdZd#dZdZdZdZdZdZd Z d Z d Z fd Z d$d Z dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Z d!Z!d"Z"xZ#S)%WizardProgressPageNFcrtj|||||_t j|pd|_|jd|j |jddt j d|_ |j d|j d|j |j ddt j d|_|j |jddt jd|_|jd|j |jddt j|_|j |jdd|jdt jd |_|jd |j |jddd|_g|_d|_d|_d|_t jtj|_|jd |jd t jtj|_|jd |j d|j d |j |j|jd|j!|jddtE|_#d|_$d|_%d|_&|j'(dd|_)d|_*dS)NzHThe following tasks will now be performed. Please monitor the execution.zPage DescriptionFTrClick [Next >] to execute.zNext InformationrDetailsz Message LogzWizard Progress Log Text Show Logs)+r WizardPager_use_private_message_handlingrr _descriptionr!contentr$newBox _tasks_box set_paddingr#_after_tasks_box _status_labelnewProgressBar _progressshow _detail_label_timer_tasks_currently_running_task_index_progress_indeterminate_tasks_finishednewPanelTitledBoxPanel_log_box set_title newTextBoxVerticalScrollBar _log_text set_read_onlyadd_endr _log_queue _showing_logs_cancel_requested _tasks_heldadvanced_buttonr+_log_progress_text _autostart)r'main header_label descriptionuse_private_message_handlings rrzWizardProgressPage.__init__s+%..tT<HHH-I*"OK-F>   ... }---*6+CDD  :;;; $$T*** ""2&&& $.))) 5!!! T]D$777''"!&  %%k222"&rc|jD]}|j|g|_|dSr*)rrremover%)r'tasks r clear_taskszWizardProgressPage.clear_taskssDK ) )D O " "4 ( ( ( (  rc t|Sr*)r)r'rAs rr=z(WizardProgressPage.format_exception_texts 1vv rct||||}|j||j|dd|S)a Add a task to be executed from the main thread. The callback must be as in callback(progress), where progress is a function to be optionally executed to report progress. The callback must return True if it finished executing or False if it was cancelled by the user. If an error occurs during the execution of the task, an exception must be raised. FT)rrappendrr$r'rrr(wtasks radd_taskzWizardProgressPage.add_tasksM4u.?@@ 5!!! E5$/// rct||||}|j||j|dd|S)a Add a task to be executed from a worker thread. The callback must be as in callback(). Progress information must be reported using grt.send_progress() The callback must return True if it finished executing or False if it was cancelled by the user. If an error occurs during the execution of the task, an exception must be raised. FT)r9rrrr$rs radd_threaded_taskz$WizardProgressPage.add_threaded_task*sM#4u6GHH 5!!! E5$/// rc||f|_dSr*)_progress_info)r'pctstatuss rupdate_progressz"WizardProgressPage.update_progress8s"Fmrc|js3|j|dS|dStj|dSr*)rrrwresumerrgo_nextrEs rrzWizardProgressPage.go_next<sU# 819   ) 1 1$ 7 7 7 7 7rc|j |_|jr|jdn|jd|j|j|dS)Nz Hide Logsr)rrr+rrrelayoutrEs r go_advancedzWizardProgressPage.go_advancedEsv!%!33   7  ) )+ 6 6 6 6  ) )+ 6 6 6 4-... rcd|_dS)NTrrEs r go_cancelzWizardProgressPage.go_cancelNs!%rctt|||j|jp|jdu|r+|jr&|j!|js|dSdSdSdSdSr*) superrpage_activated next_buttonrirrrrw)r' advancing __class__s rrz!WizardProgressPage.page_activatedQs  $''66yAAA $$T%9%gT=_cg=ghhh   19$BV9     9999rcRd|_d|_d|_d|_|jd|jd|jd|j D]}| |r|j ddSdS)NFrrr) rrrrr set_valuerr+rrr%r)r' clear_log_boxrs rr%zWizardProgressPage.resetZs!&$"-1*   ### ##$@AAA ##B'''K  D JJLLLL  ) N $ $R ( ( ( ( ( ) )rc|j|||f|dkrQ|jrJ|ddd}|r d|d|d}nd|z}|jd |d fd S) NPROGRESS:rz- r0r{z- %s OUTPUTrT)rrrsplit)r'msg_typer,detail progress_texts r_handle_task_outputz&WizardProgressPage._handle_task_outputgs $7888 z ! !d&= !::c1%%b)D 2 204fff = (D 1 O " "HmR#@ A A Atrc|jSr*rrEs rquery_cancel_statusz&WizardProgressPage.query_cancel_statusss %%rc@|jd|dfdS)Nrr)rrr`s rsend_rawzWizardProgressPage.send_rawvs% #r233333rcdtjd|dz|d|ddS)Nr.r{INFOrr2 log_debugrr`s rr4zWizardProgressPage.send_infoys6 hd +++   b11111rcdtjdd|z|d|ddS)Nr.z ERROR: %s ERRORrrr`s rr>zWizardProgressPage.send_error}s7 h  3555   #r22222rcdtjdd|z|d|ddS)Nr.z WARNING: %s WARNINGrrr`s r send_warningzWizardProgressPage.send_warnings7 h# 5777   C44444rcb|dtj|d|ddS)Nrrr)rlocaler)r'rrBs r send_progressz WizardProgressPage.send_progresss3   fjooooss-KRPPPPPrcNd|_d|_d|_g|_g|_d|_d|_|j|j d|j d|j d|j s2tj|jtj|j|dt(jd|j|_|dS)NrFTz Starting...皙?) _warnings_errorsr_task_warnings _task_errorsrrrrrri back_button cancel_buttonrr2push_status_query_handlerrpush_message_handlerrr4rr add_timeout update_statusrrrEs rrwzWizardProgressPage.starts !& "-.*  $$U+++ $$U+++ &&t,,,1 ?  )$*B C C C  $T%= > > > }%%%&2238JKK  rc|j|jd|jd|jd|js2tj|j tj |j | dd|_ tjd|j|_|dS)NFTz Resuming...r)rrrrirrrr2rrrrr4rrrrrrrrEs rrzWizardProgressPage.resumes  $$U+++ $$U+++ &&t,,,1 ?  )$*B C C C  $T%= > > > }%%% &2238JKK  rcdSr*rrEs rtasks_finishedz!WizardProgressPage.tasks_finished rcdSr*r)r'canceleds r tasks_failedzWizardProgressPage.tasks_failedrrc|d||d|jd|jd|_|jd|jd|j dd|_ | dS)NzProcessing Heldr{FT) r4_flush_messagesrrstoprrrirrrrrEs r_holdzWizardProgressPage._holds ()))  t E""" ',$ $$T*** $$T*** &&t,,, rc|jdks |jdkr|d||||d|js&t jt j|j d|j d|_ d|_ |jd|jd|jd|jd|j||jdks |jdkr1|js||dn||dS)NrzETasks finished with warnings and/or errors; view the logs for detailsz FTr)rrr4 final_messagerrr2pop_message_handlerpop_status_query_handlerrrrrrrrirrrr+r final_detailsrrrrrrEs rrLzWizardProgressPage._finisheds >A  !1!1 NNb c c c t))++,,,  v1 +  # % % %  ( * * * E""" ',$# $$T*** $$T*** &&u--- ##B''' ##D$6$6$8$8999 ] to continue if you think they are not important.z Click [Next >] to continue.)rrr)r'ret_vals rr z WizardProgressPage.final_details=sN r=rOrPrSrMrFrrcrrerrL)r'rr,rerrorr}s rrz WizardProgressPage.update_statusPs    5   .+IC"&D Qww3+37D0N44T:::N((***/<38D0N'')))N44U;;;((---   ' ' - - -{4=> 4? % !!!u 66tzBB=HHJJJJJJLLL$//0DeTSUWYZZZ   $***ccc RSSS"++D43M3Mc3R3R,RSSS uuuuu  >  LLNNN5 ?  OO   5   4?   (##%%%%$ (%%''' "D "$D   . .! 3 . .1S5E5EEE   uts3A(F H&A%HHry)F)$r r r rrr=rrrrrrrr%rrrr4r>rrrwrrrrrLrOrrr rr r r __classcell__)rs@rrrs#6 6 6 6 r       ,,,888&&& ) ) ) )   &&&444222333555QQQ(             "@0* \ \ \D... ,,,   EEEEEEErr)rrq collectionsrr2rrrr[sysplatformr7r rrr9rrrrrr*sN,   <N     i   xMxMxMxMxMxMxMxMv0L0L0L0L0L0L0L0Lh}}}}}+6}}}}}r