3 ÷¢g+ ã @sŠddlZddlZddlZyddlmZdZdZdZWn ek rTdZdZdZYnXd d „Z d d „Z d d„Z dd„Z dd„Z dd„ZdS)éN)Ú __version__z/etc/dnf/plugins/spacewalk.confzdnf-plugin-spacewalkÚdnfz$/etc/yum/pluginconf.d/rhnplugin.confzyum-rhn-pluginZyumcCsNd}d}tƒr6d}tƒr*tƒs4tƒd}qFtƒd}ntjjdƒrFd}||fS)z!Enables plugin, may throw IOErrorréz(/usr/lib/zypp/plugins/services/spacewalk)ÚPluginPackagePresentÚPluginConfPresentÚ PluginEnabledÚ enablePluginÚcreateDefaultPluginConfÚosÚpathÚexists)Z conf_changedZplugin_present©r ú/usr/lib/python3.6/pmPlugin.pyÚ pluginEnables rcCstjƒ}|jdtƒ}|jƒS)zO Returns positive number if plugin package is installed, otherwise it return 0 Z providename)ÚrpmZTransactionSetZdbMatchÚPM_PLUGIN_NAMEÚcount)ZtsZheadersr r rr%s rc Cs(ytjtƒdStk r"dSXdS)z- Returns true if PM_PLUGIN_CONF is presented TFN)r ÚstatÚPM_PLUGIN_CONFÚOSErrorr r r rr+s  rcCs ttdƒ}|jdƒ|jƒdS)z1 Create file PM_PLUGIN_CONF, with default values Úwz[main] enabled = 1 gpgcheck = 1N)ÚopenrÚwriteÚclose)Úfr r rr 3s r cCs‚ttdƒ}|jƒ}|jƒd}d}xZ|D]R}tjd|ƒrNtjd|ƒrJd}nd}|r(tjd|ƒ}|r(t|jdƒƒrvd}q(d}q(W|S)zM Returns True if plugin is enabled Can thrown IOError exception. ÚrFz^\[.*]z^\[main]Tz^\s*enabled\s*=\s*([0-9])r)rrÚ readlinesrÚreÚmatchÚintÚgroup)rÚlinesÚ main_sectionÚresultÚlineÚmr r rr;s"     rcCs€ttdƒ}|jƒ}|jƒd}ttdƒ}xJ|D]B}tjd|ƒrTtjd|ƒrPd}nd}|rftjdd|ƒ}|j|ƒq.W|jƒd S) ze enable plugin by setting enabled=1 in file PM_PLUGIN_CONF Can thrown IOError exception. rFrz^\[.*]z^\[main]Tz^(\s*)enabled\s*=.+z \1enabled = 1N)rrrrrrÚsubr)rr!r"r$r r rrSs     r)r rrrrrrZPM_NAMEÚ ImportErrorrrrr rrr r r rÚs"