Ñò ‚Ic@s²ddkZddkZddkZddkZddklZlZddkZddkZddk Z ye Wn#e j oddk l Z nXdefd„ƒYZdS(iÿÿÿÿN(tCommandt BadCommand(tSettCreateDistroCommandc BseZdZdZeZdZeidedededeƒZ e i ddd d d d d dddƒe i ddd dd dddddƒe i dd dd dddƒe i dd dd dddƒe i d d d!d ddd"ƒe i d#d d$d ddd%ƒe i d&d d'd d(dd)ƒe i d*ƒZ d+Zd+Zd,„Zd-„Zd.„Zd/d0d1d2d3d4d5d6gZd7„Zd8„Zd9„Zd:„Zd;„Zd<„Zd=„Zd>d?„Zd@dAdBgZdCdDdEgZd>dFdG„ZdH„ZdI„Z dKdJ„Z"RS(Ls(PACKAGE_NAME [VAR=VALUE VAR2=VALUE2 ...]s0Create the file layout for a Python distributionsó Create a new project. Projects are typically Python packages, ready for distribution. Projects are created from templates, and represent different kinds of projects -- associated with a particular framework for instance. tsimulatetno_interactivetquiett overwrites-ts --templatetdestt templatestmetavartTEMPLATEtactiontappendthelps$Add a template to the create processs-os --output-dirt output_dirtDIRtdefaultt.s<Write put the directory into DIR (default current directory)s--svn-repositorytsvn_repositorytREPOSslCreate package at given repository location (this will create the standard trunk/ tags/ branches/ hierarchy)s--list-templatestlist_templatest store_truesList all templates availables--list-variablestlist_variablessMList all variables expected by the given template (does not create a package)s--inspect-filest inspect_filessnShow where the files in the given (already created) directory came from (useful when using multiple templates)s--configtstoretconfigsTemplate variables files [^a-zA-Z0-9_]icCsÄ|iio |iƒS|iipdg}g}x|D]}|i||ƒq;W|iio|i|ƒS|iowdGHtg}|D]\}}|t|ƒq~ƒ}x7|D]/\}}d|d|t|ƒ|ifGHq¹WHn|i p-|i o|i dƒ}qDt dƒ‚n|i di tiiƒ}g}|D]\} }||qO~}tii|ii|ƒ} |iid|iƒƒ} h|d 6| d 6ti|ƒd 6} | i|i|i d ƒƒ|iioYtii|iiƒo@x=|i|iiƒiƒD]\} }| i| |ƒq$Wn|io|i| ƒn|ii o|i | || ƒdStii| ƒp d t!_"n|ii#o|i$| |ƒnx-|ddd…D]}|i%| |ƒ} qÝWt&ƒ}x|D]}|i|i'ƒq Wt(|ƒ}|i)ƒ|| d/usr/lib/python2.6/site-packages/paste/script/create_distro.pytcommandCsÆ    3   ' &          "    !         cCs1|iod|iGHn|i|||ƒdS(NsCreating template %s(R)R`trun(RXReRRb((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyRHÁs cCs|ii}tii||ƒiddƒ}d}tidjo|d7}nddd}|h|d 6|d 6|d 6}|iod GH|GHn|i pti |ƒntii|d ƒiddƒ}|d||f}|io d|GHn|i pti |ƒndS(Ns\t/tsvntwin32s.exes(%(svn_command)s mkdir %(svn_repos_path)ss1 %(svn_repos_path)s/trunk %(svn_repos_path)s/tagss; %(svn_repos_path)s/branches -m "New project %(dist_name)s"tsvn_repos_pathR^t svn_commandsRunning:ttrunks co "%s" "%s"s Running %s( R'RR1R2R4treplaceROtplatformR)Rtsystem(RXRR^t svn_reposRoRptcmdtsvn_repos_path_trunk((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyRCÆs, !    !   s top_level.txtsentry_points.txts requires.txtsPKG-INFOsnamespace_packages.txts SOURCES.txtsdependency_links.txts not-zip-safecCs×|ii}ti||dƒ}d}tidjo|d7}n|i|dd|ƒtii |dƒ}tii |ƒo|i|d|ƒn|i|dd d i |i ƒ|ƒ|i o d GHndS( NRRmRns.exetadds-Nspaster_plugins.txttpss svn:ignores s@You must next run 'svn commit' to commit the files to repository( R'RR8RKRORsRNR1R2R4R<tignore_egg_info_filesR)(RXRbRRuRKRptpaster_plugins_file((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyRUìs    c CsNd|jo|iddƒ\}}nd|}}|djoax”|iƒD]<}|i|jo&|iƒ|iƒ}|ii}PqPqPWtd|ƒ‚n7ti |ƒ}|i d|ƒ}|iƒ|iƒ}d||f}x&|D]\}} ||jodSqñWx!|i D]} |i || ƒqW|i ||fƒdS(Nt#isTemplate by name %r not foundspaste.paster_create_templates%s#%s(tsplitRJtall_entry_pointsR`tloadtdistt project_namet LookupErrort pkg_resourcestget_distributiontget_entry_infotrequired_templatesR(R ( RXR RZR^tentryR\R€t full_nametitem_full_namet item_tmpltreq_name((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyR(þs2           cCs3t|dƒpttidƒƒ|_n|iS(Nt _entry_pointsspaste.paster_create_template(thasattrRFRƒtiter_entry_pointsRŒ(RX((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyR~s c Cs‰|iƒ}|iƒdGHtg}|D]\}}|t|ƒq)~ƒ}x4|D],\}}d|d|t|ƒ|fGHqUWdS(Ns Variables:s %s:%s %sR(R>RGR*R+(RXRbR[tntvtmax_varR`Rd((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyR@ s  3 c Csóg}xg|iƒD]Y}y |i|iƒ|iƒƒWqtj o$}d|i|ii|fGHqXqWtg}|D]}|t|iƒq~~ƒ}|i d„ƒdGHx7|D]/}d|id|t|iƒ|i fGHq¼WdS(Ns/Warning: could not load entry point %s (%s: %s)cSst|i|iƒS((tcmpR`(tatb((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyt3ssAvailable templates:s %s:%s %sR( R~R RR`t Exceptiont __class__t__name__R*R+RGR,(RXR R‡teR[tttmax_nameRe((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyR)s"  !0cCsNh}x!|D]}|i|||ƒq W|i||ƒ|i||ƒdS(N(t _find_filest _show_filest_show_leftovers(RXRR Rbt file_sourcesRe((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyR<s cCs&|iƒ}|i||||ƒdS(N(t template_dirt_find_template_files(RXReRbRŸttmpl_dir((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyRœCs Rc Cstii||ƒ}xti|ƒD]ð}|idƒoq%ntiitii||ƒƒo2|i||||dtii||ƒƒq%ntii||ƒ}x0|iƒD]"\}} |id|| ƒ}q¸W|i dƒo|d }n|i |gƒi |ƒq%WdS(NRR4s+%s+t_tmpliûÿÿÿ( R1R2R4tlistdirt startswithtisdirR¡R>RrtendswithR?R ( RXReR¢RbRŸR4tfull_dirR`tpartialRd((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyR¡Hs"" s.*s*.pycs*.bak*tCVSt_darcss.svnicCsEdd|}tii||ƒ}ti|ƒ}g}|D]3} tiitii|| ƒƒo || q=q=~} g} |D]3} tiitii|| ƒƒp | | q„q„~ } | iƒ|iƒx|D]ü} t}xR|iD]G}ti| |ƒo.|i djod|| fGHnt }PqñqñW|oqÛntii|| ƒ}||jo*|i djod|| fGHqÛqÛn|i |ƒ}d|| fGHx |D]}d||i fGHq»WqÛWxc| D][}||i joqând||fGH|i||d tii||ƒd |dƒqâWdS( NRiis %sIgnoring %ss%s%s (not from template)s %s%s from:s%s %ss%sRecursing into %s/R4tindent(R1R2R4R¤R¦RGRIt_ignore_filenamestfnmatchR)RQtpopR`t _ignore_dirsR(RXRRŸR4R¬tpadR¨tnamesR[RtdirsR_tfnsR`t skip_thistextR©R Retdir((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyR]sP66      cCsn|pdSHdGHdGH|iƒ}|iƒx:|D]2\}}d|GHx|D]}d|iGHqPWq4WdS(Ns6These files were supposed to be generated by templatessbut were not found:s %s from:s %s(R>RGR`(RXRRŸR©R Re((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyRžƒs    cCsfx_|D]W\}}|iƒp.|idjo|i||dƒqqn|i||ƒqWdS(NisNo variables found(R=R)t_show_template_vars(RXR RZR\((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyRs  cCsWd|i|f}|GHdt|ƒGH|dj od|GHHdS|iddƒdS(Ns %s (from %s)t-s %sR¬i(R`R+RJt print_vars(RXRZR\tmessagettitle((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyR¸™s  N(#R˜t __module__tusageR,tshort_descriptiont descriptionRtstandard_parserRQtparsert add_optiontretcompileR5tdefault_verbositytdefault_interactiveRjRHRCRzRUR(R~R@RRRœR¡R­R°RRžRRJR¸(((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyRs€       ~          & (RÄROR1RƒRjRRRAR8R®REt NameErrortsetsRR(((s>/usr/lib/python2.6/site-packages/paste/script/create_distro.pyts