XׯdD6ddlZddlZddlZddlZddlmZddlmZmZddl m Z m Z ddl m Z GddejZGdd ejZGd d ejZdS) N)Thread)QueueEmpty)log_info log_error)MySQLScriptImportercNeZdZdZdZedZdZdZdZ dZ dZ d S) RunPanelc>tj||||d|d|dtjd|_ | |j ddddtj tj |_ | |j ddddtj |j dd||_||_t#|j|_|j|j_|j|j_t-|_d|_d|_d|_d|_dS)NzRunning script...ri)mformsTable__init__ set_managedset_release_on_add set_row_countset_column_count set_paddingnewLabellabeladd HFillFlagnewProgressBarprogressset_size log_callbackeditorr connectionimporterreport_progress report_outputr _worker_queue_worker_progress_status_progress_value _update_timer)selfrrs ..\modules\run_script.pyrzRunPanel.__init__$s` d###  !!! 1 a    _%899  Q1a)9:::-//  1aF,<=== sB'''( +F,=>> (,(< %&*&8 #"WW $ !c`|jr&tj|jdSdSN)r(r Utilitiescancel_timeoutr)s r*__del__zRunPanel.__del__Ds:   @   + +D,> ? ? ? ? ? @ @r+c|jdkSr-)r%r0s r*is_busyzRunPanel.is_busyHs|t##r+c||_|r|j||dkrt||z |_dSdS)Nr)r&r$putfloatr')r)statuscurrenttotals r*r"zRunPanel.report_progressMsR &  +   " "6 * * * 199#(>>E#9D  9r+c^td|z|j|dS)Nz%s )rr$r5)r)messages r*r#zRunPanel.report_outputUs2'!""" w'''''r+c |j}|X|jd|_d|_|jd|ddSt|tr>|t|dzt|tj r5|j ddkr$tjdddd d nt|tjr||jjjd }|jjj}tj||tjdd t|zdd d nLtjdd t|zdd d n||dz|j|j|j|j|j&#t8$rYnwxYw|j|j|j|j|jdS) NTF r iRun SQL ScriptzPThe current MySQL account does not have enough privileges to execute the script.OKuserNamezError executing SQL script. )r$ get_nowaitr%joinr(rshowr isinstance ExceptionstrgrtDBErrorargsrr. show_error DBLoginErrorrr parameterValueshostIdentifierforget_passwordr&rset_text set_valuer'r)r)datausernamehosts r* update_uizRunPanel.update_uiZs!  >)4466<L%%'''#'DL)-D&M&&u---%%d+++ 5dI..1%%c$iin555!$ 44 m19M9M(334D5GIMOQSUVVVV#D#*:;; m#';#9#I*#U#{5D(88xHHH(334D4STWX\T]T]4]_cegikmmmm(334D4STWX\T]T]4]_cegikmmmm%%d4i000(4J''(=>>> ''(<==== >>    D   , J   5 6 6 6  4555tsA2H)6F3H)) H65H6c td|zd|z|_d|_|j|||tdn#t j$r6}td|z|j |Yd}~nd}~wt j $r6}td|z|j |Yd}~n`d}~wt$rP}ddl }td|d | d |j |Yd}~nd}~wwxYw|j ddS) NzExecuting %s... zExecuting %s...r)default_schemadefault_charsetzRun script finished z%MySQL login error running script: %s zMySQL error running script: %s z%Unexpected exception running script: r=)rr&r'r! import_scriptrHrLrr$r5rIrF traceback format_exc)r)fileschemacharseterZs r*workz RunPanel.works & (4/ 0 0 0$5$B C C C   " "1 % % % % % % % %{ & & & 81< = = =   " "1 % % % % % % % % & & &     IIL`L`LbLbLbLbc d d d   " "1 % % % % % % % % & t$$$$$s1AAD2!,BD2$,C D2"AD--D2c|jjj}|d}|jjj}tj||\}}|s)tjd||d\} }| sdS|j |t|j |||f|_ |j tjd|j|_dS)NrAr>F)targetrJg?)rr rMrNrr.find_cached_passwordfind_or_ask_for_passwordr! set_passwordrr`r%start add_timeoutrUr() r)what default_dbrXrMrSrTokpwdaccepteds r*rfzRunPanel.starts+0@":.{%4"77hGGC ",EEFVX\^fhmnnMHc  ""3'''ty$ O9\]]]  #-99#t~NNr+N) __name__ __module__ __qualname__rr1propertyr3r"r#rUr`rfr+r*r r #s"""@@@@$$X$:::((( (((V%%%*OOOOOr+r c,eZdZdZdZdZdZdZdS)ParameterDialogc  tj|tjtj||_tjd}|d|d| tj dddtj d|_ | |j ddtj d|_ |j tj| |j ddtj}|d|d|d |d|d | tj d d d d d d tjtj|_| |jd dd d tjtjztj d}|tj| |dd d d tj| tj dd d d dd tj|_|j|jdg}t>j j!j"j#d j$D]}|%|j&|j'tQ|| |jd dd dtjtjztj d}|tj| |dd d dtj| |ddtj)|_*|j*+dtj)|_,|j,+dtjd}|dtj-.||j*|j,|/|dd|0|dS)NF zPreview the first lines of the script below and click [Run] to start executing. Note: the preview below may display non-ASCII characters incorrectly, even if the MySQL server can treat them correctly.Tr@r zDefault Schema Name:rr zSchema to be used unless explicitly specified in the script. Leave blank if the script already specified it, pick a schema from the drop down or type a name to create a new one.zDefault Character Set:zWDefault character set to use when executing the script, unless specified in the script.RunCancel)1rFormr main_formFormDialogFramerBoxr set_spacingrr file_info newCodeEditortext set_language LanguageMySQLnewTablerrset_row_spacingset_column_spacing newSelectorSelectorComboboxr]r HExpandFlag set_styleSmallHelpTextStyler^add_changed_callbackupdate_previewrHrootwb rdbmsMgmtrdbms characterSetsappendname add_itemssorted newButtonrjrPcancelr.add_end_ok_cancel_buttonsadd_end set_content)r)rboxtablehelplchhboxs r*rzParameterDialog.__init__s! T6;#8#8#:#:F>> D(+'-a0>  B HHRW     vayy))) $,1aF,r? X)% set_titlerexecuteManagementQuerynextRowstringFieldValuerr]rropenread preview_datadetected_charsetrecompilesplit startswithmatchgroupsrrrPosstatst_sizelenrrFrr.rKrGrcenter run_modalrjr) r)r\ known_schemasresultsrlinegcr_s r*runzParameterDialog.runsy ,t3444 33NAFF  9.."" ,++A..QQQ!((+++.."" , K ! !&"7"7 8 8 8  $T  5 5D $(D ! CDDA)//55  ??4(( AHHJJqM SWSWSWYZYZYZ![\\\01- N # #$W[][bcg[h[h[pruvzwHsIsI[J%J K K K    ! ! ! !      ' '(8#a&&$B O O O FFFFF  c3 ~~dgt{333s7D G H"0HHcn|jd}|dkrdS|S)Nutf8Defaultr@)r^get_string_valueencode)r)rs r*get_default_charsetz#ParameterDialog.get_default_charsets6 L ) ) + + 2 26 : : >>2r+cZ|jdS)Nr)r]rrr0s r*get_default_schemaz"ParameterDialog.get_default_schemas${++--44V<<FruTzOutput:Closervrr)r rrpanelrrnewBoxrrrrrrrjrPadd_clicked_callbackcloserrrrrrDrrf)r)r\rWrXrrs r* start_importzRunScriptForm.start_import9sdk4;77  '(((mE""    E4(((  **E4888  T4((("$$ !!! $$TZ000 z$  TWeT*** D%&&&  c3   E""" ~?????r+cbtjtj}|d|dd|rt |j}|| r| }|r|j d|zd| | d| |dSdS) Nr>zSQL Scripts (*.sql)|*.sqlsql CREATE SCHEMA IF NOT EXISTS `%s`r rTF)r FileChooserOpenFilerset_extensionsrrsrrget_pathrexecuteManagementCommandrrr)r)chooserdlgr]s r*rzRunScriptForm.run]s$V_55*+++:EBBB      !$+..Cwww''))** //11iK889[^d9dfghhh!!'"2"2"4"4";";F"C"CSE[E[E]E]_b_v_v_x_xyyytur+c:t|j}||rq|}|r|jd|zd||||dSdS)Nrr TF)rsrrrrrr)r)pathrr]s r*run_filezRunScriptForm.run_filemsdk** 774== ++--F e 445WZ`5`bcddd   dC$:$:$<$U>U>W>W X X X4ur+N)rmrnrorrrrrrqr+r*rr*sfBBB;;; @ @ @H        r+r)rrrHr threadingrqueuerr workbench.logrrworkbench.client_utilsrrr r|rsrrqr+r*rs1, --------666666FOFOFOFOFOv|FOFOFOVy=y=y=y=y=fky=y=y=xLLLLLFKLLLLLr+