JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr3 c8h+ @sddlZddlZddlZyddlmZdZdZdZWn ek rTdZdZdZYnXd d Z d d Z d dZ ddZ ddZ ddZdS)N) __version__z/etc/dnf/plugins/spacewalk.confzdnf-plugin-spacewalkdnfz$/etc/yum/pluginconf.d/rhnplugin.confzyum-rhn-pluginZyumcCsNd}d}tr6d}tr*ts4td}qFtd}ntjjdrFd}||fS)z!Enables plugin, may throw IOErrorrz(/usr/lib/zypp/plugins/services/spacewalk)PluginPackagePresentPluginConfPresent PluginEnabled enablePlugincreateDefaultPluginConfospathexists)Z conf_changedZplugin_presentr /usr/lib/python3.6/pmPlugin.py pluginEnables rcCstj}|jdt}|jS)zO Returns positive number if plugin package is installed, otherwise it return 0 Z providename)rpmZTransactionSetZdbMatchPM_PLUGIN_NAMEcount)ZtsZheadersr r rr%s rc Cs(ytjtdStk r"dSXdS)z- Returns true if PM_PLUGIN_CONF is presented TFN)r statPM_PLUGIN_CONFOSErrorr r r rr+s  rcCs ttd}|jd|jdS)z1 Create file PM_PLUGIN_CONF, with default values wz[main] enabled = 1 gpgcheck = 1N)openrwriteclose)fr r rr 3s r cCsttd}|j}|jd}d}xZ|D]R}tjd|rNtjd|rJd}nd}|r(tjd|}|r(t|jdrvd}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 readlinesrrematchintgroup)rlines main_sectionresultlinemr r rr;s"     rcCsttd}|j}|jd}ttd}xJ|D]B}tjd|rTtjd|rPd}nd}|rftjdd|}|j|q.W|jd 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)rrrrrrsubr)rr!r"r$r r rrSs     r)r rrrrrrZPM_NAME ImportErrorrrrr rrr r r rs"