ó ä@Qc@s6ddlZddlmZdefd„ƒYZdS(iÿÿÿÿN(t WizardPagetSchemaMappingsOptionsViewcBs/eZd„Zdd„Zd„Zd„ZRS(cCsQtj||dƒ|jj|ddƒd|_tjjƒ|_ g|_ dS(NsSchema MappingssOBJECT MIGRATION( Rt__init__tmaintadd_wizard_pagetNonetschematatmformst RadioButtontnew_idtridtoptions(tselfR((s'..\modules\migration_schema_mappings.pyRs  tc s|jjjj}|jd‰g|jjjjD]}|d^q2}|r®|dkrcˆjnˆjd}x;|D]0}x'tˆ|ƒD]}||j|_qWqwWn|jˆ_|sßt ‡fd†|Dƒƒ}nxt |jƒdD]} | j ˆj krO|jjj j dd| d| jˆj| j ˆj ˆj fƒn| jˆjkr¥|jjj j dd| d| jˆj| jˆjˆjfƒnxL|D]D}t| |ƒ} |s…||jd „| Dƒƒ} | r§t d „| Dƒƒ} xk| D]c} | | jd| j7_|jjj j dd| d i|d d 6| d6| | jd6ƒqW||j| ƒq§n"|dkrš| jnˆjd}tˆ|ƒj| ƒx0| D](}ˆ|_|rÄ||j|_qÄqÄWq¬WqóW|jjƒ|jjˆƒdS(Nit schema_namet_c3s4|]*}|td„tˆ|ƒDƒƒfVqdS(css|]}|jVqdS(N(tname(t.0tobj((s'..\modules\migration_schema_mappings.pys 0sN(tsettgetattr(Rtotype(tschema(s'..\modules\migration_schema_mappings.pys 0sisSchema MappingssoWhile merging schema %s into %s: Default charset for schemata differs (%s vs %s). Setting default charset to %sssWhile merging schema %s into %s: Default collation for schemata differs (%s vs %s). Setting default collation to %scss|]}|jVqdS(N(R(RR((s'..\modules\migration_schema_mappings.pys >scss|]}|j|fVqdS(N(R(RR((s'..\modules\migration_schema_mappings.pys @sseThe name of the %(otype)s "%(oname)s" conflicts with other %(otype)s names: renamed to "%(onewname)s"iÿÿÿÿRtonametonewname(RtplantmigrationSourcetcatalogRtsupportedObjectTypesRt__id__RtdicttlisttdefaultCharacterSetNametstatetaddMigrationLogEntrytdefaultCollationNamet intersectiontupdatetextendtownert remove_alltappend(R tprefixRtsuptypetotypest actual_prefixRRt known_namest other_schemat other_objectstrepeated_object_namest objects_dicttrepeated_object_name((Rs'..\modules\migration_schema_mappings.pyt_merge_schemata sN )"  ,,  "   cCs|jjjr |jjjjr |jjjjjr tjtjƒ}|jdƒtj t ƒ}|j dƒ|j dƒdddg}g|_ xM|D]E}tj|jƒ}|j|ƒ|j|t ƒ|j j|ƒqW|j|ƒ|jj|t ƒn |jƒdS(Ns'Choose how your schemata will be mappediis?Keep schemata as they are: Catalog.Schema.Table -> Schema.Tables6Only one schema: Catalog.Schema.Table -> Catalog.TableseOnly one schema, keep current schema names as a prefix: Catalog.Schema.Table -> Catalog.Schema__Table(RRRRRRtnewPaneltTitledBoxPanelt set_titletnewBoxtFalset set_paddingt set_spacingR tnewRadioButtonR tset_texttaddR)tcontenttgo_next(R t optionspanelt optionsboxR toptt radio_button((s'..\modules\migration_schema_mappings.pyt create_uiWs$6        csg‡fd†}|ƒ}|dkr1ˆjƒn|dkrPˆjddƒnttˆƒjƒdS(Ncs4x-tˆjƒD]\}}|jƒr|SqWdS(N(t enumerateR t get_activeR(tidxt option_radio(R (s'..\modules\migration_schema_mappings.pytfind_selected_optionss iiR*R(R4tsuperRR@(R RJtselected_option((R s'..\modules\migration_schema_mappings.pyR@qs    (t__name__t __module__RR4RER@(((s'..\modules\migration_schema_mappings.pyRs 7 (Rt workbench.uiRR(((s'..\modules\migration_schema_mappings.pyts