XׯdddlTddlmZddlZddlZddlZedddZedd e d gd d gd e ej ej j dZedde d gd d gd e ej ej j dZdZdZeddegd d gd e ej ej jdZeddde ej dZe ej ejdZe ej j ej jejdZdS))*)AppN WbTableUtilsz MySQL Teamz1.0)nameauthorversionz#wb.table.util.copyInsertToClipboardzCopy Inserts to Clipboardzdb.TablezCatalog/Utilitiesz Menu/Objects)captioninputgroupsaccessibilityNamecv|}|dkr]tjj|t jdnAt jd|jj zdz|j zdzdS)NReadyz The table .z% has no records for insert statementsr) insertsgrtmodules WorkbenchcopyToClipboardrgetset_status_textownerr)tablers ..\modules\table_utils_grt.pycopyInsertToClipboardr's MMOO' ]][**5==??;;;WYYw''''WYY|ek.>>DuzQT{{||| z+wb.table.util.copyInsertTemplateToClipboardz!Copy Insert Template to Clipboardcd|jjzdz|jzdz}d}|jD]%}|dkr|d|jzz }n |d|jzz }d}&|dz }d}|jD]}|dkr|d z }n|d z }d}|d z }tjj|tj d dS) Nz INSERT INTO `z`.`z` (rz`, ``z `) VALUES (z, NULLNULLz);r) rrcolumnsrrrrrrr)rcodefirstcols rcopyInsertTemplateToClipboardr%6s 5;+ +e 3ej @5 H$ % ]c zz fsxdd cCHnd EE-$ % ]c zz mdd fnd EE$,$+''---'))G$$$ rcg}|d}|D]}|d\}}}g}|dD]j}|d\} }} | r;|| | fk|||f|S)N  ,)stripsplit partitionappend) r"defstablestrsepr! column_defscolumncncts r_parse_table_definitionsr6Ss D JJLL  t $ $F ))WWYY0055c7 mmoo++C00 = =F ,,..22377KBR =""BHHJJ #;<<< T;'(((( Krc|j}|d}||_|D]\}}tj}||_|dr |ddn||_|r|||| ||dr| ||S)Nzdb.mysqlrr) simpleDatatypes addNewTablerrclassesdb_mysql_Columnr startswith setParseType addColumnaddPrimaryKeyColumn) catalogschemarr!typestblcnamectyper3s r _create_tablerFcs  "E   J ' 'CCH,, u ++-- #(#3#3C#8#8CeABBiie  .   u - - - f   C  ,  # #F + + + Jrzwb.table.util.quickTablesCreate Multiple Tablesc tjdtj tjd}tjd}|d|d||ddtjtj }||dd | dtj }| dtj }| dtjd}tj||||d||dd d d  |jd }| fd  d|r?t-|}|D]\} } | rt1||| | d Sd S)NzYou can create multiple tables by giving their outline in the following format: table1 *column1 int,column2 varchar(32),column3 table2 column1,column2 table3 ... * denotes a primary key column. Column type is optional.F TrGOKCanceliXi^rc.dS)NT) end_modal)formsrz&quickTablesInCatalog..sDNN4$8$8rr)mformsFormFormDialogFramenewLabelnewBox set_spacing set_paddingadd newTextBoxVerticalScrollBar set_content set_title newButtonset_text Utilitiesadd_end_ok_cancel_buttonsadd_endset_sizecenterschemataadd_clicked_callback run_modalr6get_string_valuerF) r@labelboxtextokcancelbboxrA tabledefsrr!rOs @rquickTablesInCatalogrous +dF2 3 3D O< = =E -  COOBOOBGGE5%    V5 6 6DGGD$SNN+,,,    BKK    F OOH =  D ..tR@@@QKKeT"""MM#sKKMMM  a F8888999 ~~dF##+D,A,A,C,CDD & > >MD' >gvtW===q 1rz%wb.table.util.openTableTemplateEditorzOpen Table Templates Editor)r r cPtjdSNr)table_templatesTableTemplateManageredit_templatesrropenTableTemplateEditorrvs$(**99;;; 1rcRtj|dSrq)rrrs edit_template)rs ropenTableTemplateEditorForrys$&((66t<<< rcPtj||S)N)rrrs$create_table_like_template_in_schema)rA template_names rcreateTableFromTemplater}s#  / 1 1 V VW]_l m mmr)wbrQrrrr DefineModule ModuleInfopluginwbinputs objectOfClassexportINTr:db_Tablerr%r6rFcurrentCatalog db_CatalogrorvSTRINGry db_Schemar}rurrrs&.  \ e T T T  8C^hph~h~@JiKiKhLVijxUyMhii 37CK011  21ii  @KnyAyOyOPZy[y[x\fyzHeI]@AA 37CK011  21AA 6    $ .9Q[c[r[r[t[tZu@STbcwOPP 37CK233* * 43PP* Z :EbwTUU 37  UU  37CJ''  ('  3;')> KKnnLKnnnr