%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core/17212/usr/share/dh-python/dhpython/__pycache__/
Upload File :
Create Path :
Current File : //snap/core/17212/usr/share/dh-python/dhpython/__pycache__/debhelper.cpython-35.pyc



�U]r)�@s�ddlZddlmZmZddlmZmZmZddlm	Z	m
Z
mZmZej
d�ZGdd�d�ZdS)�N)�makedirs�chmod)�exists�join�dirname)�DEPENDS_SUBSTVARS�
PKG_NAME_TPLS�RT_LOCATIONS�RT_TPLS�dhpythonc@syeZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�	DebHelperz>Reinvents the wheel / some dh functionality (Perl is ugly ;-P)�cpython3cCs�||_i|_d|_d}d}||_t�}x3tj�D]%\}}||krF|j|�qFWt|�}t	|}|j
}	|j}
ytdddd�}Wnt
k
r�td��YnXx�|D]�}|jd�r�q�|j�sd}d}d}
q�|j�}|r�||jkr5q�|jd	�rn|d
d�j�}||j|d<q�|jt|�s�|jd�r�||kr�q�d}
q�|
r�|jd$�s�d}
tjd||�|j|=q�||kr�d}
q�|jd�r�|dd�j�}|rE|j|�rEtjd|�q�|	rZ||	krZq�|
ro||
kroq�dididgddi|j|<q�|jd�r�|dd�j�|_q�|r&|jdkr&|jd�r&|dd�|_t|jjd��dkr�td��q�|r�|jdkr�|jd �rl|jsl|dd�j�|_|jd!�r�|d"d�j�|_q�W|j�tjd#|jt|jj���dS)%NTzdebian/control�r�encodingzutf-8zcannot find debian/control file�#Fz
architecture:�
�archzdepends:� �	z+skipping package %s (missing %s in Depends)zpackage:�zskipping package: %s�	substvars�autoscripts�	rtupdates�anyzsource:�r
zx-python3-version:��,�zDtoo many arguments provided for X-Python3-Version: min and max only.Zcpython2zxs-python-version:zx-python-version:�zsource=%s, binary packages=%s)rr)�options�packagesZpython_version�impl�setr�items�update�tupler�packageZ
no_package�open�IOError�	Exception�
startswith�strip�lower�log�debugZsource_name�len�split�
ValueError�close�list�keys)�selfrr!Zsource_sectionZbinary_packageZskip_tpl�nameZtplsZsubstvarZpkgsZ	skip_pkgs�fp�lineZinside_depends_fieldZline_lr�r9�*/usr/share/dh-python/dhpython/debhelper.py�__init__ s�					
		

		

	$	
zDebHelper.__init__cCs(|j|dj|g�j|�dS)zdebhelper's addsubstvarrN)r �
setdefault�append)r5r&r6�valuer9r9r:�addsubstvarwszDebHelper.addsubstvarcCs4|j|dj|i�j|g�j|�dS)zdebhelper's autoscriptrN)r r<r=)r5r&�when�template�argsr9r9r:�
autoscript{szDebHelper.autoscriptcCs|j|dj|�dS)Nr)r r=)r5r&r>r9r9r:�add_rtupdate�szDebHelper.add_rtupdatecCs�x�|jj�D]�\}}|jd�}|s4qx�|j�D]�\}}d||f}t|�r�t|ddd��}|j�}WdQRXnd}d}	x�|j�D]�\}
}x�|D]�}ttt�dd|
�}
t|
�s�d	|
}
t|
ddd��}|j�}WdQRX|j	j
rM|rM|jd
d�}n|jd|�}|jd|�}||kr�||	kr�|	d
|7}	q�Wq�W|	rA|ddj|	�7}t|ddd�}|j
|�|j�qAWqWdS)Nrzdebian/%s.%s.debhelperrrzutf-8�z..zautoscripts/%sz#/usr/share/debhelper/autoscripts/%sz-p #PACKAGE#z	#PACKAGE#z#ARGS#z
%sz#
# Automatically added by dhpython:z%{}
# End automatically added section
�w)r r#�getrr'�readrr�__file__r�compile_all�replace�format�writer2)r5r&�settingsrr@Z	templates�fn�datafile�dataZnew_dataZtpl_namerB�iZfpathZtplfileZtplr7r9r9r:�save_autoscripts�s>



zDebHelper.save_autoscriptscCs6x/|jj�D]\}}|jd�}|s4qd|}t|�rxt|ddd��}|j�}WdQRXnd}xi|j�D][\}}|jd|�}	|	dkr�||	d�jd	�}
||	td|�|
dkr�|	|
nd�}d
d�|jd�D�}|
dkrp||	|
d�j	�rpd
|d|	�||	|
d�f}q�|d|	�}ng}x'|D]}
|
|kr�|j
|
�q�W|r�|r�|d	7}|d|dj|�f7}q�W|jdd	�}|rt|ddd�}|j
|�|j�qWdS)Nrzdebian/%s.substvarsrrzutf-8rEz%s=��
cSs"g|]}|r|j��qSr9)r+)�.0rRr9r9r:�
<listcomp>�s	z,DebHelper.save_substvars.<locals>.<listcomp>rz%s
%sz%s=%s
z, z

rF���rXrX)r r#rGrr'rH�findr/r0r+r=rrKrMr2)r5r&rNrrOrPrQr6�values�p�er8r#�jr7r9r9r:�save_substvars�s@
 &+

!
zDebHelper.save_substvarsc	Cs\xU|jj�D]D\}}|jjr.dnd|}|jd�}|sPqdj|t|j�}t|�st	|�d||f}t|�r�t
|ddd�j�}nd	}xS|D]K\}}	t|jjd
|d|d|	�}
|
|kr�|d
|
7}q�W|rt
|ddd�}|j
|�|j�t|d�qWdS)NrEz-p %srzdebian/{}/{}z%s/%s.rtupdaterrzutf-8z#! /bin/sh
set -e�pkg_arg�dnamerBz
%srFi�)r r#rrJrGrLr	r!rrr'rHr
rMr2r)r5r&rNr_rZ�drOrQr`rB�cmdr7r9r9r:�
save_rtupdate�s.
	

zDebHelper.save_rtupdatecCs"|j�|j�|j�dS)N)r^rSrc)r5r9r9r:�save�s

zDebHelper.saveN)�__name__�
__module__�__qualname__�__doc__r;r?rCrDrSr^rcrdr9r9r9r:rsW'%r)Zlogging�osrr�os.pathrrrrrrr	r
Z	getLoggerr-rr9r9r9r:�<module>s
"

Zerion Mini Shell 1.0