Xc@sddlmZddlTddlZddlZddlZddlZddlZddlZ ddl Z ddl Z dd/dYZ e Z dZdZeZgagadd d d d d dgZiadZdadZddZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%ddZ&dZ'd Z(dd!Z)dd"Z*d#Z+d$Z,d%d0d&YZ-d'd1d(YZ.d)d2d*YZ/d+d3d,YZ0d-d4d.YZ1dS(5i(t TYPE_CORE(t*Nt_lazy_import_langtablecBseZdZdZRS(cCs d|_dS(N(tNonetmod(tself((s!/usr/lib/yum-plugins/langpacks.pyt__init__$scCs7|jdkr'ddl}||_nt|j|S(Ni(RRt langtabletgetattr(RtnameR((s!/usr/lib/yum-plugins/langpacks.pyt __getattr__'s  (t__name__t __module__RR (((s!/usr/lib/yum-plugins/langpacks.pyR"s ccs]y&xtjj|D] }|VqWWn0tk rX}tjd|t|fIJnXdS(Ns%s: %s(tyumtmisctcElementTree_iterparset SyntaxErrortsyststderrtstr(tfilenamete((s!/usr/lib/yum-plugins/langpacks.pyt iterparse/s  s2.5ten_AUten_CAten_GBtpt_BRtpt_PTtzh_CNtzh_TWcCstst|ndS(N(tconditional_pkgstmy_postreposetup_hook(trepos((s!/usr/lib/yum-plugins/langpacks.pyt_setup_conditional_pkgs>scCsg}d}d}x|D]}|jds@t|dkr|d}tjd|ddjd}t|dkr|j|n||kr|j|q|d}q||kr|j|q|d}qWt|S( Nit_iit languageIdtlanguageIdQuerytensUTF-8(tcounttlenRt language_nametencodetappendtsorted(t alllanglisttuniq_lang_listtdupt processedtitemtlangname((s!/usr/lib/yum-plugins/langpacks.pytget_unique_language_namesEs  ! !   cCs|}g}ddddddddd d d d d ddddg}g}t}xEtD]=}t|}|d}|jds[|j|d q[q[W|jdg|} t| dd} x|D]} | } x| D]\} } | j|kr| jj| r| jd}| jjd}||}|jdrT|d}n|j | j||kr||kr|j|qqqqqWqW||fS(Ntdeveltbrowsert debuginfotmusict overridestBraziltBritishtFarsitLowSaxontcs_CZtmysqltcommontexamplestibasetodbct postgresqltstaticistesseract-langpack-iR tkeycSs|dS(Ni((tx((s!/usr/lib/yum-plugins/langpacks.pytpst-talphabet_sounds_i( tsetRt startswithR*tsearchGeneratorR+R R&tsplittadd(tbasetybt srchpkglistt skip_pkg_listtlanglisttseentbasepkgtcondstpkg_pattresR0tsrchpkgtpkgtvaluestlidxt langsplittlname((s!/usr/lib/yum-plugins/langpacks.pytread_available_langpacks]s<          !cCstjd|ddjdS(NR#R$R%sUTF-8(RR(R)(tlc((s!/usr/lib/yum-plugins/langpacks.pytlc_to_langnamescCstjd|S(Nt languageName(RR#(R1((s!/usr/lib/yum-plugins/langpacks.pytlangname_to_lcscCsts gSg}y)ttd}|j}|jWnttfk rU}gSXx'|D]}|j}|j|q]W|S(Ntr(tconffiletopent readlinestclosetIOErrortOSErrortstripR*(trettftlistRR0((s!/usr/lib/yum-plugins/langpacks.pytread_installed_langpackss   cCsts dStjjt}tjj|sbytj|dWqbttfk r^}dSXnyWttdd}x|D]}|j |dqW|j tj tdtWnttfk r}dSXdS(Nis.tmpsw+s ( RdtostpathtdirnametexiststmakedirsRhRiRetwriteRgtrename(RmtdirRttmptline((s!/usr/lib/yum-plugins/langpacks.pytwrite_installed_langpackss   cCsYd}t}x0|D](}||kr|j|d}qqW|rUt|ndS(Nii(RnR*Ry(tlangstmodifiedRmtlang((s!/usr/lib/yum-plugins/langpacks.pytadd_langpack_to_installed_lists     cCsd}d}t}xl|D]d}t|dkrX|jddkrXt|}n|}||kr|j|d}qqW|rt|ndS(NitiR"ii(RnR'tfindRbtremoveRy(RzR{t removelangRmR|((s!/usr/lib/yum-plugins/langpacks.pyt#remove_langpack_from_installed_lists  '   cCstj\}}|dkr'd}n|jddd|}|r|jd}xA|D]6}|j}|jdd|ftj|q[Wnt j j drt j djd }xA|D]6}|j}|jdd|ftj|qWn|j }|sdSt |d r5|j}nt |jd r|jt|jt|jt|jt|jtndS( NR%tmaintlangpack_localestdefaultt,isAdding %s to language listtLANGUAGEt:tplugin_option_grouptregisterCommand(tlocaletgetdefaultlocaleRt confStringRLRjtinfoRzR*Rotenvironthas_keyt getOptParserthasattrRt_baseRtLanginstallCommandtLangremoveCommandtLanglistCommandtLanginfoCommandtLangavailableCommand(tconduitR|tencodingtconflistRwtconfitemRmtparser((s!/usr/lib/yum-plugins/langpacks.pyt config_hooks6        cCsm|j}|jjdat}xD|D]<}|jds)|jdd|ftj|q)q)WdS(Ns&/plugins/langpacks/installed_langpackst#isAdding %s to language list( Rtconft persistdirRdRnRJRRzR*(RRORmR|((s!/usr/lib/yum-plugins/langpacks.pyt init_hooks   cCs x|D]}y|j}Wntjjk r9qnX|sFqntjj|dt}xt|D]\}}|jdkrkxt|j D]c}|jdkrqn|j d}|j d}|t krgt |xa|j D]V}||krqn|j j |}|j rt||j |j|jqqW|j}|jtkrt||qq>q>WdS(N(R!Rt listEnabledRt getTsInfot getMemberst output_statet TS_INSTALLtTS_TRUEINSTALLtgroupstcompst return_grouptlangonlyRR*tgroupidRR RRtTS_ERASEt TS_OBSOLETEDRR(RROt groups_addedtgroups_removedtmembertgtgroupR((s!/usr/lib/yum-plugins/langpacks.pytpostresolve_hook s6       cCstrttndS(N(RR}(R((s!/usr/lib/yum-plugins/langpacks.pytposttrans_hook+sRcBs5eZdZdZdZdZdZRS(cCsdgS(Nt langinstall((R((s!/usr/lib/yum-plugins/langpacks.pytgetNames0scCsdS(Ns[langinstall lang1|lang2|...]((R((s!/usr/lib/yum-plugins/langpacks.pytgetUsage3scCsdS(Ns1Install appropriate language packs for a language((R((s!/usr/lib/yum-plugins/langpacks.pyt getSummary6scCsdS(N((RRNtbasecmdtextcmds((s!/usr/lib/yum-plugins/langpacks.pytdoCheck9scCsh|jjdkrddgfS|jjt|jjx^|D]V}t|dkr|jddkrtdt ||qFtd||qFW|j \}}|dkr||fSt|j dkrdddj |gfS|j}t|td kr1t|d kr1|S|dkrJdd gfS|d dj tgfSdS( Niis,You need to be root to perform this command.iR"isNo langpacks to install for: %st is#Language pack installation aborted!s Language packs installed for: %s(i(RtuidR tdoSetupR!RR'RRRRbtbuildTransactionRtjoint doTransactionttypeR(RRNRRR|tcodetmsgstrc((s!/usr/lib/yum-plugins/langpacks.pyt doCommand<s&   '   *  (R R RRRRR(((s!/usr/lib/yum-plugins/langpacks.pyR/s     RcBs5eZdZdZdZdZdZRS(cCsdgS(Nt langremove((R((s!/usr/lib/yum-plugins/langpacks.pyRTscCsdS(Ns[langremove lang1|lang2|...]((R((s!/usr/lib/yum-plugins/langpacks.pyRWscCsdS(Ns.Remove installed language packs for a language((R((s!/usr/lib/yum-plugins/langpacks.pyRZscCsdS(N((RRNRR((s!/usr/lib/yum-plugins/langpacks.pyR]scCs||jjdkrddgfS|jjt|jjx^|D]V}t|dkr|jddkrtdt ||qFtd||qFW|j \}}|dkr||fSt|j dkrt |dddj|gfS|j}t|td kr;t|d kr;|S|dkrTdd gfSt ||d dj|gfSdS( Niis,You need to be root to perform this command.iR"isNo langpacks to remove for: %sRisLanguage pack removal aborted!sLanguage packs removed for: %s(i(RRR RR!RR'RRRRbRRRRRR(RRNRRR|RRR((s!/usr/lib/yum-plugins/langpacks.pyR`s*   '    *   (R R RRRRR(((s!/usr/lib/yum-plugins/langpacks.pyRSs     RcBs5eZdZdZdZdZdZRS(cCsdgS(NRR((R((s!/usr/lib/yum-plugins/langpacks.pyRzscCsdS(Ns [langlist]((R((s!/usr/lib/yum-plugins/langpacks.pyR}scCsdS(NsList installed languages((R((s!/usr/lib/yum-plugins/langpacks.pyRscCsdS(N((RRNRR((s!/usr/lib/yum-plugins/langpacks.pyRscCs[t}|rIdGHx7|D]'}|jdsdt|GHqqWndGHddgfS(NsInstalled languages:Rs sNo langpacks installediR~(RnRJR`(RRNRRRmR0((s!/usr/lib/yum-plugins/langpacks.pyRs  (R R RRRRR(((s!/usr/lib/yum-plugins/langpacks.pyRys     RcBs5eZdZdZdZdZdZRS(cCsdgS(Ntlanginfo((R((s!/usr/lib/yum-plugins/langpacks.pyRscCsdS(Ns[langinfo lang1|lang2|...]((R((s!/usr/lib/yum-plugins/langpacks.pyRscCsdS(NsList languages information((R((s!/usr/lib/yum-plugins/langpacks.pyRscCsdS(N((RRNRR((s!/usr/lib/yum-plugins/langpacks.pyRsc Cs|jjt|jjt|\}}x|D]}dj|GHt|dkrqdGHddgfS|tkrzt|dkrz|jddkrzt ||}|jd dkrd d }|j d n|jd dkrd d}|j dn|jddkr@d d}|j dnxU|D],} | j|dkrG|j | PqGqGWnt|dkr*|jddkr*tt |dkrdGHddgfSt |t |}d t |}x|D],} | j|dkr|j | PqqWnn|jddkrt ||}d |}x=|D],} | j|dkr_|j | Pq_q_Wng}x|D]} d| GHqWt|dkr9dj|GHq9q9WddgfS(NsLanguage-Id={0}isNot a valid inputiR~iR"iRs)Red_Hat_Enterprise_Linux-Release_Notes-7-spt-BRslibreoffice-langpack-pt-BRRszh-CNslibreoffice-langpack-zh-HansRszh-TWslibreoffice-langpack-zh-HantsNot a valid language names s'No langpacks to show for languages: {0}( R RR!RR^tformatR'twhitelisted_localesRRR*Rb( RRNRRRtra_listR|t list_pkgst relnotpkgRY((s!/usr/lib/yum-plugins/langpacks.pyRs\   3      '          (R R RRRRR(((s!/usr/lib/yum-plugins/langpacks.pyRs     RcBs5eZdZdZdZdZdZRS(cCsdgS(Nt langavailable((R((s!/usr/lib/yum-plugins/langpacks.pyRscCsdS(Ns[langavailable lang1|lang2|...]((R((s!/usr/lib/yum-plugins/langpacks.pyRscCsdS(NsCheck available languages((R((s!/usr/lib/yum-plugins/langpacks.pyRscCsdS(N((RRNRR((s!/usr/lib/yum-plugins/langpacks.pyRsc Cs*|jjt|jjt|\}}t|}|stdGHx|D]}dj|t|GHqPWnx|D]}t|dkr|j ddkr|j t t j |krdj|GHqdj|GHq{t ||kr dj|GHq{dj|GHq{Wdd gfS( Ns#Displaying all available language:-s {0} [{1}]iR"is{0} is availables{0} is not availableiR~(R RR!RR^R2RRbR'RtlowerRRR`( RRNRRtlanguage_packsRRRtlitemR|((s!/usr/lib/yum-plugins/langpacks.pyRs"    '(R R RRRRR(((s!/usr/lib/yum-plugins/langpacks.pyRs     (((((((2t yum.pluginsRt yum.constantstfnmatchtglobRRotrpmt yum.ErrorsR tyum.miscRRRRtrequires_api_versiont plugin_typeRzRRRR!RRdR2R^R`RbRnRyR}RRRRRRRRRRRRRRRRRRR(((s!/usr/lib/yum-plugins/langpacks.pytsZ            *      #     %  E  ,  $&H