�
ґ2d� � � � d dl Z d dlmZ d dlmZmZmZ d dlmZm Z d dl
mZ e j e
� � Zdd�Zdd�Zd � Zd
� Zd� ZdS )
� N)�walk)�abspath�isfile�join)�Popen�PIPE)�
PUBLIC_DIR_RE�z.pyc # � K � t |� � }t | t t f� � r| D ]}t |� � D ]}|V � ��dS t | � � r| � |� � r| V � dS t
t | � � � � D ]2\ }}}|D ])}|� |� � rt ||� � V � �*�3dS )z6Generate *.py file names available in given directory.N) �tuple�
isinstance�list�from_directoryr �endswithr r r )�dname�
extensions�item�fn�root�dirs�
file_namess �%/usr/share/python3/debpython/files.pyr r s � � � ��z�"�"�J��%�$���'�'�
)�� � �D�$�T�*�*�
�
�������
� � �
���� )�5�>�>�*�5�5� )�������&*�7�5�>�>�&:�&:� )� )�"�D�$�
� �
)�
)���;�;�z�*�*� )��t�R�.�.�(�(�(��
)� )� )� c # �N K � t |� � }t dd| ft t �� � }|� � � \ }}|j dk rt d| z � � �t
|d� � }|� � � D ]}|� |� � r|V � �dS )z4Generate *.py file names available in given package.z
/usr/bin/dpkgz-L)�stdout�stderrr zcannot get content of %szutf-8N) r r r �communicate�
returncode� Exception�str�
splitlinesr )�package_namer �processr r �lines r �from_packager% . s� � � � ��z�"�"�J��_�d�L�9�$� $�&� &� &�G��(�(�*�*�N�F�F���Q����2�\�A�B�B�B�
���
!�
!�F��!�!�#�#� � ���=�=��$�$� ��J�J�J��� r c # �F K � | D ]}|� |� � r|V � �dS )z4Generate *.py file names that match given directory.N)�
startswith)�filesr r s r �filter_directoryr) < |