; CZ@c@sJdklZdklZdklZdkZdefdYZdS((sbuild_py(s convert_path(sglobNsbuild_pycBsGtZdZdZdZdZdZdZddZRS(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. cCs/ti||ii|_|i|_dS(N(s _build_pysfinalize_optionssselfs distributions package_datasget_data_filess data_files(sself((s[/mnt/gmirror/ports/devel/py-protocols/work/PyProtocols-0.9.3/setuptools/command/build_py.pysfinalize_optionss cCsx|i o|i odSn|io|in|io|i|in|iti|dddS(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-protocols/work/PyProtocols-0.9.3/setuptools/command/build_py.pysruns   c Csg}x|iD]}|i|}tii|i g|i d}t |d}gi}|i||D]}|||qt~}|i||||fqW|SdS(s?Generate list of '(package,src_dir,build_dir,filenames)' tupless.iN(sdatasselfspackagesspackagesget_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-protocols/work/PyProtocols-0.9.3/setuptools/command/build_py.pysget_data_files*s %7cCso|iidg|ii|g}g}x6|D].}|itt i i |t |q5W|SdS(s6Return filenames for package's data files in 'src_dir'sN(sselfs package_datasgetspackagesglobssfilesspatternsextendsglobsosspathsjoinssrc_dirs convert_path(sselfspackagessrc_dirsfilesspatternsglobs((s[/mnt/gmirror/ports/devel/py-protocols/work/PyProtocols-0.9.3/setuptools/command/build_py.pysfind_data_filesDs(,cCst}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-protocols/work/PyProtocols-0.9.3/setuptools/command/build_py.pysbuild_package_dataSs icCsdti||gi}|iD]8\}}}}|D]}|t i i||q6q ~SdS(sVReturn complete list of files copied to the build directory This includes both '.py' files and data files, as well as '.pyc' and '.pyo' files if 'include_bytecode' is true. (This method is needed for the 'install_lib' command to do its job properly, and to generate a correct installation manifest.) N(s _build_pys get_outputssselfsinclude_bytecodesappends_[1]s data_filesspackagessrc_dirs build_dirs filenamessfilenamesosspathsjoin(sselfsinclude_bytecodespackages build_dirs filenamess_[1]ssrc_dirsfilename((s[/mnt/gmirror/ports/devel/py-protocols/work/PyProtocols-0.9.3/setuptools/command/build_py.pys get_outputsas( s__name__s __module__s__doc__sfinalize_optionssrunsget_data_filessfind_data_filessbuild_package_datas get_outputs(((s[/mnt/gmirror/ports/devel/py-protocols/work/PyProtocols-0.9.3/setuptools/command/build_py.pysbuild_pys      (sdistutils.command.build_pysbuild_pys _build_pysdistutils.utils convert_pathsglobsos.pathsos(s convert_pathsglobs _build_pysossbuild_py((s[/mnt/gmirror/ports/devel/py-protocols/work/PyProtocols-0.9.3/setuptools/command/build_py.pys?s