+
     ii>                         ^ RI t ^ RIHtHt ^ RIHtHtHt ^ RIH	t	H
t
 ^ RIHt ] P                  ! ]4      tRR ltRR ltR tR	 tR
 tR# )    N)environwalk)abspathisfilejoin)PopenPIPE)PUBLIC_DIR_REc              #    "   \        V4      p\        V \        \         34      '       d"   V  F  p\        W!4       F  pVx  K	  	  K  	  R# \	        V 4      '       d   V P                  V4      '       d   V x  R# \        \        V 4      4       F5  w  rEpV F)  pVP                  V4      '       g   K  \        WC4      x  K+  	  K7  	  R# 5i)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6 7  
5>>*55&*75>&:"D
 ;;z**t.( ! ';s   A0C39C1Cc              #    "   \        V4      p\        P                  ! 4       pRVR&   \        RRV 3\        \        VR7      pVP                  4       w  rEVP                  ^ 8w  d   \        RV ,          4      hVP                  RRR	7      pVP                  4        F   pVP                  V4      '       g   K  Vx  K"  	  R
# 5i)z4Generate *.py file names available in given package.zC.UTF-8LC_ALLz/usr/bin/dpkgz-L)stdoutstderrenvzcannot get content of %szutf-8replace)errorsN)r   r   copyr   r	   communicate
returncode	Exceptiondecode
splitlinesr   )package_namer   r   processr   r   lines   &&     r   from_packager)   .   s     z"J
,,.CCM_dL9$ $#/G((*NFQ2\ABB]]79]5F!!#==$$J $s   B/C 6
C c              #  Z   "   V  F   pVP                  V4      '       g   K  Vx  K"  	  R# 5i)z4Generate *.py file names that match given directory.N)
startswith)filesr   r   s   && r   filter_directoryr-   >   s#     ==H s   +
+c              #     "   \        R V 4       4      p\        R V 4       4      pV  FF  p\        P                  ! V4      pV'       g   K#  VP                  ^4      pWc9   g	   Wb9   g   KB  Vx  KH  	  R# 5i)z3Generate *.py file names that match given versions.c              3   4   "   T F  pR V,          x  K  	  R# 5i)z%d.%dN .0is   & r   	<genexpr> filter_public.<locals>.<genexpr>G   s     -Hqw{{Hs   c              3   F   "   T F  p\        V^ ,          4      x  K  	  R# 5i)r   N)strr1   s   & r   r4   r5   H   s     2Ac!A$iis   !N)setr
   matchgroup)r,   versionsvstrshared_vstrr   
public_dirverss   &&     r   filter_publicr@   E   sc     -H--D222K"((,
:##A&D"dl s   AA5A5+
A5c              #  p   "   \        V4      pV  F   pVP                  V4      '       d   K  Vx  K"  	  R# 5i)z<Removes files with matching extensions from given generator.N)r   r   )r,   r   r   s   && r   filter_out_extrB   Q   s-     z"J{{:&&H s   %6
6))z.py)loggingosr   r   os.pathr   r   r   
subprocessr   r	   	debpythonr
   	getLogger__name__logr   r)   r-   r@   rB   r0       r   <module>rL      sB   *   ) ) " #!)  	rK   