U _3@sddlZddlZddlmZddlmZddlTddlmZddlmZddl TdZ e dd ge d d ge d d giZeddeDZddZd(ddZddZddZddZddZedkrejZeZe\ZZejrzddlm Z Wn(e!k rede"d YnXe#ed kr@ed!e$e"d eeZ%ed"Z&dZ'ej'rrd#d$ej'(d%DZ'eej)e&fe%Z*ej+rd&,ed dZ-ee-e*ee*e'ejd'dS))N)getpass) OptionParser)*)print_) __version__zfrom peewee import *%s database = %s('%s', **%s) class UnknownField(object): def __init__(self, *_, **__): pass class BaseModel(Model): class Meta: database = database mysqlZmysqldbZpostgres postgresqlZsqlitesqlite3ccs$|]}t|D]}||fVqqdSN)DATABASE_ALIASES).0keyvaluer7/opt/alt/python38/lib64/python3.8/site-packages/pwiz.py s rcKsV|tkr(tddttd|dd}t|}||f|}tj||dS)Nz)Unrecognized database, must be one of: %s, schema)r) DATABASE_MAPerrjoinkeyssysexitpopZ IntrospectorZ from_database)Z database_typeZ database_namekwargsrZ DatabaseClassdbrrrmake_introspector#s    rFcsj|dttjtfdfdd t }t j D]"}||kr^|rv||kr^||q^dS)N)Z table_namescs|pg}j|}|D]Z}|j}||kr<||kr._print_table..z )z schema = '%s'csg|]\}}|kr|jqSr)name)r colr" primary_keysrr msz6print_models.._print_table..css|]}d|VqdSr!r)r pkrrrrpsz& primary_key = CompositeKey(%s)) foreign_keys dest_tableradd model_namescolumnsitemssortedr&alllenZ field_classZ pk_classes primary_key get_fieldmulti_column_indexesrr)tableseenaccumr) foreign_keydestr-r#columnskipr4fieldsuniqueZpk_field_namesZpk_list _print_tabledatabase introspectorpreserve_orderr%rr?7sb            z"print_models.._print_table)N) Z introspectrTEMPLATEZget_additional_importsZget_database_class__name__get_database_namereprZget_database_kwargssetr/r,r)rAtablesrBr6r5rr>r print_models.s  ? rIcCsXtj}tdtd|td|dtd|tdttddS)Nz# Code generated by:z# python -m pwiz %sz # Date: %sz%B %d, %Y %I:%M%pz# Database: %sz# Peewee version: %sr )datetimenowrstrftimerEpeewee_version)cmd_linerA timestamprrr print_header|s   rPcCstjd|tjdS)Nz %s )rstderrwriteflush)msgrrrrsrcCstdd}|j}|dddd|ddd d d |d d dd|dddddtt}|dddd|dd|dddd|dddd d!|d"d#d$dd%d&|d'd(dd)d*d+|S),Nz$usage: %prog [options] database_name)usagez-Hz--hosthost)r9z-pz--portportint)r9typez-uz--useruserz-Pz --passwordpassword store_true)r9actionz-ez--engineenginerzIDatabase type, e.g. sqlite, mysql or postgresql. Default is "postgresql".)r9defaultchoiceshelpz-sz--schemarz-tz--tablesrHzWOnly generate the specified tables. Multiple table names should be separated by commas.)r9raz-iz--infoinfozIAdd database information and other metadata to top of the generated file.)r9r]raz-oz--preserve-orderrBz6Model definition column ordering matches source table.)r]r9ra)r add_optionr/r)parserZaoZenginesrrrget_option_parsers*    recs.d}tfdd|D}jr*t|d<|S)N)rVrWrZrc3s&|]}t|r|t|fVqdSr )getattr)r ooptionsrrrs z%get_connect_kwargs..r[)dictr[r)riopsrrrhrget_connect_kwargss  rl__main__) OrderedDictz&Preserve order requires Python >= 2.7.rz%Missing required parameter "database"cCsg|]}|r|qSr)strip)r r5rrrr'sr', )rB)NF).rJrrZoptparserpeeweerrrMZplayhouse.reflectionrC MySQLDatabasePostgresqlDatabaseSqliteDatabaser rjrrrIrPrrerlrDargvZraw_argvrd parse_argsriargsrB collectionsrn ImportErrorrr1 print_helpconnectr@rHsplitr^rArbrrNrrrrs`      N