HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/usr/share/python/debpython/namespace.pyc
�
}k^c@�s�ddlmZddlZddlmZmZmZmZddlm	Z	m
Z
mZmZm
Z
ddlmZmZddlmZddlmZmZeje�Zdd�Zedd	��Zddd
�Zd�ZdS(i����(twith_statementN(tenvirontlistdirtremovetrmdir(tdirnametexiststjointgetsizetsplit(tPopentPIPE(t
PUBLIC_DIR_RE(tmemoizetsitedircC�slt|pg�}xS|D]K}t|d��4}x*|D]"}|r8|j|j��q8q8WWdQXqW|S(s#Parse namespace_packages.txt files.trN(tsettopentaddtstrip(tfpathstothertresulttfpathtfptline((s(/usr/share/python/debpython/namespace.pytparse"s

$cC�s�d}dtjdd�}|rLt||�}t|�r�|g}q�n7t|�r�gt|�D]}t||�^qe}n|r�td�t|�D��}n	t�}|S(s~Return a set of namespaces to regenerate/clean.

    :param package: limit namespaces to the ones needed by given package
    s%s/usr/share/python/ns/tDESTDIRtcs�s!|]}|jdd�VqdS(t.t/N(treplace(t.0ti((s(/usr/share/python/debpython/namespace.pys	<genexpr>AsN(tNoneRtgetRRRRR(tpackageRtnsdirRR!R((s(/usr/share/python/debpython/namespace.pytload-s+	cc�sU|dk	r-t|�}t�}t�}nx/|D]'}|V|dkrQq4nt|�}||kr4|j|�tj|�}|r[|j�}	x�||	krT|t|	�d}
|
|kr4t	|d�}|t
kr$yt|d�j�Wn!t
k
rtjd|�q1X|Vq4|j|�n|j|�t|�d}q�Wq[q4q4W|tkrQ|rQtddj	|�dt
d	t�}|j�\}
}xF|
j�D]8}|jd
d�d}||kr�|j|�q�q�Wx]|D]R}yt|�Wn6ttfk
rD}tjd|�tj|�q�X|Vq�WndS(
s)Add __init__.py files to given generator.is__init__.pytascannot create %sis/usr/bin/dpkg -S %s 2>/dev/nullt tshelltstdouts: scannot remove %sN(R"R&RRRRtmatchtgrouptlenRtTrueRtcloset	ExceptiontlogterrorR	tFalseR
Rtcommunicatet
splitlinesRtIOErrortOSErrortdebug(tfilesR$tactiont
namespacestalready_processedtremoval_candidatestfntdpathtmt
public_dirtns_dirRtprocessR*tstderrRtnste((s(/usr/share/python/debpython/namespace.pytadd_namespace_filesGsT	




c	C�s�t|t�st|�}nt�}x�|D]�}x�|D]{}tt||�|jd��}t|d�}t|�s�q;nt|�dkr;tjd|�|j	|�Pq;q;Wq.W||}x�|D]�}xp|D]h}tt||�|jd��}t|d�}t|�r�t
|�t|�sDt|�qDq�q�Wtd|d|jd��}t|d�}t|�r�t
|�t|�s�t|�q�q�q�W|S(s8Remove empty __init__.py files for requested namespaces.Rs__init__.pyis)file not empty, cannot share %s namespacetdebiansusr/share/pyshared(
t
isinstanceRRRR	RRR1twarningRRRR(	R$R;tversionstkeepREtversionRRR?((s(/usr/share/python/debpython/namespace.pytremove_from_packages:	

!



!

(t
__future__RtloggingtosRRRRtos.pathRRRRR	t
subprocessR
Rtdebpython.pydistRtdebpython.toolsR
Rt	getLoggert__name__R1R"RR&RGRN(((s(/usr/share/python/debpython/namespace.pyt<module>s"(8