;ò †h¸Cc@s dZdZddd!ZdkZdklZdkZdklZlZlZl Z l Z dk Z dk Z dk Z dkZdklZd eijo8ydklZWqÖej odklZqÖXnd klZd klZd klZd efd„ƒYZd„ZdS(s¤Some tools for extending and working with distutils CREDITS: This module borrows code and ideas from M.A. Lemburg's excellent setup tools for the mxBase package. s!Tavis Rudd s$Revision: 1.8 $i iþÿÿÿN(slistdir(sexistssisdirsisfilesjoinssplitext(ssetupsCHEETAH_USE_SETUPTOOLS(sCommand(s install_data(s findFilessmod_install_datacBs tZdZd„Zd„ZRS(s•A modified version of the disutils install_data command that allows data files to be included directly in the installed Python package tree. cCsC|itjo"|iidƒ}|i|_nti|ƒdS(Nsinstall( sselfs install_dirsNones distributionsget_command_objs installobjs install_libs install_datasfinalize_options(sselfs installobj((sB/mnt/gmirror/ports/devel/py-cheetah/work/Cheetah-2.0/SetupTools.pysfinalize_options-scCs|i o|i|iƒn|iƒ}xÔ|D]Ì}t|ƒti jo t d‚nt i t i |dƒtiƒ}|idƒoC|tdƒ}|i ƒd}|i ƒd}t||ƒ} nti|ƒ} x| D]}|i tiƒdtii |i tiƒdƒf\}}|ii}|o?|} x<|iƒD]$\} }||jo | } PqOqOWn|} ti!i |i| |ƒ}ti!i |ƒd} |i o'|i| ƒ|i$||ƒd} n|} |i&i'| ƒqåWq2WdS(Ns+The entries in "data_files" must be stringss/s recursive:ii((sselfsdry_runsmkpaths install_dirs get_inputss data_filessentrystypestypess StringTypes ValueErrorsstringsjoinssplitsossseps startswithslensdirs globPatternss findFiless filenamessglobsfilenamestopDirssubPaths distributions package_dirspackage_dirDicts packageDirsitemsskeysvalspathsdstPathsdstdirs copy_filesoutfilesoutfilessappend(sselfstopDirsdstPaths data_filesspackage_dirDictsvalsfilenames globPatternsssubPaths filenamessoutfileskeysdstdirs packageDirsentrysdir((sB/mnt/gmirror/ports/devel/py-cheetah/work/Cheetah-2.0/SetupTools.pysrun5sB   !>      (s__name__s __module__s__doc__sfinalize_optionssrun(((sB/mnt/gmirror/ports/devel/py-cheetah/work/Cheetah-2.0/SetupTools.pysmod_install_data(s  cCsÁh}x!|D]}|it|ƒƒq Wxg|iƒD]Y\}}|d djp.t|ƒt i t i t i t i t ifjo ||=q7q7Whdt<}||d