;ò ÿ¬Ec@sedkZdkZdkZdklZdklZdk l Z defd„ƒYZd„Z dS(N(sbuild_py(s convert_path(sglobsbuild_pycBs‘tZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z e i d jod d „Z nd „Zd „Zd„ZRS(sXEnhanced 'build_py' command that includes data files with packages The data files are specified via a 'package_data' argument to 'setup()'. See 'setuptools.dist.Distribution' for more details. Also, this version of the 'build_py' command allows you to specify both 'py_modules' and 'packages' in the same setup operation. cCsTti|ƒ|ii|_|iiph|_d|ijo|id=ndS(Ns data_files(s _build_pysfinalize_optionssselfs distributions package_datasexclude_package_datas__dict__(sself((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pysfinalize_optionss  cCsx|i o|i odSn|io|iƒn|io|iƒ|iƒn|iti|ddƒƒdS(s?Build modules, packages, and copy data files to build directoryNsinclude_bytecodei( sselfs py_modulesspackagess build_modulessbuild_packagessbuild_package_datas byte_compiles _build_pys get_outputs(sself((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pysruns   cCs<|djo|iƒ|_}|Snti||ƒSdS(Ns data_files(sattrsselfs_get_data_filess data_filessfiless _build_pys __getattr__(sselfsattrsfiles((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pys __getattr__%s c CsÇ|iƒg}x¬|ipfD]š}|i|ƒ}tii |i g|i dƒŒ}t |ƒd}gi}|i||ƒD]}|||ƒq…~}|i||||fƒq!W|SdS(s?Generate list of '(package,src_dir,build_dir,filenames)' tupless.iN(sselfsanalyze_manifestsdataspackagesspackagesget_package_dirssrc_dirsosspathsjoins build_libssplits build_dirslensplensappends_[1]sfind_data_filessfiles filenames( sselfspackagesdatas build_dirs filenamess_[1]sfilesplenssrc_dir((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pys_get_data_files*s %7cCsŽ|iidgƒ|ii|gƒ}|ii|gƒ}x6|D].}|it t i i |t|ƒƒƒƒqEW|i|||ƒSdS(s6Return filenames for package's data files in 'src_dir'sN(sselfs package_datasgetspackagesglobssmanifest_filessfilesspatternsextendsglobsosspathsjoinssrc_dirs convert_pathsexclude_data_files(sselfspackagessrc_dirsfilesspatternsglobs((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pysfind_data_files?s(,cCsˆt}x{|iD]p\}}}}x[|D]S}t i i ||ƒ}|i t i i|ƒƒ|it i i ||ƒ|ƒq)WqWdS(s$Copy data files into build directoryN(sNoneslastdirsselfs data_filesspackagessrc_dirs build_dirs filenamessfilenamesosspathsjoinstargetsmkpathsdirnames copy_file(sselfstargetspackages build_dirs filenamesssrc_dirslastdirsfilename((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pysbuild_package_dataIs c Cslh|_}|ii odSnh}x1|ipfD]}||t|i |ƒƒ|ii D],}||jp|i |dƒoPqrqrW|St |dƒ}d|iƒjo!dkl}|id|ƒn|iƒ|SdS(s8Check namespace packages' __init__ for declare_namespaces.srUsdeclare_namespace(slogs¼WARNING: %s is a namespace package, but its __init__.py does not declare_namespace(); setuptools 0.7 will REQUIRE this! (See the setuptools manual under "Namespace Packages" for details.) N(sselfspackages_checkedspackagesKeyErrors _build_pys check_packages package_dirsinit_pys distributionsnamespace_packagesspkgs startswithsopensfsreads distutilsslogswarnsclose(sselfspackages package_dirsfslogsinit_pyspkg((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pys check_package|s*  !     cCsh|_ti|ƒdS(N(sselfspackages_checkeds _build_pysinitialize_options(sself((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pysinitialize_options›s c CsÜ|iidgƒ|ii|gƒ} g}x<| D]4}|iti |t i i |t|ƒƒƒƒq5Wti|ƒ}h}gi}|D]A}||jo||jo|i|dƒo||ƒqq~SdS(s6Filter filenames for package's data files in 'src_dir'siN(sselfsexclude_package_datasgetspackagesglobssbadspatternsextendsfnmatchsfiltersfilessosspathsjoinssrc_dirs convert_pathsdictsfromkeyssseensappends_[1]sfs setdefault( sselfspackagessrc_dirsfilesspatternsfs_[1]sbadsseensglobs((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pysexclude_data_files¥s(2(s__name__s __module__s__doc__sfinalize_optionssruns __getattr__s_get_data_filessfind_data_filessbuild_package_datasanalyze_manifestsget_data_filesssyssversions get_outputss check_packagesinitialize_optionssexclude_data_files(((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pysbuild_pys         cCs=tii|ƒ o|Sndkl}|d|ƒ‚dS(N(sDistutilsSetupErrorsªError: setup script specifies an absolute path: %s setup() arguments must *always* be /-separated paths relative to the setup.py directory, *never* absolute paths. (sosspathsisabssdistutils.errorssDistutilsSetupError(spathsDistutilsSetupError((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pysassert_relative¸s ( sos.pathsosssyssfnmatchsdistutils.command.build_pysbuild_pys _build_pysdistutils.utils convert_pathsglobsassert_relative(s convert_pathsassert_relativesbuild_pysglobssyss _build_pysfnmatchsos((s[/mnt/gmirror/ports/devel/py-setuptools/work/setuptools-0.6c7/setuptools/command/build_py.pys?s    ²