)> ddlZddlmZmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZdd lmZmZdd lmZd Zd Zdadad ZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dS)N)DictOptional)Engine) sessionmaker) NoResultFound)cpapi) LIMIT_LVP_ID)NameMap)deserialize_lve_idserialize_lve_id)usershaman)uid_to_usernameusername_to_uidcft$t}||atSN)_name_map_cacher link_xml_node)name_maps lvestats/lib/uidconverter.py _get_name_maprs099   " cX tj|jS#t$rYdSwxYwr)pwdgetpwuidpw_nameKeyError)uids ruid_to_username_localr(s<|C  (( tt  ))ct|}|: tj|j}n#t $rt |}YnwxYw|Sr)rget_namerrrr_get_reseller_name_from_panelrresellers r_uid_to_reseller_localr&0si'',,H :|C((0HH : : :4S99HHH : Os?AActH dtjDan#tj$riaYnwxYwt|}|S)Nci|]\}}|| Sr)).0kvs r z1_get_reseller_name_from_panel..AsHHH$!QAHHHr)_id_reseller_map_cacherget_reseller_id_pairsitems NotSupportedgetr$s rr#r#;s% (HH%"="?"?"E"E"G"GHHH # "! ( ( (%' " " " (%))#..H Os/9A  A cDt|Sr)rget_id)names r_reseller_to_uid_localr6Hs ?? ! !$ ' ''rcRt|}|tt|SdSr)r6r r )r5results rreseller_to_uidr9Ms- #D ) )F  f555rcX tj|jS#t$rYdSwxYwr)rgetpwnampw_uidr)usernames rusername_to_uid_localr>Ss<|H%%,, ttr ct|} |ttj|ktj|k}n%#t$rY|dSwxYw |n#|wxYw|j SN)bind) rqueryr filterr server_idonerclose user_name)rrD db_enginesession user_insts r_uid_to_username_dbrK[s*l ***,,GMM$''..tx3/3~/JLLLOCEE         *AA76B27 BB2BB22Cc$t|||Sr)rK)rrDrHs r_uid_to_reseller_dbrNis sIy 9 99rct|} |ttj|ktj|k}n%#t$rY|dSwxYw |n#|wxYw|j Sr@) rrBr rCrGrDrErrFr)r=rDrHrIrJs r_username_to_uid_dbrPos*l ***,,GMM$''..t~/I/3~/JLLLOCEE        =rLcd||||fvrtdt|\}}|rtnt}|rtnt }||kr||}|r|S||||S)NzEAll parameters should be specified and not None for uid_to_username()) ValueErrorr r&rrNrK)rlocal_server_idrDrH is_reselleruid_to_name_local_funcuid_to_name_database_funcr8s rrr}s _i;;;`aaa)#..C7B]33H]7B [ 3 3H[O##'',,  M $ $S)Y ? ??rcd||||fvrtd||krt|}|r|St|||S)z Lookups for uid in local user database (/etc/passwd) and global one (table lve_stats2_user). If local_server_id equals to server_id then local user database has priority. NzEAll parameters should be specified and not None for username_to_uid())rRr>rP)r=rSrDrHr8s rrrs^  /9i@@@`aaaO##&x00  M xI > >>rcXt|\}}|r|Stt|Sr)r r r )any_iddummyrTs rconvert_id_to_lvp_idr[s1+F33E;6  f555rc,t|}|r|SdS)N)r9)r5lvp_ids rconvert_name_to_lvp_idr_s! T " "F  2r)'rtypingrrsqlalchemy.enginersqlalchemy.ormrsqlalchemy.orm.excrclcommonrclcommon.clprocr lveapir lvestats.lib.commons.funcr r lvestats.ormr __author____all__rr.rrr&r#r6r9r>rKrNrPrrr[r_r)rrrks !!!!!!!!$$$$$$'''''',,,,,,((((((JJJJJJJJ   1   ((( 666    :::   @@@"???"666r