ó ¾[/\c@@s“ddlmZddlmZddlmZddlmZddlZddlZddl Zddl Zddl Z ddl Z ddl Z ddlZy$ddlmZddlmZWnIek rddlZdefd „ƒYZd efd „ƒYZnXd Ze jd ƒZd„Zd„Zd„Zd„Zd„Zejd„ƒZd„Zdd„Z!defd„ƒYZ"dS(i(tprint_function(tabsolute_import(tunicode_literals(t_N(tContext(tDataRcB@s_eZd„Zd„Zd„Zed„ƒZejd„ƒZd„Zd„Z d„Z RS(cC@stjƒ|jd]s(tdnftutiltfirsttsubkeys(tkey((s./usr/lib/python2.7/site-packages/dnf/crypto.pyt_extract_signing_subkey\sc@s5‡fd†tdtˆƒdƒDƒ}dj|ƒS(Nc3@s |]}ˆ||d!VqdS(iN((R(ti(tfpr_hex(s./usr/lib/python2.7/site-packages/dnf/crypto.pys asiiu (trangetlentjoin(R1tsegments((R1s./usr/lib/python2.7/site-packages/dnf/crypto.pyt_printable_fingerprint`s(c C@sÚ|j}t|ƒ}x¾|jD]³}xªt||ƒD]™}|j}||krrtjtdƒ|j|ƒq5n|j j |ƒsŠq5nt j j j|j|jd|dtƒtjtdƒ|j|ƒq5WqWdS(Nurepo %s: 0x%s already importedtgpgdirt make_ro_copyurepo %s: imported key 0x%s.(t _pubring_dirtkeyids_from_pubringtgpgkeytretrievetid_tloggertdebugRtidt _key_importt_confirmR*tyumtmisctimport_key_to_pubringtraw_keytshort_idtFalse(trepoR7t known_keystkeyurltkeyinfotkeyid((s./usr/lib/python2.7/site-packages/dnf/crypto.pytimport_repo_keyses     c C@s‹tjj|ƒsgSt|ƒctƒS}g}x?|jƒD]1}t|ƒ}|dk rB|j|j ƒqBqBW|SWdQXWdQXdS(N( tostpathtexistst pubring_dirRtkeylistR/tNonetappendRM(R7RtkeyidstkR)((s./usr/lib/python2.7/site-packages/dnf/crypto.pyR:vs   cC@sNtdƒ|j|jt|jƒ|jjddƒf}tjd|ƒdS(NuLImporting GPG key 0x%s: Userid : "%s" Fingerprint: %s From : %sufile://uu%s( RRGtuseridR6t fingerprintturltreplaceR>tcritical(RLtmsg((s./usr/lib/python2.7/site-packages/dnf/crypto.pytlog_key_importƒs    cc@sYtjjtdƒ}|tjtR/R6RNR:R^tcontextmanagerRRRnRTR<Re(((s./usr/lib/python2.7/site-packages/dnf/crypto.pyts: