Ye ddlZddlmZddlmZmZmZddlmZm Z ddl m Z ej e Zd dZd dZd Zd Zd ZdS) N)walk)abspathisfilejoin)PopenPIPE) PUBLIC_DIR_REz.pyc#Kt|}t|ttfr|D]}t|D]}|VdSt |r||r|VdSt t|D]2\}}}|D])}||rt||V*3dS)z6Generate *.py file names available in given directory.N) tuple isinstancelistfrom_directoryrendswithrrr)dname extensionsitemfnrootdirs file_namess %/usr/share/python3/debpython/files.pyrrsz""J%$'' )  D$T**      )5>>*55) &*75>>&:&: ) ) "D$   ) );;z**)tR..((( ) ) )c#NKt|}tdd|ftt}|\}}|jdkrt d|zt |d}|D]}||r|VdS)z4Generate *.py file names available in given package.z /usr/bin/dpkgz-L)stdoutstderrrzcannot get content of %szutf-8N) r rr communicate returncode Exceptionstr splitlinesr) package_namerprocessrrlines r from_packager%.sz""J_dL9$ $&&&G((**NFFQ2\ABBB  ! !F!!## == $ $ JJJrc#FK|D]}||r|VdS)z4Generate *.py file names that match given directory.N) startswith)filesrrs rfilter_directoryr)<s= ==   HHHrc#Ktd|D}td|D}|D]9}tj|}|r!|d}||vs||vr|V:dS)z3Generate *.py file names that match given versions.c3 K|] }d|zV dS)z%d.%dN.0is r z filter_public..Es&--qw{------rc3@K|]}t|dVdS)rN)r r-s rr0z filter_public..Fs,22Ac!A$ii222222rN)setr matchgroup)r(versionsvstr shared_vstrr public_dirverss r filter_publicr;Cs --H--- - -D2222222K"(,,  ##A&&D{""ddll rc#dKt|}|D]}||s|VdS)zrFs*))))))))))""""""""######g!! ) ) ) )       r