hSSKrSSKrSSKrSSKJrJrJr SSKJr SSKJ r SSK J r SSK J r SSKJr "S S \R \5r"S S 5rg) N)_normalization_path namespaces) easy_install)_read_utf8_with_fallback)log)DistutilsOptionError) convert_pathc\rSrSrSrSr\RSS/-r\RS/-rSr Sr S r SS jr \ S 5rSS jrSSjrSrSrSrg )developzSet up package for developmentz%install package in 'development mode') uninstalluzUninstall this source package)z egg-path=Nz-Set the path to be used in the .egg-link filerFcUR(a(SUlUR5 UR5 OUR 5 UR 5 g)NT)r multi_versionuninstall_linkuninstall_namespacesinstall_for_developmentwarn_deprecated_optionsselfs >!%D     !  % % '  ( ( * $$&chSUlSUl[R"U5 SUlSUlg)N.)regg_pathrinitialize_options setup_pathalways_copy_fromrs rr develop.initialize_options&s- ''- #rNc hSSKnURS5nUR/Ul[R "U5 UR 5 UR5 URR[R"S55 [R"UR5S-n[RRUR U5UlUR$UlUR&c.[RR)UR$5Ul[*R,"UR$5n[*R,"[RRUR UR&55nXT:wa[/SU-5eUR1UUR3U[RR)UR455URS9UlUR9UR$UR UR&5Ulg)Nregg_infoz*.eggz .egg-linkzA--egg-path must be a relative path from the install directory to  project_name) pkg_resourcesget_finalized_commandegg_nameargsrfinalize_optionsexpand_basedirs expand_dirs package_indexscanglobrfilename_component_brokenospathjoin install_diregg_linkegg_baserabspathrnormpathr Distribution PathMetadatar%dist_resolve_setup_pathr!)rr(ei egg_link_fntargetrs rr,develop.finalize_options-s  ' ' 3[[M %%d+    ' 23  4 4R[[ AK O  T%5%5{C   == GGOOBKK8DM .>>"'',,t/?/?"OP  &!#)*  "..   & &vrwwr{{/K L/  22 MM    MM rcUR[RS5RS5nU[R:waSUR S5S--n[ R"[RRXU55n[ R"[R5nXE:wa [SUU5eU$)z Generate a path from egg_base back to '.' where the setup script resides and ensure that path points to the setup path from $install_dir/$egg_path. /z../zGCan't get a consistent path to setup script from installation directory) replacer3seprstripcurdircountrr:r4r5r )r8r6r path_to_setupresolvedrIs rr>develop._resolve_setup_pathVs!((5<>"'',,{m"TU *  &*   rcURS5 URSSS9 URS5 [R(a*UR [R5 S[lUR 5 [ R"SURUR5 UR(dI[URSSS9nURURS -UR-5 SSS5 URSUR UR"(+5 g!,(df  N;=f) Nr% build_extT)inplacezCreating %s (link to %s)wzutf-8)encoding ) run_commandreinitialize_command setuptoolsbootstrap_install_fromrinstall_namespacesr infor7r8dry_runopenwriterr!process_distributionr=no_deps)rfs rrdevelop.install_for_developmentks $ !!+t!< %  , ,   j?? @04J - ! +T]]DMMJ||dmmS7;q ,t>?< !!$ t||3CD <;s ,D55 Ec[RRUR5(a[R "SURUR 5 [UR5R5Vs/sHnUR5PM nnX R/URUR/4;a[R"SU5 gUR(d [R"UR5 UR(dURUR 5 UR"R$(a[R"S5 ggs snf)NzRemoving %s (link to %s)z$Link points to %s: uninstall abortedz5Note: you must uninstall or replace scripts manually!)r3r4existsr7r rYr8r splitlinesrHrr!warnrZunlink update_pthr= distributionscripts)rlinecontentss rrdevelop.uninstall_links 77>>$-- ( ( HH/ N5T]]CNNPPD P  $--1QRR?J<< $--(|| OODII &    $ $ HHL M %sE,cXRLa[R"X5$URU5 URR =(d /Hgn[ RR[U55n[ RRU5n[U5nURXXC5 Mi gN) r=rinstall_egg_scriptsinstall_wrapper_scriptsrgrhr3r4r9r basenamerinstall_script)rr= script_name script_path script_texts rrndevelop.install_egg_scriptss yy 33D? ? $$T* ,,44::K''//,{*CDK''**;7K2;?K   ; L ; rcD[U5n[R"X5$rm)VersionlessRequirementrrorr=s rrodevelop.install_wrapper_scriptss%d+33D??r) r"r+r=r8r7rrr!rreturnN)__name__ __module__ __qualname____firstlineno____doc__ descriptionr user_optionsboolean_optionscommand_consumes_argumentsrr r, staticmethodr>rrrnro__static_attributes__rrr r sz(9K,,;L0L #22k]BO!&'$' R(E,N(&@rr c6\rSrSrSrS SjrS\4SjrSrSr g) rwa} Adapt a pkg_resources.Distribution to simply return the project name as the 'requirement' so that scripts will work across multiple versions. >>> from pkg_resources import Distribution >>> dist = Distribution(project_name='foo', version='1.0') >>> str(dist.as_requirement()) 'foo==1.0' >>> adapted_dist = VersionlessRequirement(dist) >>> str(adapted_dist.as_requirement()) 'foo' NcXlgrm)_VersionlessRequirement__distrxs r__init__VersionlessRequirement.__init__s rnamec.[URU5$rm)getattrr)rrs r __getattr__"VersionlessRequirement.__getattr__st{{D))rcUR$rmr&rs ras_requirement%VersionlessRequirement.as_requirements   r)__distrz) r|r}r~rrrstrrrrrrrrwrws **!rrw)r1r3rVrrrsetuptools.command.easy_installr unicode_utilsr distutilsr distutils.errorsr distutils.utilr DevelopInstallerr rwrrrrsF 88841'[@j))<[@|!!r