Viewing File: /usr/lib/python3.6/site-packages/setuptools/command/__pycache__/develop.cpython-36.opt-1.pyc

3

Xohn@sddlmZddlmZddlmZmZddlZddlZddl	Z	ddl
mZddlm
Z
mZmZddlmZddlmZddlZGd	d
d
ejeZGdddeZdS)
)convert_path)log)DistutilsErrorDistutilsOptionErrorN)six)DistributionPathMetadatanormalize_path)easy_install)
namespacesc@sveZdZdZdZejddgZejdgZd	Zd
dZ	dd
Z
ddZeddZ
ddZddZddZddZdS)developzSet up package for developmentz%install package in 'development mode'	uninstalluUninstall this source package	egg-path=N-Set the path to be used in the .egg-link fileFcCs2|jrd|_|j|jn|j|jdS)NT)r
Z
multi_versionuninstall_linkZuninstall_namespacesinstall_for_developmentZwarn_deprecated_options)selfr/usr/lib/python3.6/develop.pyruns
zdevelop.runcCs&d|_d|_tj|d|_d|_dS)N.)r
egg_pathr
initialize_options
setup_pathZalways_copy_from)rrrrr's

zdevelop.initialize_optionscCs|jd}|jr,d}|j|jf}t|||jg|_tj||j|j	|j
jtjd|jd}t
jj|j||_|j|_|jdkrt
jj|j|_t|j}tt
jj|j|j}||krtd|t|t|t
jj|j|jd|_|j|j|j|j|_dS)Negg_infoz-Please rename %r to %r before using 'develop'z*.eggz	.egg-linkzA--egg-path must be a relative path from the install directory to )project_name)get_finalized_commandZbroken_egg_inforrZegg_nameargsr
finalize_optionsZexpand_basedirsZexpand_dirsZ
package_indexscanglobospathjoininstall_diregg_linkegg_baserabspathr	rrrdist_resolve_setup_pathr)rZeitemplaterZegg_link_fntargetrrrrr .s<






zdevelop.finalize_optionscCsh|jtjdjd}|tjkr0d|jdd}ttjj|||}|ttjkrdt	d|ttj|S)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)
replacer#seprstripcurdircountr	r$r%r)r(r&rZ
path_to_setupZresolvedrrrr+Xs
zdevelop._resolve_setup_pathcCsDtjrt|jddr|jddd|jd|jd}t|j}|jd|d|jd|jddd|jd|jd}||_	||j
_t||j
|j
_n"|jd|jdd	d|jd|jtjr|jtjdt_|jtjd
|j|j|js,t|jd}|j|j	d|jWdQRX|jd|j
|jdS)
NZuse_2to3FZbuild_pyr)Zinplacer)r(Z	build_extr/zCreating %s (link to %s)w
)rZPY3getattrdistributionZreinitialize_commandZrun_commandrr	Z	build_librr*locationrrZ	_providerZinstall_site_py
setuptoolsZbootstrap_install_fromr
Zinstall_namespacesrinfor'r(dry_runopenwriterZprocess_distributionZno_deps)rZbpy_cmdZ
build_pathZei_cmdfrrrrks4







 zdevelop.install_for_developmentcCstjj|jrztjd|j|jt|j}dd|D}|j||j	g|j	|j
gfkrhtjd|dS|jsztj
|j|js|j|j|jjrtjddS)NzRemoving %s (link to %s)cSsg|]}|jqSr)r2).0linerrr
<listcomp>sz*develop.uninstall_link.<locals>.<listcomp>z$Link points to %s: uninstall abortedz5Note: you must uninstall or replace scripts manually!)r#r$existsr'rr;r(r=closerrwarnr<unlinkZ
update_pthr*r8scripts)rZ
egg_link_filecontentsrrrrs
zdevelop.uninstall_linkc
Cs||jk	rtj||S|j|x^|jjp,gD]N}tjjt	|}tjj
|}tj|}|j
}WdQRX|j||||q.WdS)N)r*r
install_egg_scriptsinstall_wrapper_scriptsr8rGr#r$r)rbasenameior=readZinstall_script)rr*Zscript_nameZscript_pathZstrmZscript_textrrrrIs

zdevelop.install_egg_scriptscCst|}tj||S)N)VersionlessRequirementr
rJ)rr*rrrrJszdevelop.install_wrapper_scripts)r
rr)rNr)__name__
__module____qualname____doc__descriptionr
Zuser_optionsZboolean_optionsZcommand_consumes_argumentsrrr staticmethodr+rrrIrJrrrrrs	*/rc@s(eZdZdZddZddZddZdS)	rNaz
    Adapt a pkg_resources.Distribution to simply return the project
    name as the 'requirement' so that scripts will work across
    multiple versions.

    >>> 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'
    cCs
||_dS)N)_VersionlessRequirement__dist)rr*rrr__init__szVersionlessRequirement.__init__cCst|j|S)N)r7rU)rnamerrr__getattr__sz"VersionlessRequirement.__getattr__cCs|jS)N)r)rrrras_requirementsz%VersionlessRequirement.as_requirementN)rOrPrQrRrVrXrYrrrrrNsrN)Zdistutils.utilrZ	distutilsrZdistutils.errorsrrr#r"rLZsetuptools.externrZ
pkg_resourcesrrr	Zsetuptools.command.easy_installr
r:rZDevelopInstallerrobjectrNrrrr<module>s4
Back to Directory File Manager