
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
UZ+                 @   s   d dl Z d dlZd dlZyd dlmZ dZdZdZW n  ek
rT   dZdZdZY nX d	d
 Z	dd Z
dd Zdd Zdd Zdd ZdS )    N)__version__z/etc/dnf/plugins/spacewalk.confzdnf-plugin-spacewalkdnfz$/etc/yum/pluginconf.d/rhnplugin.confzyum-rhn-pluginZyumc              C   sN   d} d}t  r6d}t r*t s4t  d} qFt  d} ntjjdrFd}|| fS )z!Enables plugin, may throw IOErrorr      z(/usr/lib/zypp/plugins/services/spacewalk)PluginPackagePresentPluginConfPresentPluginEnabledenablePlugincreateDefaultPluginConfospathexists)Zconf_changedZplugin_present r   /usr/lib/python3.6/pmPlugin.pypluginEnable   s    r   c              C   s   t j } | jdt}|j S )zO Returns positive number if plugin package is installed, otherwise it return 0 Zprovidename)rpmZTransactionSetZdbMatchPM_PLUGIN_NAMEcount)ZtsZheadersr   r   r   r   %   s    r   c               C   s(   yt jt dS  tk
r"   dS X dS )z- Returns true if PM_PLUGIN_CONF is presented TFN)r
   statPM_PLUGIN_CONFOSErrorr   r   r   r   r   +   s
    
r   c              C   s    t td} | jd | j  dS )z1 Create file PM_PLUGIN_CONF, with default values wz[main]
enabled = 1
gpgcheck = 1N)openr   writeclose)fr   r   r   r	   3   s    
r	   c              C   s   t td} | j }| j  d}d}xZ|D ]R}tjd|rNtjd|rJd}nd}|r(tjd|}|r(t|jd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   )r   r   	readlinesr   rematchintgroup)r   linesmain_sectionresultlinemr   r   r   r   ;   s"    

r   c              C   s   t td} | j }| j  d}t td} xJ|D ]B}tjd|rTtjd|rPd}nd}|rftjdd|}| j| q.W | j  d	S )
ze enable plugin by setting enabled=1 in file PM_PLUGIN_CONF
        Can thrown IOError exception.
    r   Fr   z^\[.*]z^\[main]Tz^(\s*)enabled\s*=.+z\1enabled = 1N)r   r   r   r   r   r   subr   )r   r!   r"   r$   r   r   r   r   S   s    


r   )r
   r   r   r   r   r   r   ZPM_NAMEImportErrorr   r   r   r	   r   r   r   r   r   r   <module>   s"   
