
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
UˆŠZ+  ã               @   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"   
