install zeroconf
This commit is contained in:
parent
0b9788acc3
commit
9d2628be78
108 changed files with 8626 additions and 840 deletions
|
@ -13,13 +13,13 @@ PyPDF2-1.25.1.dist-info/RECORD,,
|
|||
PyPDF2-1.25.1.dist-info/WHEEL,sha256=lCqt3ViRAf9c8mCs6o7ffkwROUdYSy8_YHn5f_rulB4,93
|
||||
PyPDF2-1.25.1.dist-info/metadata.json,sha256=gaK0QZPmK8xsUqrxEf3uGaJQXIevQ5Z5ZfV-NfIhVc4,692
|
||||
PyPDF2-1.25.1.dist-info/top_level.txt,sha256=BERWrwqdvKXaVKhpnMbtO6b11qPA-mBt2r9a0VPF-Ow,7
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/PyPDF2-1.25.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
PyPDF2-1.25.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
PyPDF2/__pycache__/pagerange.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/xmp.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/_version.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/__init__.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/utils.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/pdf.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/generic.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/filters.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/pagerange.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/_version.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/__init__.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/merger.cpython-34.pyc,,
|
||||
PyPDF2/__pycache__/utils.cpython-34.pyc,,
|
||||
|
|
|
@ -6,6 +6,6 @@ PySocks-1.5.6.dist-info/RECORD,,
|
|||
PySocks-1.5.6.dist-info/WHEEL,sha256=lCqt3ViRAf9c8mCs6o7ffkwROUdYSy8_YHn5f_rulB4,93
|
||||
PySocks-1.5.6.dist-info/metadata.json,sha256=1YIXTsL7gr8l01o_J6_5NIv29fVrNchGX8t-w1bmPKA,498
|
||||
PySocks-1.5.6.dist-info/top_level.txt,sha256=TKSOIfCFBoK9EY8FBYbYqC3PWd3--G15ph9n8-QHPDk,19
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/PySocks-1.5.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
PySocks-1.5.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
__pycache__/sockshandler.cpython-34.pyc,,
|
||||
__pycache__/socks.cpython-34.pyc,,
|
||||
|
|
|
@ -0,0 +1,263 @@
|
|||
Metadata-Version: 2.0
|
||||
Name: setuptools
|
||||
Version: 20.1.1
|
||||
Summary: Easily download, build, install, upgrade, and uninstall Python packages
|
||||
Home-page: https://bitbucket.org/pypa/setuptools
|
||||
Author: Python Packaging Authority
|
||||
Author-email: distutils-sig@python.org
|
||||
License: UNKNOWN
|
||||
Keywords: CPAN PyPI distutils eggs package management
|
||||
Platform: UNKNOWN
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: MIT License
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python :: 2.6
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Classifier: Topic :: System :: Archiving :: Packaging
|
||||
Classifier: Topic :: System :: Systems Administration
|
||||
Classifier: Topic :: Utilities
|
||||
|
||||
===============================
|
||||
Installing and Using Setuptools
|
||||
===============================
|
||||
|
||||
.. contents:: **Table of Contents**
|
||||
|
||||
|
||||
`Change History <https://pythonhosted.org/setuptools/history.html>`_.
|
||||
|
||||
-------------------------
|
||||
Installation Instructions
|
||||
-------------------------
|
||||
|
||||
The recommended way to bootstrap setuptools on any system is to download
|
||||
`ez_setup.py`_ and run it using the target Python environment. Different
|
||||
operating systems have different recommended techniques to accomplish this
|
||||
basic routine, so below are some examples to get you started.
|
||||
|
||||
Setuptools requires Python 2.6 or later. To install setuptools
|
||||
on Python 2.4 or Python 2.5, use the `bootstrap script for Setuptools 1.x
|
||||
<https://bitbucket.org/pypa/setuptools/raw/bootstrap-py24/ez_setup.py>`_.
|
||||
|
||||
The link provided to ez_setup.py is a bookmark to bootstrap script for the
|
||||
latest known stable release.
|
||||
|
||||
.. _ez_setup.py: https://bootstrap.pypa.io/ez_setup.py
|
||||
|
||||
Windows (Powershell 3 or later)
|
||||
===============================
|
||||
|
||||
For best results, uninstall previous versions FIRST (see `Uninstalling`_).
|
||||
|
||||
Using Windows 8 (which includes PowerShell 3) or earlier versions of Windows
|
||||
with PowerShell 3 installed, it's possible to install with one simple
|
||||
Powershell command. Start up Powershell and paste this command::
|
||||
|
||||
> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python -
|
||||
|
||||
You must start the Powershell with Administrative privileges or you may choose
|
||||
to install a user-local installation::
|
||||
|
||||
> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python - --user
|
||||
|
||||
If you have Python 3.3 or later, you can use the ``py`` command to install to
|
||||
different Python versions. For example, to install to Python 3.3 if you have
|
||||
Python 2.7 installed::
|
||||
|
||||
> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | py -3 -
|
||||
|
||||
The recommended way to install setuptools on Windows is to download
|
||||
`ez_setup.py`_ and run it. The script will download the appropriate
|
||||
distribution file and install it for you.
|
||||
|
||||
Once installation is complete, you will find an ``easy_install`` program in
|
||||
your Python ``Scripts`` subdirectory. For simple invocation and best results,
|
||||
add this directory to your ``PATH`` environment variable, if it is not already
|
||||
present. If you did a user-local install, the ``Scripts`` subdirectory is
|
||||
``$env:APPDATA\Python\Scripts``.
|
||||
|
||||
|
||||
Windows (simplified)
|
||||
====================
|
||||
|
||||
For Windows without PowerShell 3 or for installation without a command-line,
|
||||
download `ez_setup.py`_ using your preferred web browser or other technique
|
||||
and "run" that file.
|
||||
|
||||
|
||||
Unix (wget)
|
||||
===========
|
||||
|
||||
Most Linux distributions come with wget.
|
||||
|
||||
Download `ez_setup.py`_ and run it using the target Python version. The script
|
||||
will download the appropriate version and install it for you::
|
||||
|
||||
> wget https://bootstrap.pypa.io/ez_setup.py -O - | python
|
||||
|
||||
Note that you will may need to invoke the command with superuser privileges to
|
||||
install to the system Python::
|
||||
|
||||
> wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
|
||||
|
||||
Alternatively, Setuptools may be installed to a user-local path::
|
||||
|
||||
> wget https://bootstrap.pypa.io/ez_setup.py -O - | python - --user
|
||||
|
||||
Note that on some older systems (noted on Debian 6 and CentOS 5 installations),
|
||||
`wget` may refuse to download `ez_setup.py`, complaining that the certificate common name `*.c.ssl.fastly.net`
|
||||
does not match the host name `bootstrap.pypa.io`. In addition, the `ez_setup.py` script may then encounter similar problems using
|
||||
`wget` internally to download `setuptools-x.y.zip`, complaining that the certificate common name of `www.python.org` does not match the
|
||||
host name `pypi.python.org`. Those are known issues, related to a bug in the older versions of `wget`
|
||||
(see `Issue 59 <https://bitbucket.org/pypa/pypi/issue/59#comment-5881915>`_). If you happen to encounter them,
|
||||
install Setuptools as follows::
|
||||
|
||||
> wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
|
||||
> python ez_setup.py --insecure
|
||||
|
||||
|
||||
Unix including Mac OS X (curl)
|
||||
==============================
|
||||
|
||||
If your system has curl installed, follow the ``wget`` instructions but
|
||||
replace ``wget`` with ``curl`` and ``-O`` with ``-o``. For example::
|
||||
|
||||
> curl https://bootstrap.pypa.io/ez_setup.py -o - | python
|
||||
|
||||
|
||||
Advanced Installation
|
||||
=====================
|
||||
|
||||
For more advanced installation options, such as installing to custom
|
||||
locations or prefixes, download and extract the source
|
||||
tarball from `Setuptools on PyPI <https://pypi.python.org/pypi/setuptools>`_
|
||||
and run setup.py with any supported distutils and Setuptools options.
|
||||
For example::
|
||||
|
||||
setuptools-x.x$ python setup.py install --prefix=/opt/setuptools
|
||||
|
||||
Use ``--help`` to get a full options list, but we recommend consulting
|
||||
the `EasyInstall manual`_ for detailed instructions, especially `the section
|
||||
on custom installation locations`_.
|
||||
|
||||
.. _EasyInstall manual: https://pythonhosted.org/setuptools/EasyInstall
|
||||
.. _the section on custom installation locations: https://pythonhosted.org/setuptools/EasyInstall#custom-installation-locations
|
||||
|
||||
|
||||
Downloads
|
||||
=========
|
||||
|
||||
All setuptools downloads can be found at `the project's home page in the Python
|
||||
Package Index`_. Scroll to the very bottom of the page to find the links.
|
||||
|
||||
.. _the project's home page in the Python Package Index: https://pypi.python.org/pypi/setuptools
|
||||
|
||||
In addition to the PyPI downloads, the development version of ``setuptools``
|
||||
is available from the `Bitbucket repo`_, and in-development versions of the
|
||||
`0.6 branch`_ are available as well.
|
||||
|
||||
.. _Bitbucket repo: https://bitbucket.org/pypa/setuptools/get/default.tar.gz#egg=setuptools-dev
|
||||
.. _0.6 branch: http://svn.python.org/projects/sandbox/branches/setuptools-0.6/#egg=setuptools-dev06
|
||||
|
||||
Uninstalling
|
||||
============
|
||||
|
||||
On Windows, if Setuptools was installed using an ``.exe`` or ``.msi``
|
||||
installer, simply use the uninstall feature of "Add/Remove Programs" in the
|
||||
Control Panel.
|
||||
|
||||
Otherwise, to uninstall Setuptools or Distribute, regardless of the Python
|
||||
version, delete all ``setuptools*`` and ``distribute*`` files and
|
||||
directories from your system's ``site-packages`` directory
|
||||
(and any other ``sys.path`` directories) FIRST.
|
||||
|
||||
If you are upgrading or otherwise plan to re-install Setuptools or Distribute,
|
||||
nothing further needs to be done. If you want to completely remove Setuptools,
|
||||
you may also want to remove the 'easy_install' and 'easy_install-x.x' scripts
|
||||
and associated executables installed to the Python scripts directory.
|
||||
|
||||
--------------------------------
|
||||
Using Setuptools and EasyInstall
|
||||
--------------------------------
|
||||
|
||||
Here are some of the available manuals, tutorials, and other resources for
|
||||
learning about Setuptools, Python Eggs, and EasyInstall:
|
||||
|
||||
* `The EasyInstall user's guide and reference manual`_
|
||||
* `The setuptools Developer's Guide`_
|
||||
* `The pkg_resources API reference`_
|
||||
* `The Internal Structure of Python Eggs`_
|
||||
|
||||
Questions, comments, and bug reports should be directed to the `distutils-sig
|
||||
mailing list`_. If you have written (or know of) any tutorials, documentation,
|
||||
plug-ins, or other resources for setuptools users, please let us know about
|
||||
them there, so this reference list can be updated. If you have working,
|
||||
*tested* patches to correct problems or add features, you may submit them to
|
||||
the `setuptools bug tracker`_.
|
||||
|
||||
.. _setuptools bug tracker: https://bitbucket.org/pypa/setuptools/issues
|
||||
.. _The Internal Structure of Python Eggs: https://pythonhosted.org/setuptools/formats.html
|
||||
.. _The setuptools Developer's Guide: https://pythonhosted.org/setuptools/setuptools.html
|
||||
.. _The pkg_resources API reference: https://pythonhosted.org/setuptools/pkg_resources.html
|
||||
.. _The EasyInstall user's guide and reference manual: https://pythonhosted.org/setuptools/easy_install.html
|
||||
.. _distutils-sig mailing list: http://mail.python.org/pipermail/distutils-sig/
|
||||
|
||||
|
||||
-------
|
||||
Credits
|
||||
-------
|
||||
|
||||
* The original design for the ``.egg`` format and the ``pkg_resources`` API was
|
||||
co-created by Phillip Eby and Bob Ippolito. Bob also implemented the first
|
||||
version of ``pkg_resources``, and supplied the OS X operating system version
|
||||
compatibility algorithm.
|
||||
|
||||
* Ian Bicking implemented many early "creature comfort" features of
|
||||
easy_install, including support for downloading via Sourceforge and
|
||||
Subversion repositories. Ian's comments on the Web-SIG about WSGI
|
||||
application deployment also inspired the concept of "entry points" in eggs,
|
||||
and he has given talks at PyCon and elsewhere to inform and educate the
|
||||
community about eggs and setuptools.
|
||||
|
||||
* Jim Fulton contributed time and effort to build automated tests of various
|
||||
aspects of ``easy_install``, and supplied the doctests for the command-line
|
||||
``.exe`` wrappers on Windows.
|
||||
|
||||
* Phillip J. Eby is the seminal author of setuptools, and
|
||||
first proposed the idea of an importable binary distribution format for
|
||||
Python application plug-ins.
|
||||
|
||||
* Significant parts of the implementation of setuptools were funded by the Open
|
||||
Source Applications Foundation, to provide a plug-in infrastructure for the
|
||||
Chandler PIM application. In addition, many OSAF staffers (such as Mike
|
||||
"Code Bear" Taylor) contributed their time and stress as guinea pigs for the
|
||||
use of eggs and setuptools, even before eggs were "cool". (Thanks, guys!)
|
||||
|
||||
* Tarek Ziadé is the principal author of the Distribute fork, which
|
||||
re-invigorated the community on the project, encouraged renewed innovation,
|
||||
and addressed many defects.
|
||||
|
||||
* Since the merge with Distribute, Jason R. Coombs is the
|
||||
maintainer of setuptools. The project is maintained in coordination with
|
||||
the Python Packaging Authority (PyPA) and the larger Python community.
|
||||
|
||||
.. _files:
|
||||
|
||||
|
||||
---------------
|
||||
Code of Conduct
|
||||
---------------
|
||||
|
||||
Everyone interacting in the setuptools project's codebases, issue trackers,
|
||||
chat rooms, and mailing lists is expected to follow the
|
||||
`PyPA Code of Conduct`_.
|
||||
|
||||
.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/
|
||||
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
easy_install.py,sha256=MDC9vt5AxDsXX5qcKlBz2TnW6Tpuv_AobnfhCJ9X3PM,126
|
||||
_markerlib/__init__.py,sha256=GSmhZqvAitLJHhSgtqqusfq2nJ_ClP3oy3Lm0uZLIsU,552
|
||||
_markerlib/markers.py,sha256=YuFp0-osufFIoqnzG3L0Z2fDCx4Vln3VUDeXJ2DA_1I,3979
|
||||
_markerlib-0.0.0.dist-info/DESCRIPTION.rst,sha256=MDsJej8DPV2OKpAKpu74g-2xksRd-uGTeZn4W7D1dnI,9940
|
||||
_markerlib-0.0.0.dist-info/METADATA,sha256=l8LCWR8HLdKmOz1QMU2JQREbM9o4dCsMPkBdBSi_Jgo,10997
|
||||
_markerlib-0.0.0.dist-info/RECORD,,
|
||||
_markerlib-0.0.0.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110
|
||||
_markerlib-0.0.0.dist-info/dependency_links.txt,sha256=oUNXJEArClXFiSSvfFwUKY8TYjeIXhuFfCpXn5K0DCE,226
|
||||
_markerlib-0.0.0.dist-info/entry_points.txt,sha256=S6yRfyEABPIKq4cNMNO_7LHXzFVZW-exLSrKSI6kgNU,2779
|
||||
_markerlib-0.0.0.dist-info/metadata.json,sha256=OwUAZgU-PBMGwfXh2QKg7ec1Kh9aGVfWnOB5mrc48HA,4242
|
||||
_markerlib-0.0.0.dist-info/top_level.txt,sha256=7780fzudMJkykiTcIrAQ8m8Lll6kot3EEePye3VJgEE,49
|
||||
_markerlib-0.0.0.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
||||
setuptools/__init__.py,sha256=WEGb6BRGN2dz3eJTbNRUfInUAhb6_OZJyYAndPGJm6w,5440
|
||||
setuptools/archive_util.py,sha256=N30WE5ZQjkytzhAodAXw4FkK-9J5AP1ChrClHnZthOA,6609
|
||||
setuptools/depends.py,sha256=WyJIhjIX7D5-JpGSnMAPHEoDcVPQxaO0405keTQT6jM,6418
|
||||
setuptools/dist.py,sha256=txOleyyt2xCSTkUjCGW4MYZB8a1xsbC8MulDhSnoivQ,35701
|
||||
setuptools/extension.py,sha256=YvsyGHWVWzhNOXMHU239FR14wxw2WwdMLLzWsRP6_IY,1694
|
||||
setuptools/launch.py,sha256=hP3qZxDNu5Hf9C-VAkEP4IC_YYfR1XfxMTj6EguxxCg,730
|
||||
setuptools/lib2to3_ex.py,sha256=6jPF9sJuHiz0cyg4cwIBLl2VMAxcl3GYSZwWAOuJplU,1998
|
||||
setuptools/msvc9_support.py,sha256=fo2vjb-dna1SEuHezQCTuelCo6XFBv5cqaI56ABJ1vw,2187
|
||||
setuptools/package_index.py,sha256=T6tZGPHApup6Gl3kz1sCLtY7kmMUXLBKweSAORYS2Qc,39490
|
||||
setuptools/py26compat.py,sha256=1Vvuf-hj5bTM3OAXv6vgJQImulne12ann053caOgikU,481
|
||||
setuptools/py27compat.py,sha256=CGj-jZcFgHUkrEdLvArkxHj96tAaMbG2-yJtUVU7QVI,306
|
||||
setuptools/py31compat.py,sha256=cqYSVBd2pxvKl75185z40htfEr6EKC29KvSBiSoqHOA,1636
|
||||
setuptools/sandbox.py,sha256=tuMRu_8R0_w6Qer9VqDiOTqKy1qr_GjHi-2QAg7TMz0,14210
|
||||
setuptools/script (dev).tmpl,sha256=f7MR17dTkzaqkCMSVseyOCMVrPVSMdmTQsaB8cZzfuI,201
|
||||
setuptools/script.tmpl,sha256=WGTt5piezO27c-Dbx6l5Q4T3Ff20A5z7872hv3aAhYY,138
|
||||
setuptools/site-patch.py,sha256=K-0-cAx36mX_PG-qPZwosG9ZLCliRjquKQ4nHiJvvzg,2389
|
||||
setuptools/ssl_support.py,sha256=tAFeeyFPVle_GgarPkNrdfnCJgP9PyN_QYGXTgypoyc,8119
|
||||
setuptools/unicode_utils.py,sha256=8zVyrL_MFc6P5AmErs21rr7z-3N1pZ_NkOcDC7BPElU,995
|
||||
setuptools/utils.py,sha256=08Z7mt-9mvrx-XvmS5EyKoRn2lxNTlgFsUwBU3Eq9JQ,293
|
||||
setuptools/version.py,sha256=E3F8rAlTgCNpmTTY2YGy4T_1iQn3gKsePB7TVIcObu0,23
|
||||
setuptools/windows_support.py,sha256=5GrfqSP2-dLGJoZTq2g6dCKkyQxxa2n5IQiXlJCoYEE,714
|
||||
setuptools/command/__init__.py,sha256=1AM3hv_zCixE7kTXA-onWfK_2KF8GC8fUw3WSxzi5Fg,564
|
||||
setuptools/command/alias.py,sha256=KjpE0sz_SDIHv3fpZcIQK-sCkJz-SrC6Gmug6b9Nkc8,2426
|
||||
setuptools/command/bdist_egg.py,sha256=Km4CsGbevhvej6kKEfvTYxfkPoQijUyXmImNifrO4Tg,17184
|
||||
setuptools/command/bdist_rpm.py,sha256=B7l0TnzCGb-0nLlm6rS00jWLkojASwVmdhW2w5Qz_Ak,1508
|
||||
setuptools/command/bdist_wininst.py,sha256=_6dz3lpB1tY200LxKPLM7qgwTCceOMgaWFF-jW2-pm0,637
|
||||
setuptools/command/build_ext.py,sha256=pkQ8xp3YPVGGLkGv-SvfxC_GqFpboph1AFEoMFOgQMo,11964
|
||||
setuptools/command/build_py.py,sha256=HvJ88JuougDccaowYlfMV12kYtd0GLahg2DR2vQRqL4,7983
|
||||
setuptools/command/develop.py,sha256=VxSYbpM2jQqtRBn5klIjPVBo3sWKNZMlSbHHiRLUlZo,7383
|
||||
setuptools/command/easy_install.py,sha256=WDidYAhIEWCT-63bVvoazy8HcITEWDn4Xzgrj3YZgz0,88492
|
||||
setuptools/command/egg_info.py,sha256=0_8eI8hgLAlGt8Xk5kiodY_d9lxG6_RSescJISKBJgA,16890
|
||||
setuptools/command/install.py,sha256=QwaFiZRU3ytIHoPh8uJ9EqV3Fu9C4ca4B7UGAo95tws,4685
|
||||
setuptools/command/install_egg_info.py,sha256=fEqU1EplTs_vUjAzwiEB7LrtdZBQ3BefwuUZLZBDEQ0,5027
|
||||
setuptools/command/install_lib.py,sha256=5IZM251t4DzOdZAXCezdROr3X0SeeE41eyV059RNgZ4,5011
|
||||
setuptools/command/install_scripts.py,sha256=vX2JC6v7l090N7CrTfihWBklNbPvfNKAY2LRtukM9XE,2231
|
||||
setuptools/command/register.py,sha256=bHlMm1qmBbSdahTOT8w6UhA-EgeQIz7p6cD-qOauaiI,270
|
||||
setuptools/command/rotate.py,sha256=QGZS2t4CmBl7t79KQijNCjRMU50lu3nRhu4FXWB5LIE,2038
|
||||
setuptools/command/saveopts.py,sha256=za7QCBcQimKKriWcoCcbhxPjUz30gSB74zuTL47xpP4,658
|
||||
setuptools/command/sdist.py,sha256=kQetnPMw6ao3nurWGJZgS4HkOH4AknzMOSvqbVA6jGA,7050
|
||||
setuptools/command/setopt.py,sha256=cygJaJWJmiVhR0e_Uh_0_fWyCxMJIqK-Bu6K0LyYUtU,5086
|
||||
setuptools/command/test.py,sha256=N2f5RwxkjwU3YQzFYHtzHr636-pdX9XJDuPg5Y92kSo,6888
|
||||
setuptools/command/upload.py,sha256=OjAryq4ZoARZiaTN_MpuG1X8Pu9CJNCKmmbMg-gab5I,649
|
||||
setuptools/command/upload_docs.py,sha256=htXpASci5gKP0RIrGZRRmbll7RnTRuwvKWZkYsBlDMM,6815
|
||||
setuptools/extern/__init__.py,sha256=mTrrj4yLMdFeEwwnqKnSuvZM5RM-HPZ1iXLgaYDlB9o,132
|
||||
../../../bin/easy_install,sha256=4bXVXBoSo_A1XK3Ga5UMkOREdCSnh8FZIYqtJVSWCa4,298
|
||||
../../../bin/easy_install-3.4,sha256=4bXVXBoSo_A1XK3Ga5UMkOREdCSnh8FZIYqtJVSWCa4,298
|
||||
_markerlib-0.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
setuptools/__pycache__/py27compat.cpython-34.pyc,,
|
||||
setuptools/__pycache__/sandbox.cpython-34.pyc,,
|
||||
setuptools/__pycache__/version.cpython-34.pyc,,
|
||||
setuptools/__pycache__/launch.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install_egg_info.cpython-34.pyc,,
|
||||
setuptools/__pycache__/py26compat.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/rotate.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install_scripts.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/setopt.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/alias.cpython-34.pyc,,
|
||||
setuptools/__pycache__/unicode_utils.cpython-34.pyc,,
|
||||
_markerlib/__pycache__/markers.cpython-34.pyc,,
|
||||
setuptools/__pycache__/package_index.cpython-34.pyc,,
|
||||
setuptools/__pycache__/depends.cpython-34.pyc,,
|
||||
setuptools/__pycache__/lib2to3_ex.cpython-34.pyc,,
|
||||
__pycache__/easy_install.cpython-34.pyc,,
|
||||
setuptools/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/bdist_wininst.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/upload_docs.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/register.cpython-34.pyc,,
|
||||
setuptools/__pycache__/dist.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/bdist_rpm.cpython-34.pyc,,
|
||||
setuptools/__pycache__/archive_util.cpython-34.pyc,,
|
||||
setuptools/__pycache__/extension.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/test.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/__pycache__/utils.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/develop.cpython-34.pyc,,
|
||||
setuptools/extern/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/__pycache__/windows_support.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/build_ext.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/sdist.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/saveopts.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/bdist_egg.cpython-34.pyc,,
|
||||
setuptools/__pycache__/site-patch.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install.cpython-34.pyc,,
|
||||
_markerlib/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/egg_info.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/easy_install.cpython-34.pyc,,
|
||||
setuptools/__pycache__/msvc9_support.cpython-34.pyc,,
|
||||
setuptools/__pycache__/ssl_support.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/build_py.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install_lib.cpython-34.pyc,,
|
||||
setuptools/__pycache__/py31compat.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/upload.cpython-34.pyc,,
|
|
@ -1,5 +1,5 @@
|
|||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.26.0)
|
||||
Generator: bdist_wheel (0.29.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py2-none-any
|
||||
Tag: py3-none-any
|
|
@ -0,0 +1,61 @@
|
|||
[console_scripts]
|
||||
easy_install = setuptools.command.easy_install:main
|
||||
|
||||
[distutils.commands]
|
||||
alias = setuptools.command.alias:alias
|
||||
bdist_egg = setuptools.command.bdist_egg:bdist_egg
|
||||
bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm
|
||||
bdist_wininst = setuptools.command.bdist_wininst:bdist_wininst
|
||||
build_ext = setuptools.command.build_ext:build_ext
|
||||
build_py = setuptools.command.build_py:build_py
|
||||
develop = setuptools.command.develop:develop
|
||||
easy_install = setuptools.command.easy_install:easy_install
|
||||
egg_info = setuptools.command.egg_info:egg_info
|
||||
install = setuptools.command.install:install
|
||||
install_egg_info = setuptools.command.install_egg_info:install_egg_info
|
||||
install_lib = setuptools.command.install_lib:install_lib
|
||||
install_scripts = setuptools.command.install_scripts:install_scripts
|
||||
register = setuptools.command.register:register
|
||||
rotate = setuptools.command.rotate:rotate
|
||||
saveopts = setuptools.command.saveopts:saveopts
|
||||
sdist = setuptools.command.sdist:sdist
|
||||
setopt = setuptools.command.setopt:setopt
|
||||
test = setuptools.command.test:test
|
||||
upload = setuptools.command.upload:upload
|
||||
upload_docs = setuptools.command.upload_docs:upload_docs
|
||||
|
||||
[distutils.setup_keywords]
|
||||
convert_2to3_doctests = setuptools.dist:assert_string_list
|
||||
dependency_links = setuptools.dist:assert_string_list
|
||||
eager_resources = setuptools.dist:assert_string_list
|
||||
entry_points = setuptools.dist:check_entry_points
|
||||
exclude_package_data = setuptools.dist:check_package_data
|
||||
extras_require = setuptools.dist:check_extras
|
||||
include_package_data = setuptools.dist:assert_bool
|
||||
install_requires = setuptools.dist:check_requirements
|
||||
namespace_packages = setuptools.dist:check_nsp
|
||||
package_data = setuptools.dist:check_package_data
|
||||
packages = setuptools.dist:check_packages
|
||||
setup_requires = setuptools.dist:check_requirements
|
||||
test_loader = setuptools.dist:check_importable
|
||||
test_runner = setuptools.dist:check_importable
|
||||
test_suite = setuptools.dist:check_test_suite
|
||||
tests_require = setuptools.dist:check_requirements
|
||||
use_2to3 = setuptools.dist:assert_bool
|
||||
use_2to3_exclude_fixers = setuptools.dist:assert_string_list
|
||||
use_2to3_fixers = setuptools.dist:assert_string_list
|
||||
zip_safe = setuptools.dist:assert_bool
|
||||
|
||||
[egg_info.writers]
|
||||
PKG-INFO = setuptools.command.egg_info:write_pkg_info
|
||||
dependency_links.txt = setuptools.command.egg_info:overwrite_arg
|
||||
depends.txt = setuptools.command.egg_info:warn_depends_obsolete
|
||||
eager_resources.txt = setuptools.command.egg_info:overwrite_arg
|
||||
entry_points.txt = setuptools.command.egg_info:write_entries
|
||||
namespace_packages.txt = setuptools.command.egg_info:overwrite_arg
|
||||
requires.txt = setuptools.command.egg_info:write_requirements
|
||||
top_level.txt = setuptools.command.egg_info:write_toplevel_names
|
||||
|
||||
[setuptools.installation]
|
||||
eggsecutable = setuptools.command.easy_install:bootstrap
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Archiving :: Packaging", "Topic :: System :: Systems Administration", "Topic :: Utilities"], "extensions": {"python.commands": {"wrap_console": {"easy_install": "setuptools.command.easy_install:main"}}, "python.details": {"contacts": [{"email": "distutils-sig@python.org", "name": "Python Packaging Authority", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://bitbucket.org/pypa/setuptools"}}, "python.exports": {"console_scripts": {"easy_install": "setuptools.command.easy_install:main"}, "distutils.commands": {"alias": "setuptools.command.alias:alias", "bdist_egg": "setuptools.command.bdist_egg:bdist_egg", "bdist_rpm": "setuptools.command.bdist_rpm:bdist_rpm", "bdist_wininst": "setuptools.command.bdist_wininst:bdist_wininst", "build_ext": "setuptools.command.build_ext:build_ext", "build_py": "setuptools.command.build_py:build_py", "develop": "setuptools.command.develop:develop", "easy_install": "setuptools.command.easy_install:easy_install", "egg_info": "setuptools.command.egg_info:egg_info", "install": "setuptools.command.install:install", "install_egg_info": "setuptools.command.install_egg_info:install_egg_info", "install_lib": "setuptools.command.install_lib:install_lib", "install_scripts": "setuptools.command.install_scripts:install_scripts", "register": "setuptools.command.register:register", "rotate": "setuptools.command.rotate:rotate", "saveopts": "setuptools.command.saveopts:saveopts", "sdist": "setuptools.command.sdist:sdist", "setopt": "setuptools.command.setopt:setopt", "test": "setuptools.command.test:test", "upload": "setuptools.command.upload:upload", "upload_docs": "setuptools.command.upload_docs:upload_docs"}, "distutils.setup_keywords": {"convert_2to3_doctests": "setuptools.dist:assert_string_list", "dependency_links": "setuptools.dist:assert_string_list", "eager_resources": "setuptools.dist:assert_string_list", "entry_points": "setuptools.dist:check_entry_points", "exclude_package_data": "setuptools.dist:check_package_data", "extras_require": "setuptools.dist:check_extras", "include_package_data": "setuptools.dist:assert_bool", "install_requires": "setuptools.dist:check_requirements", "namespace_packages": "setuptools.dist:check_nsp", "package_data": "setuptools.dist:check_package_data", "packages": "setuptools.dist:check_packages", "setup_requires": "setuptools.dist:check_requirements", "test_loader": "setuptools.dist:check_importable", "test_runner": "setuptools.dist:check_importable", "test_suite": "setuptools.dist:check_test_suite", "tests_require": "setuptools.dist:check_requirements", "use_2to3": "setuptools.dist:assert_bool", "use_2to3_exclude_fixers": "setuptools.dist:assert_string_list", "use_2to3_fixers": "setuptools.dist:assert_string_list", "zip_safe": "setuptools.dist:assert_bool"}, "egg_info.writers": {"PKG-INFO": "setuptools.command.egg_info:write_pkg_info", "dependency_links.txt": "setuptools.command.egg_info:overwrite_arg", "depends.txt": "setuptools.command.egg_info:warn_depends_obsolete", "eager_resources.txt": "setuptools.command.egg_info:overwrite_arg", "entry_points.txt": "setuptools.command.egg_info:write_entries", "namespace_packages.txt": "setuptools.command.egg_info:overwrite_arg", "requires.txt": "setuptools.command.egg_info:write_requirements", "top_level.txt": "setuptools.command.egg_info:write_toplevel_names"}, "setuptools.installation": {"eggsecutable": "setuptools.command.easy_install:bootstrap"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["CPAN", "PyPI", "distutils", "eggs", "package", "management"], "metadata_version": "2.0", "name": "setuptools", "summary": "Easily download, build, install, upgrade, and uninstall Python packages", "version": "20.1.1"}
|
|
@ -5,5 +5,5 @@ backports_abc-0.4.dist-info/top_level.txt,sha256=VrQEXq17Ce9X1jfsstW6gYD3gyq3Kji
|
|||
backports_abc-0.4.dist-info/RECORD,,
|
||||
backports_abc-0.4.dist-info/metadata.json,sha256=AIEgf2dZKeoBWp4UUzRRrUljLI9o_lXFgb09KXQXG3w,760
|
||||
backports_abc-0.4.dist-info/WHEEL,sha256=AvR0WeTpDaxT645bl5FQxUK6NPsTls2ttpcGJg3j1Xg,110
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/backports_abc-0.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
backports_abc-0.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
__pycache__/backports_abc.cpython-34.pyc,,
|
||||
|
|
|
@ -43,43 +43,43 @@ chardet-2.3.0.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34
|
|||
chardet-2.3.0.dist-info/entry_points.txt,sha256=2T00JXwbiQBZQFSKyCFxud4LEQ3_8TKuOwUsSXT-kUI,56
|
||||
chardet-2.3.0.dist-info/metadata.json,sha256=ptG9BSXYY-lmHsq-i6SjRfvRXYfuvmZz8rZfxrO4Pjs,1225
|
||||
chardet-2.3.0.dist-info/top_level.txt,sha256=AowzBbZy4x8EirABDdJSLJZMkJ_53iIag8xfKR6D7kI,8
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/bin/chardetect,sha256=GQPhfifvGgQPjka4kP_i-SYM5X_TEW0Hu3SV937PX2o,285
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/chardet-2.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
chardet/__pycache__/sbcsgroupprober.cpython-34.pyc,,
|
||||
../../../bin/chardetect,sha256=GQPhfifvGgQPjka4kP_i-SYM5X_TEW0Hu3SV937PX2o,285
|
||||
chardet-2.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
chardet/__pycache__/universaldetector.cpython-34.pyc,,
|
||||
chardet/__pycache__/codingstatemachine.cpython-34.pyc,,
|
||||
chardet/__pycache__/langbulgarianmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/euckrprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/utf8prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/euctwprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/hebrewprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/jpcntx.cpython-34.pyc,,
|
||||
chardet/__pycache__/latin1prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/cp949prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/langthaimodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/eucjpprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/sbcharsetprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/charsetprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/euctwfreq.cpython-34.pyc,,
|
||||
chardet/__pycache__/compat.cpython-34.pyc,,
|
||||
chardet/__pycache__/gb2312prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/euckrfreq.cpython-34.pyc,,
|
||||
chardet/__pycache__/chardistribution.cpython-34.pyc,,
|
||||
chardet/__pycache__/sjisprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/mbcsgroupprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/gb2312freq.cpython-34.pyc,,
|
||||
chardet/__pycache__/compat.cpython-34.pyc,,
|
||||
chardet/__pycache__/chardistribution.cpython-34.pyc,,
|
||||
chardet/__pycache__/cp949prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/big5prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/gb2312prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/mbcharsetprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/escprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/sjisprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/chardetect.cpython-34.pyc,,
|
||||
chardet/__pycache__/charsetgroupprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/__init__.cpython-34.pyc,,
|
||||
chardet/__pycache__/langhungarianmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/escsm.cpython-34.pyc,,
|
||||
chardet/__pycache__/mbcssm.cpython-34.pyc,,
|
||||
chardet/__pycache__/langcyrillicmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/langgreekmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/jisfreq.cpython-34.pyc,,
|
||||
chardet/__pycache__/langhebrewmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/big5prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/constants.cpython-34.pyc,,
|
||||
chardet/__pycache__/langbulgarianmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/big5freq.cpython-34.pyc,,
|
||||
chardet/__pycache__/latin1prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/escsm.cpython-34.pyc,,
|
||||
chardet/__pycache__/sbcsgroupprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/langhungarianmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/euctwprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/hebrewprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/langthaimodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/__init__.cpython-34.pyc,,
|
||||
chardet/__pycache__/charsetprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/chardetect.cpython-34.pyc,,
|
||||
chardet/__pycache__/euctwfreq.cpython-34.pyc,,
|
||||
chardet/__pycache__/langhebrewmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/charsetgroupprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/constants.cpython-34.pyc,,
|
||||
chardet/__pycache__/euckrfreq.cpython-34.pyc,,
|
||||
chardet/__pycache__/langgreekmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/utf8prober.cpython-34.pyc,,
|
||||
chardet/__pycache__/codingstatemachine.cpython-34.pyc,,
|
||||
chardet/__pycache__/jpcntx.cpython-34.pyc,,
|
||||
chardet/__pycache__/langcyrillicmodel.cpython-34.pyc,,
|
||||
chardet/__pycache__/sbcharsetprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/gb2312freq.cpython-34.pyc,,
|
||||
chardet/__pycache__/eucjpprober.cpython-34.pyc,,
|
||||
chardet/__pycache__/jisfreq.cpython-34.pyc,,
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
enum-compat
|
||||
===========
|
||||
|
||||
This is a virtual package, its whole purpose is to install enum34 on
|
||||
Python older than 3.4. On Python 3.4+ it's a no-op.
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
Metadata-Version: 2.0
|
||||
Name: enum-compat
|
||||
Version: 0.0.2
|
||||
Summary: enum/enum34 compatibility package
|
||||
Home-page: https://github.com/jstasiak/enum-compat
|
||||
Author: Jakub Stasiak
|
||||
Author-email: jakub@stasiak.at
|
||||
License: MIT
|
||||
Keywords: enum,compatibility,enum34
|
||||
Platform: UNKNOWN
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: Topic :: Software Development :: Libraries
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2
|
||||
Classifier: Programming Language :: Python :: 2.6
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.3
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
|
||||
|
||||
enum-compat
|
||||
===========
|
||||
|
||||
This is a virtual package, its whole purpose is to install enum34 on
|
||||
Python older than 3.4. On Python 3.4+ it's a no-op.
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
enum_compat-0.0.2.dist-info/DESCRIPTION.rst,sha256=ZUxgOYtR8j28PbCHss1PpZ8wDHJxnfb_LZB7HO4RciE,150
|
||||
enum_compat-0.0.2.dist-info/METADATA,sha256=tuKXeC1xCg2NlzhUoupS_zEYriQ-0Vg8nBI1alGFVqA,908
|
||||
enum_compat-0.0.2.dist-info/RECORD,,
|
||||
enum_compat-0.0.2.dist-info/WHEEL,sha256=lCqt3ViRAf9c8mCs6o7ffkwROUdYSy8_YHn5f_rulB4,93
|
||||
enum_compat-0.0.2.dist-info/metadata.json,sha256=_55lhugqrWFsIqTavHtPEOhjQApHbMVyvYnCuJgE514,884
|
||||
enum_compat-0.0.2.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
||||
enum_compat-0.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
@ -0,0 +1,5 @@
|
|||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.29.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: cp34-none-any
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"classifiers": ["Intended Audience :: Developers", "Topic :: Software Development :: Libraries", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5"], "extensions": {"python.details": {"contacts": [{"email": "jakub@stasiak.at", "name": "Jakub Stasiak", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/jstasiak/enum-compat"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["enum", "compatibility", "enum34"], "license": "MIT", "metadata_version": "2.0", "name": "enum-compat", "summary": "enum/enum34 compatibility package", "version": "0.0.2"}
|
|
@ -5,5 +5,5 @@ feedparser-5.2.1.dist-info/RECORD,,
|
|||
feedparser-5.2.1.dist-info/WHEEL,sha256=lCqt3ViRAf9c8mCs6o7ffkwROUdYSy8_YHn5f_rulB4,93
|
||||
feedparser-5.2.1.dist-info/metadata.json,sha256=RMB2LpClHHZBGHSDdUKjdJEieOWn-T0t7Bh6BLaqNrA,1359
|
||||
feedparser-5.2.1.dist-info/top_level.txt,sha256=V8OMyOFfOWI46em2E-SGpIywuPZEYtMPOcPua_gzvUk,11
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/feedparser-5.2.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
feedparser-5.2.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
__pycache__/feedparser.cpython-34.pyc,,
|
||||
|
|
|
@ -40,40 +40,40 @@ html5lib-0.9999999.dist-info/RECORD,,
|
|||
html5lib-0.9999999.dist-info/WHEEL,sha256=lCqt3ViRAf9c8mCs6o7ffkwROUdYSy8_YHn5f_rulB4,93
|
||||
html5lib-0.9999999.dist-info/metadata.json,sha256=ptJ1V8e-ESI9H736RKJ5AJZ3I0T31YwhyIB0Zu2ru4o,1116
|
||||
html5lib-0.9999999.dist-info/top_level.txt,sha256=XEX6CHpskSmvjJB4tP6m4Q5NYXhIf_0ceMc0PNbzJPQ,9
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/html5lib-0.9999999.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
html5lib/treeadapters/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/serializer/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/serializer/__pycache__/htmlserializer.cpython-34.pyc,,
|
||||
html5lib/__pycache__/tokenizer.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/_base.cpython-34.pyc,,
|
||||
html5lib/trie/__pycache__/py.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/lint.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/pulldom.cpython-34.pyc,,
|
||||
html5lib-0.9999999.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
html5lib/treebuilders/__pycache__/etree_lxml.cpython-34.pyc,,
|
||||
html5lib/__pycache__/sanitizer.cpython-34.pyc,,
|
||||
html5lib/treebuilders/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/treebuilders/__pycache__/dom.cpython-34.pyc,,
|
||||
html5lib/__pycache__/utils.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/treebuilders/__pycache__/etree.cpython-34.pyc,,
|
||||
html5lib/serializer/__pycache__/htmlserializer.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/sanitizer.cpython-34.pyc,,
|
||||
html5lib/treebuilders/__pycache__/_base.cpython-34.pyc,,
|
||||
html5lib/__pycache__/constants.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/whitespace.cpython-34.pyc,,
|
||||
html5lib/trie/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/__pycache__/utils.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/optionaltags.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/dom.cpython-34.pyc,,
|
||||
html5lib/trie/__pycache__/_base.cpython-34.pyc,,
|
||||
html5lib/__pycache__/inputstream.cpython-34.pyc,,
|
||||
html5lib/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/etree.cpython-34.pyc,,
|
||||
html5lib/__pycache__/constants.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/lxmletree.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/_base.cpython-34.pyc,,
|
||||
html5lib/treeadapters/__pycache__/sax.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/genshistream.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/alphabeticalattributes.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/__pycache__/html5parser.cpython-34.pyc,,
|
||||
html5lib/__pycache__/ihatexml.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/inject_meta_charset.cpython-34.pyc,,
|
||||
html5lib/trie/__pycache__/datrie.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/treebuilders/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/trie/__pycache__/_base.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/pulldom.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/whitespace.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/inject_meta_charset.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/_base.cpython-34.pyc,,
|
||||
html5lib/treebuilders/__pycache__/_base.cpython-34.pyc,,
|
||||
html5lib/trie/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/lint.cpython-34.pyc,,
|
||||
html5lib/__pycache__/sanitizer.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/alphabeticalattributes.cpython-34.pyc,,
|
||||
html5lib/treewalkers/__pycache__/etree.cpython-34.pyc,,
|
||||
html5lib/treebuilders/__pycache__/dom.cpython-34.pyc,,
|
||||
html5lib/__pycache__/html5parser.cpython-34.pyc,,
|
||||
html5lib/__pycache__/inputstream.cpython-34.pyc,,
|
||||
html5lib/treebuilders/__pycache__/etree.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/_base.cpython-34.pyc,,
|
||||
html5lib/trie/__pycache__/py.cpython-34.pyc,,
|
||||
html5lib/__pycache__/tokenizer.cpython-34.pyc,,
|
||||
html5lib/treeadapters/__pycache__/sax.cpython-34.pyc,,
|
||||
html5lib/__pycache__/ihatexml.cpython-34.pyc,,
|
||||
html5lib/treeadapters/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/filters/__pycache__/__init__.cpython-34.pyc,,
|
||||
html5lib/serializer/__pycache__/__init__.cpython-34.pyc,,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Metadata-Version: 1.1
|
||||
Name: ox
|
||||
Version: 2.3.b-783-
|
||||
Version: 2.3.b-786-
|
||||
Summary: python-ox - the web in a dict
|
||||
Home-page: https://wiki.0x2620.org/wiki/python-ox
|
||||
Author: 0x2620
|
|
@ -21,6 +21,7 @@ ox/oembed.py
|
|||
ox/srt.py
|
||||
ox/text.py
|
||||
ox/utils.py
|
||||
ox/vtt.py
|
||||
ox.egg-info/PKG-INFO
|
||||
ox.egg-info/SOURCES.txt
|
||||
ox.egg-info/dependency_links.txt
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
../ox/srt.py
|
||||
../ox/text.py
|
||||
../ox/utils.py
|
||||
../ox/vtt.py
|
||||
../ox/__version.py
|
||||
../ox/torrent/__init__.py
|
||||
../ox/torrent/bencode.py
|
||||
|
@ -84,6 +85,7 @@
|
|||
../ox/__pycache__/srt.cpython-34.pyc
|
||||
../ox/__pycache__/text.cpython-34.pyc
|
||||
../ox/__pycache__/utils.cpython-34.pyc
|
||||
../ox/__pycache__/vtt.cpython-34.pyc
|
||||
../ox/__pycache__/__version.cpython-34.pyc
|
||||
../ox/torrent/__pycache__/__init__.cpython-34.pyc
|
||||
../ox/torrent/__pycache__/bencode.cpython-34.pyc
|
||||
|
@ -128,8 +130,8 @@
|
|||
../ox/web/__pycache__/vimeo.cpython-34.pyc
|
||||
../ox/web/__pycache__/wikipedia.cpython-34.pyc
|
||||
../ox/web/__pycache__/youtube.cpython-34.pyc
|
||||
PKG-INFO
|
||||
dependency_links.txt
|
||||
requires.txt
|
||||
PKG-INFO
|
||||
top_level.txt
|
||||
requires.txt
|
||||
SOURCES.txt
|
|
@ -13,6 +13,7 @@ from . import jsonc
|
|||
from . import net
|
||||
from . import srt
|
||||
from . import utils
|
||||
from . import vtt
|
||||
|
||||
from .api import *
|
||||
from .file import *
|
||||
|
|
|
@ -1 +1 @@
|
|||
VERSION="2.3.b'783'"
|
||||
VERSION="2.3.b'786'"
|
|
@ -29,7 +29,7 @@ EXTENSIONS = {
|
|||
'video': [
|
||||
'3gp',
|
||||
'avi', 'divx', 'dv', 'flv', 'm2t', 'm4v', 'mkv', 'mov', 'mp4',
|
||||
'mpeg', 'mpg', 'mts', 'ogm', 'ogv', 'rm', 'vob', 'webm', 'wmv',
|
||||
'mpeg', 'mpg', 'mts', 'ogm', 'ogv', 'rm', 'rmvb', 'vob', 'webm', 'wmv',
|
||||
'mod', 'tod', # http://en.wikipedia.org/wiki/MOD_and_TOD
|
||||
'mxf', 'ts'
|
||||
],
|
||||
|
|
|
@ -51,11 +51,12 @@ def _detect_encoding(fp):
|
|||
|
||||
|
||||
def load(filename, offset=0):
|
||||
'''
|
||||
filename path to an srt file
|
||||
offset in seconds shift all in/out points by offset
|
||||
'''Parses an srt file
|
||||
|
||||
returns list with objects that have in,out,value and id
|
||||
filename: path to an srt file
|
||||
offset (float, seconds): shift all in/out points by offset
|
||||
|
||||
Returns list with dicts that have in, out, value and id
|
||||
'''
|
||||
srt = []
|
||||
|
||||
|
@ -87,20 +88,30 @@ def load(filename, offset=0):
|
|||
i += 1
|
||||
return srt
|
||||
|
||||
|
||||
def _srt_timecode(t):
|
||||
return ox.format_duration(t * 1000, years=False).replace('.', ',')
|
||||
|
||||
|
||||
def encode(data):
|
||||
'''
|
||||
encodes list of objects with in,out,value into srt
|
||||
result is utf-8 encoded bytestring
|
||||
'''
|
||||
"""Encodes subtitles into SRT format
|
||||
|
||||
data: list of dicts with 'in', 'out': float and 'value': unicode
|
||||
|
||||
Returns: a UTF-8-encoded bytestring
|
||||
|
||||
>>> encode([{'in': 1.25, 'out': 60 * 60 + 1, 'value': u'touch\\u00E9'}])
|
||||
'\\xef\\xbb\\xbf1\\r\\n00:00:01,250 --> 01:00:01,000\\r\\ntouch\\xc3\\xa9\\r\\n\\r\\n'
|
||||
"""
|
||||
|
||||
srt = u''
|
||||
i = 1
|
||||
for s in data:
|
||||
|
||||
for i, s in enumerate(data, 1):
|
||||
srt += '%d\r\n%s --> %s\r\n%s\r\n\r\n' % (
|
||||
i,
|
||||
ox.format_duration(s['in']*1000, years=False).replace('.', ','),
|
||||
ox.format_duration(s['out']*1000, years=False).replace('.', ','),
|
||||
_srt_timecode(s['in']),
|
||||
_srt_timecode(s['out']),
|
||||
s['value'].replace('\n', '\r\n').strip()
|
||||
)
|
||||
i += 1
|
||||
return codecs.BOM_UTF8 + srt.encode('utf-8')
|
||||
|
||||
return codecs.BOM_UTF8 + srt.encode('utf-8')
|
||||
|
|
32
Shared/lib/python3.4/site-packages/ox/vtt.py
Normal file
32
Shared/lib/python3.4/site-packages/ox/vtt.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# vi:si:et:sw=4:sts=4:ts=4
|
||||
import codecs
|
||||
|
||||
import ox
|
||||
|
||||
|
||||
def _webvtt_timecode(t):
|
||||
return ox.format_duration(t * 1000, years=False)
|
||||
|
||||
|
||||
def encode(data, webvtt=False):
|
||||
"""Encodes subtitles into WebVTT format
|
||||
|
||||
data: list of dicts with 'in', 'out': float and 'value': unicode
|
||||
|
||||
Returns: a UTF-8-encoded bytestring
|
||||
|
||||
>>> encode([{'in': 1.25, 'out': 60 * 60 + 1, 'value': u'touch\\u00E9'}])
|
||||
'\\xef\\xbb\\xbfWEBVTT\\r\\n\\r\\n1\\r\\n00:00:01.250 --> 01:00:01.000\\r\\ntouch\\xc3\\xa9\\r\\n\\r\\n'
|
||||
"""
|
||||
srt = u'WEBVTT\r\n\r\n'
|
||||
|
||||
for i, s in enumerate(data, 1):
|
||||
srt += '%d\r\n%s --> %s\r\n%s\r\n\r\n' % (
|
||||
i,
|
||||
_webvtt_timecode(s['in']),
|
||||
_webvtt_timecode(s['out']),
|
||||
s['value'].replace('\n', '\r\n').strip()
|
||||
)
|
||||
|
||||
return codecs.BOM_UTF8 + srt.encode('utf-8')
|
|
@ -17,11 +17,13 @@ tool for installing Python packages.
|
|||
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/pip.svg
|
||||
:target: https://pypi.python.org/pypi/pip
|
||||
:target: https://pypi.python.org/pypi/pip
|
||||
|
||||
.. image:: https://img.shields.io/travis/pypa/pip/develop.svg
|
||||
:target: http://travis-ci.org/pypa/pip
|
||||
|
||||
.. image:: https://readthedocs.org/projects/pip/badge/?version=stable
|
||||
:target: https://pip.pypa.io/en/stable
|
||||
|
||||
Code of Conduct
|
||||
---------------
|
|
@ -1,6 +1,6 @@
|
|||
Metadata-Version: 2.0
|
||||
Name: pip
|
||||
Version: 8.0.2
|
||||
Version: 8.1.0
|
||||
Summary: The PyPA recommended tool for installing Python packages.
|
||||
Home-page: https://pip.pypa.io/
|
||||
Author: The pip developers
|
||||
|
@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.5
|
|||
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||||
Provides-Extra: testing
|
||||
Requires-Dist: mock; extra == 'testing'
|
||||
Requires-Dist: pretend; extra == 'testing'
|
||||
Requires-Dist: pytest; extra == 'testing'
|
||||
Requires-Dist: scripttest (>=1.3); extra == 'testing'
|
||||
Requires-Dist: virtualenv (>=1.10); extra == 'testing'
|
||||
|
@ -45,11 +46,13 @@ tool for installing Python packages.
|
|||
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/pip.svg
|
||||
:target: https://pypi.python.org/pypi/pip
|
||||
:target: https://pypi.python.org/pypi/pip
|
||||
|
||||
.. image:: https://img.shields.io/travis/pypa/pip/develop.svg
|
||||
:target: http://travis-ci.org/pypa/pip
|
||||
|
||||
.. image:: https://readthedocs.org/projects/pip/badge/?version=stable
|
||||
:target: https://pip.pypa.io/en/stable
|
||||
|
||||
Code of Conduct
|
||||
---------------
|
|
@ -1,113 +1,117 @@
|
|||
pip/__init__.py,sha256=mPGsfFwpIvtXlWhanTBtjdVYuTc0KNDvb2Tr-gHZBvU,10431
|
||||
pip/__init__.py,sha256=5_Hqv55mmr33A0LuCQpbLFyrUwiJ2kophGibMYYTcyw,10273
|
||||
pip/__main__.py,sha256=V6Kh-IEDEFpt1cahRE6MajUF_14qJR_Qsvn4MjWZXzE,584
|
||||
pip/basecommand.py,sha256=Zlg6SE42TIjRyt1mct0LCkgNxcKKnss3xvASJyDqucE,11429
|
||||
pip/baseparser.py,sha256=Nlc7Un9gat27xtB24SnKL_3pZZOoh62gNNRdS6tDRZY,10465
|
||||
pip/cmdoptions.py,sha256=OJhbVR6zQ8kbbGcnv0RTZyvwvFqzKxtmO4lPYymMBKM,15877
|
||||
pip/download.py,sha256=srwSU5WnOa59_TPGaCfEWODDSZSRBJUHgU5jkC467MY,31715
|
||||
pip/exceptions.py,sha256=4KrgxMQuOpP8JlWc90S0vsJ_Ch-EBeD026knOgk9U8A,7741
|
||||
pip/index.py,sha256=VzgEo93kTlHeoPrlgPDg24h2ly0jzdg92OBjkG--gMg,36776
|
||||
pip/download.py,sha256=oJ3sZ8I6ct9X3eoXQ9xm_Ne0e6N85G_rWaERmMCVF2k,31722
|
||||
pip/exceptions.py,sha256=GdDhHOROBj-kW2rgerLJYXsxN8ENy1BX5RUb_Vs9TXM,7980
|
||||
pip/index.py,sha256=kpyj_O5c0VVlvhg5VuVm4oAGGh6RvD7Xr0syPN-eGa0,37191
|
||||
pip/locations.py,sha256=MqUzS8YI2wDa7oFzTQw4zM4s0Hci05yubxfU_kTXXlU,5632
|
||||
pip/pep425tags.py,sha256=nXeMZN4d3h14oVovpI0WholWCNCR0MD2mAERl3YHs08,7240
|
||||
pip/pep425tags.py,sha256=4PNr9hd8OsXnKYR2q2oLzfDDhF5bFBwUZA-ZQxAClSI,11318
|
||||
pip/status_codes.py,sha256=F6uDG6Gj7RNKQJUDnd87QKqI16Us-t-B0wPF_4QMpWc,156
|
||||
pip/wheel.py,sha256=e3iaG7X6Z6eQvfChzGiZHK4yw12Z_PqLSRCi6_AUf4s,32030
|
||||
pip/_vendor/__init__.py,sha256=OuNX6SjnmNk4mvSyZXarkqf7LtKke3IH7CWoAi_w-5o,4229
|
||||
pip/commands/__init__.py,sha256=BSfOTIkMIBWElsuWJ_uAuCmDQS8b-OHYiyOkk77tWSU,2215
|
||||
pip/commands/completion.py,sha256=7JkLif3DF0QGpjMaUjHvF8knJ3IumcED2gWRvMRpFy0,1991
|
||||
pip/wheel.py,sha256=qg1DgjXtiQCnY-IJY5HC5VgpeQm9WCjDKYmefSfOjq0,32088
|
||||
pip/_vendor/__init__.py,sha256=9EPZ-JLxtXMt71Fp5_pKTTe1QbJZZVlN81rsRYEvlpA,4781
|
||||
pip/commands/__init__.py,sha256=naZ1iIWRutNznOVpLj8qyn1GPE0B5rhCWCrSUOZSt4M,2145
|
||||
pip/commands/completion.py,sha256=2BEUY3jowgemiIGgUP3rpk6A9My4Eu8rTPosFxlESOE,1967
|
||||
pip/commands/download.py,sha256=dMRtH0JMBhNGlJWr1qC29vOeiBzG2K0OjOAfzdxSVgA,4804
|
||||
pip/commands/freeze.py,sha256=_wHnuHYXC4V0zBLD7LfDhgI_bWL6KdcCgzzQ9bXwDkU,2330
|
||||
pip/commands/freeze.py,sha256=KmQoLf-HruqBDzc-F2-ganGVn2lboNQqppfyrMsx3SU,2774
|
||||
pip/commands/hash.py,sha256=MCt4jEFyfoce0lVeNEz1x49uaTY-VDkKiBvvxrVcHkw,1597
|
||||
pip/commands/help.py,sha256=84HWkEdnGP_AEBHnn8gJP2Te0XTXRKFoXqXopbOZTNo,982
|
||||
pip/commands/install.py,sha256=8MOsH3IlL3ovZhTQtZwHhJb19pnkr8eKNE_9klVJ3PU,14971
|
||||
pip/commands/install.py,sha256=DvRVVwfUy6LV-AtNcxl9kLl7XOc7G7087ZhdD4QbP60,15628
|
||||
pip/commands/list.py,sha256=u76U5TLODQ2g53sSUA4q6WhYus7usbuWuITQJsCnP3E,7412
|
||||
pip/commands/search.py,sha256=dJe9rcam1TEfNp9-Gi36WjHc3l4mdj8gheVjqK5BrR0,4605
|
||||
pip/commands/show.py,sha256=yxghAwGYaYphL2LJdJbYXVLFr8tBMHnuH8n8s2fWMr4,4903
|
||||
pip/commands/search.py,sha256=9ClAcFzkJ_7AksTkNrUed5qzsplpBtMlJByJLqiZFqw,4777
|
||||
pip/commands/show.py,sha256=dytBbI9XV-ChpV51tsuBygZJJO-QaO2Gtz5kbLkBCZE,5815
|
||||
pip/commands/uninstall.py,sha256=tz8cXz4WdpUdnt3RvpdQwH6_SNMB50egBIZWa1dwfcc,2884
|
||||
pip/commands/wheel.py,sha256=iT92Uo8qpVILl_Yk8L7AtkFVYGmY0ep5oDeyQSpwkLs,7528
|
||||
pip/compat/__init__.py,sha256=-k3m7JYe8ztMz2GGCPMc-XK7Uo-RiLdV00dSxWKMjfg,4536
|
||||
pip/compat/__init__.py,sha256=7WN0B0XMYIldfminnT679VoEJLxNQPi9MFwCIt1_llU,4669
|
||||
pip/compat/dictconfig.py,sha256=dRrelPDWrceDSzFT51RTEVY2GuM7UDyc5Igh_tn4Fvk,23096
|
||||
pip/compat/ordereddict.py,sha256=6RQCd4PyTE4tvLUoAnsygvrreOSTV4BRDbc_4gCSkTs,4110
|
||||
pip/models/__init__.py,sha256=0Rs7_RA4DxeOkWT5Cq4CQzDrSEhvYcN3TH2cazr72PE,71
|
||||
pip/models/index.py,sha256=pUfbO__v3mD9j-2n_ClwPS8pVyx4l2wIwyvWt8GMCRA,487
|
||||
pip/operations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pip/operations/freeze.py,sha256=Px8en5guEfc6mhYh0cATtT6tlFzqTzLj4ad8gqAkIqw,3925
|
||||
pip/operations/freeze.py,sha256=H6xpxe1XgoNm5f3UXK47kNy0OQfM5jzo4UUwQu7G-Lo,4048
|
||||
pip/req/__init__.py,sha256=vFwZY8_Vc1WU1zFAespg1My_r_AT3n7cN0W9eX0EFqk,276
|
||||
pip/req/req_file.py,sha256=h1YmFfD7Opb_ulTTyEp7Osv2d8gbQJ1KGWMptEl_S08,11764
|
||||
pip/req/req_install.py,sha256=DYLV95E3U81nRJy4q8qs0fozLiCQZbG8Yg-CbUTwA2w,46670
|
||||
pip/req/req_set.py,sha256=0ncBet1v7gbsKeTUPpBj_-6Kowxx-iskw0_kLMGObi4,32236
|
||||
pip/req/req_file.py,sha256=3eaVnPMUAjikLdC5i8hZUAf8aAOby2UxmAVFf94FOXY,11928
|
||||
pip/req/req_install.py,sha256=aG0_hj8WqLLUH5tO40OFIncIxU50Vm4rFqYcx5hmoYk,45589
|
||||
pip/req/req_set.py,sha256=Xwia1h7o2Z3Qogae3RHIDCGlXS3w2AeQPG8LBz7GmFM,32312
|
||||
pip/req/req_uninstall.py,sha256=fdH2VgCjEC8NRYDS7fRu3ZJaBBUEy-N5muwxDX5MBNM,6897
|
||||
pip/utils/__init__.py,sha256=4Tz09B6nsZm6bQ3mR7K-AeDjlMLMFjnehaXH4vG_E-0,26759
|
||||
pip/utils/__init__.py,sha256=SSixMJeh2SdjNgra_50jaC0jdmXFewLkFh_-a3tw9ks,28256
|
||||
pip/utils/appdirs.py,sha256=KTpZANfjYw5K2tZ0_jNNdP_kMxQAns79qZWelwaJo0c,7896
|
||||
pip/utils/build.py,sha256=4smLRrfSCmXmjEnVnMFh2tBEpNcSLRe6J0ejZJ-wWJE,1312
|
||||
pip/utils/deprecation.py,sha256=0y-RdGVpnt-_byop0WJOOb509f8jjOzSmKghHorTclU,2282
|
||||
pip/utils/deprecation.py,sha256=DR3cKqzovYu9Pif7c9bT2KmwekfW95N3BsI45_5u38I,2239
|
||||
pip/utils/encoding.py,sha256=rRSzAWfZTyOM-9u5LqwAVijcmoj2BRRQgP9d2IpEHQM,643
|
||||
pip/utils/filesystem.py,sha256=ZEVBuYM3fqr2_lgOESh4Y7fPFszGD474zVm_M3Mb5Tk,899
|
||||
pip/utils/hashes.py,sha256=oMk7cd3PbJgzpSQyXq1MytMud5f6H5Oa2YY5hYuCq6I,2866
|
||||
pip/utils/logging.py,sha256=7yWu4gZw-Qclj7X80QVdpGWkdTWGKT4LiUVKcE04pro,3327
|
||||
pip/utils/outdated.py,sha256=fNwOCL5r2EftPGhgCYGMKu032HC8cV-JAr9lp0HmToM,5455
|
||||
pip/utils/setuptools_build.py,sha256=8IGop-SZ6lxUl5HMOjLRaDlORPugIH_b_b2Y67x4jQc,240
|
||||
pip/utils/ui.py,sha256=fY7lHmQg3Pdnsgkge2mpZMNU9e1jg6unYYs2Ryfulhk,11320
|
||||
pip/utils/ui.py,sha256=pbDkSAeumZ6jdZcOJ2yAbx8iBgeP2zfpqNnLJK1gskQ,11597
|
||||
pip/vcs/__init__.py,sha256=lnea41zMq9HqB1Qo7hxy2IjUzk5WtBvnoloCCMR6Vk4,12349
|
||||
pip/vcs/bazaar.py,sha256=tYTwc4b4off8mr0O2o8SiGejqBDJxcbDBMSMd9-ISYc,3803
|
||||
pip/vcs/git.py,sha256=jN3vZCn1DqE-RdKGfMqlDhObZ3WFjC21dEav29M62xI,10054
|
||||
pip/vcs/git.py,sha256=u16VCiNW_a9AaYqLri2b8-f4lOZlOYwsGpHHV3uv_dQ,10218
|
||||
pip/vcs/mercurial.py,sha256=xG6rDiwHCRytJEs23SIHBXl_SwQo2jkkdD_6rVVP5h4,3472
|
||||
pip/vcs/subversion.py,sha256=mGT7sAzuVc1u-9MPoXJNyShnRzhdJpDdGNuhhzUPv6w,8687
|
||||
pip-8.0.2.dist-info/DESCRIPTION.rst,sha256=_rptqJIyCNNmh7m8q-4qZfQDc9gqAjMxVITAEfItc08,1060
|
||||
pip-8.0.2.dist-info/METADATA,sha256=0KwLFgIzCAQ506gjLJ_VyrUxbw2NC8b-kUbTM8Uo42Y,2212
|
||||
pip-8.0.2.dist-info/RECORD,,
|
||||
pip-8.0.2.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110
|
||||
pip-8.0.2.dist-info/entry_points.txt,sha256=1-e4WB_Fe8mWHrMi1YQo_s5knbh0lu_uRmd8Wb6MJfY,68
|
||||
pip-8.0.2.dist-info/metadata.json,sha256=Sl2y0vogC_Ro8peVqn3OBZJQ_kV0PdQ9QfraUV3XPj0,1393
|
||||
pip-8.0.2.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/bin/pip,sha256=tirEqfn4_1wbMXwJJlFXKaCNMvF9Ha-hQeGqLUeRl10,270
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/bin/pip3,sha256=tirEqfn4_1wbMXwJJlFXKaCNMvF9Ha-hQeGqLUeRl10,270
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/bin/pip3.4,sha256=tirEqfn4_1wbMXwJJlFXKaCNMvF9Ha-hQeGqLUeRl10,270
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/pip-8.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
pip/commands/__pycache__/freeze.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/logging.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/hash.cpython-34.pyc,,
|
||||
pip/req/__pycache__/req_uninstall.cpython-34.pyc,,
|
||||
pip/__pycache__/basecommand.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/deprecation.cpython-34.pyc,,
|
||||
pip/_vendor/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/list.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/setuptools_build.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/hashes.cpython-34.pyc,,
|
||||
pip/vcs/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip-8.1.0.dist-info/DESCRIPTION.rst,sha256=jSvW1qOjwzndvm_p_DexGCVJfwgg3rWPMJWzf6Rmsfc,1167
|
||||
pip-8.1.0.dist-info/METADATA,sha256=NIsJafU0Eg3jm5vpz5ntbIXKUUIhMqJpjuV_OVpPlCo,2362
|
||||
pip-8.1.0.dist-info/RECORD,,
|
||||
pip-8.1.0.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110
|
||||
pip-8.1.0.dist-info/entry_points.txt,sha256=GWc-Wb9WUKZ1EuVWNz-G0l3BeIpbNJLx0OJbZ61AAV0,68
|
||||
pip-8.1.0.dist-info/metadata.json,sha256=zCqgFRL4piTEzAhAk_56ay7wvcWRWZkDtEj0eHkT6g8,1513
|
||||
pip-8.1.0.dist-info/top_level.txt,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
../../../bin/pip,sha256=tirEqfn4_1wbMXwJJlFXKaCNMvF9Ha-hQeGqLUeRl10,270
|
||||
../../../bin/pip3,sha256=tirEqfn4_1wbMXwJJlFXKaCNMvF9Ha-hQeGqLUeRl10,270
|
||||
../../../bin/pip3.4,sha256=tirEqfn4_1wbMXwJJlFXKaCNMvF9Ha-hQeGqLUeRl10,270
|
||||
pip-8.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
pip/__pycache__/baseparser.cpython-34.pyc,,
|
||||
pip/__pycache__/index.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/encoding.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/search.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/operations/__pycache__/freeze.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/download.cpython-34.pyc,,
|
||||
pip/__pycache__/pep425tags.cpython-34.pyc,,
|
||||
pip/__pycache__/wheel.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/appdirs.cpython-34.pyc,,
|
||||
pip/__pycache__/status_codes.cpython-34.pyc,,
|
||||
pip/req/__pycache__/req_file.cpython-34.pyc,,
|
||||
pip/vcs/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/req/__pycache__/req_uninstall.cpython-34.pyc,,
|
||||
pip/req/__pycache__/req_set.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/completion.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/build.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/list.cpython-34.pyc,,
|
||||
pip/__pycache__/__main__.cpython-34.pyc,,
|
||||
pip/vcs/__pycache__/subversion.cpython-34.pyc,,
|
||||
pip/operations/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/uninstall.cpython-34.pyc,,
|
||||
pip/req/__pycache__/req_install.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/ui.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/completion.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/outdated.cpython-34.pyc,,
|
||||
pip/__pycache__/baseparser.cpython-34.pyc,,
|
||||
pip/__pycache__/download.cpython-34.pyc,,
|
||||
pip/__pycache__/pep425tags.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/build.cpython-34.pyc,,
|
||||
pip/operations/__pycache__/freeze.cpython-34.pyc,,
|
||||
pip/req/__pycache__/req_file.cpython-34.pyc,,
|
||||
pip/__pycache__/locations.cpython-34.pyc,,
|
||||
pip/__pycache__/cmdoptions.cpython-34.pyc,,
|
||||
pip/_vendor/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/vcs/__pycache__/git.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/setuptools_build.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/deprecation.cpython-34.pyc,,
|
||||
pip/req/__pycache__/req_install.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/uninstall.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/filesystem.cpython-34.pyc,,
|
||||
pip/req/__pycache__/req_set.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/search.cpython-34.pyc,,
|
||||
pip/__pycache__/status_codes.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/models/__pycache__/index.cpython-34.pyc,,
|
||||
pip/vcs/__pycache__/bazaar.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/help.cpython-34.pyc,,
|
||||
pip/req/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/compat/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/freeze.cpython-34.pyc,,
|
||||
pip/operations/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/wheel.cpython-34.pyc,,
|
||||
pip/compat/__pycache__/dictconfig.cpython-34.pyc,,
|
||||
pip/compat/__pycache__/ordereddict.cpython-34.pyc,,
|
||||
pip/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/outdated.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/install.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/logging.cpython-34.pyc,,
|
||||
pip/models/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/__pycache__/exceptions.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/hash.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/hashes.cpython-34.pyc,,
|
||||
pip/utils/__pycache__/ui.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/__pycache__/basecommand.cpython-34.pyc,,
|
||||
pip/vcs/__pycache__/mercurial.cpython-34.pyc,,
|
||||
pip/__pycache__/cmdoptions.cpython-34.pyc,,
|
||||
pip/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/compat/__pycache__/dictconfig.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/download.cpython-34.pyc,,
|
||||
pip/vcs/__pycache__/git.cpython-34.pyc,,
|
||||
pip/__pycache__/index.cpython-34.pyc,,
|
||||
pip/__pycache__/locations.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/show.cpython-34.pyc,,
|
||||
pip/__pycache__/wheel.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/help.cpython-34.pyc,,
|
||||
pip/vcs/__pycache__/bazaar.cpython-34.pyc,,
|
||||
pip/req/__pycache__/__init__.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/wheel.cpython-34.pyc,,
|
||||
pip/commands/__pycache__/install.cpython-34.pyc,,
|
||||
pip/models/__pycache__/index.cpython-34.pyc,,
|
||||
pip/compat/__pycache__/__init__.cpython-34.pyc,,
|
|
@ -0,0 +1,6 @@
|
|||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.29.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py2-none-any
|
||||
Tag: py3-none-any
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[console_scripts]
|
||||
pip = pip:main
|
||||
pip3 = pip:main
|
||||
pip3.4 = pip:main
|
||||
pip3.5 = pip:main
|
||||
|
|
@ -1 +1 @@
|
|||
{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Topic :: Software Development :: Build Tools", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: PyPy"], "extensions": {"python.commands": {"wrap_console": {"pip": "pip:main", "pip3": "pip:main", "pip3.4": "pip:main"}}, "python.details": {"contacts": [{"email": "python-virtualenv@groups.google.com", "name": "The pip developers", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://pip.pypa.io/"}}, "python.exports": {"console_scripts": {"pip": "pip:main", "pip3": "pip:main", "pip3.4": "pip:main"}}}, "extras": ["testing"], "generator": "bdist_wheel (0.26.0)", "keywords": ["easy_install", "distutils", "setuptools", "egg", "virtualenv"], "license": "MIT", "metadata_version": "2.0", "name": "pip", "run_requires": [{"extra": "testing", "requires": ["mock", "pytest", "scripttest (>=1.3)", "virtualenv (>=1.10)"]}], "summary": "The PyPA recommended tool for installing Python packages.", "version": "8.0.2"}
|
||||
{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Topic :: Software Development :: Build Tools", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: PyPy"], "extensions": {"python.commands": {"wrap_console": {"pip": "pip:main", "pip3": "pip:main", "pip3.5": "pip:main"}}, "python.details": {"contacts": [{"email": "python-virtualenv@groups.google.com", "name": "The pip developers", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://pip.pypa.io/"}}, "python.exports": {"console_scripts": {"pip": "pip:main", "pip3": "pip:main", "pip3.5": "pip:main"}}}, "extras": ["testing"], "generator": "bdist_wheel (0.29.0)", "keywords": ["easy_install", "distutils", "setuptools", "egg", "virtualenv"], "license": "MIT", "metadata_version": "2.0", "name": "pip", "run_requires": [{"extra": "testing", "requires": ["mock", "pretend", "pytest", "scripttest (>=1.3)", "virtualenv (>=1.10)"]}], "summary": "The PyPA recommended tool for installing Python packages.", "test_requires": [{"requires": ["mock", "pretend", "pytest", "scripttest (>=1.3)", "virtualenv (>=1.10)"]}], "version": "8.1.0"}
|
|
@ -0,0 +1 @@
|
|||
pip
|
|
@ -30,7 +30,7 @@ import pip.cmdoptions
|
|||
cmdoptions = pip.cmdoptions
|
||||
|
||||
# The version as used in the setup.py and the docs conf.py
|
||||
__version__ = "8.0.2"
|
||||
__version__ = "8.1.0"
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
@ -197,10 +197,6 @@ def main(args=None):
|
|||
if args is None:
|
||||
args = sys.argv[1:]
|
||||
|
||||
# Enable our Deprecation Warnings
|
||||
for deprecation_warning in deprecation.DEPRECATIONS:
|
||||
warnings.simplefilter("default", deprecation_warning)
|
||||
|
||||
# Configure our deprecation warnings to be sent through loggers
|
||||
deprecation.install_warning_logger()
|
||||
|
||||
|
|
|
@ -32,10 +32,22 @@ def vendored(modulename):
|
|||
try:
|
||||
__import__(vendored_name, globals(), locals(), level=0)
|
||||
except ImportError:
|
||||
__import__(modulename, globals(), locals(), level=0)
|
||||
sys.modules[vendored_name] = sys.modules[modulename]
|
||||
base, head = vendored_name.rsplit(".", 1)
|
||||
setattr(sys.modules[base], head, sys.modules[modulename])
|
||||
try:
|
||||
__import__(modulename, globals(), locals(), level=0)
|
||||
except ImportError:
|
||||
# We can just silently allow import failures to pass here. If we
|
||||
# got to this point it means that ``import pip._vendor.whatever``
|
||||
# failed and so did ``import whatever``. Since we're importing this
|
||||
# upfront in an attempt to alias imports, not erroring here will
|
||||
# just mean we get a regular import error whenever pip *actually*
|
||||
# tries to import one of these modules to use it, which actually
|
||||
# gives us a better error message than we would have otherwise
|
||||
# gotten.
|
||||
pass
|
||||
else:
|
||||
sys.modules[vendored_name] = sys.modules[modulename]
|
||||
base, head = vendored_name.rsplit(".", 1)
|
||||
setattr(sys.modules[base], head, sys.modules[modulename])
|
||||
|
||||
|
||||
# If we're operating in a debundled setup, then we want to go ahead and trigger
|
||||
|
@ -70,14 +82,8 @@ if DEBUNDLED:
|
|||
vendored("requests.packages.urllib3.connection")
|
||||
vendored("requests.packages.urllib3.connectionpool")
|
||||
vendored("requests.packages.urllib3.contrib")
|
||||
try:
|
||||
vendored("requests.packages.urllib3.contrib.ntlmpool")
|
||||
except ImportError:
|
||||
pass
|
||||
try:
|
||||
vendored("requests.packages.urllib3.contrib.pyopenssl")
|
||||
except ImportError:
|
||||
pass
|
||||
vendored("requests.packages.urllib3.contrib.ntlmpool")
|
||||
vendored("requests.packages.urllib3.contrib.pyopenssl")
|
||||
vendored("requests.packages.urllib3.exceptions")
|
||||
vendored("requests.packages.urllib3.fields")
|
||||
vendored("requests.packages.urllib3.filepost")
|
||||
|
|
|
@ -41,11 +41,12 @@ commands_order = [
|
|||
SearchCommand,
|
||||
WheelCommand,
|
||||
HashCommand,
|
||||
CompletionCommand,
|
||||
HelpCommand,
|
||||
]
|
||||
|
||||
|
||||
def get_summaries(ignore_hidden=True, ordered=True):
|
||||
def get_summaries(ordered=True):
|
||||
"""Yields sorted (command name, command summary) tuples."""
|
||||
|
||||
if ordered:
|
||||
|
@ -54,9 +55,6 @@ def get_summaries(ignore_hidden=True, ordered=True):
|
|||
cmditems = commands_dict.items()
|
||||
|
||||
for name, command_class in cmditems:
|
||||
if ignore_hidden and command_class.hidden:
|
||||
continue
|
||||
|
||||
yield (name, command_class.summary)
|
||||
|
||||
|
||||
|
|
|
@ -32,8 +32,7 @@ compctl -K _pip_completion pip
|
|||
class CompletionCommand(Command):
|
||||
"""A helper command to be used for command completion."""
|
||||
name = 'completion'
|
||||
summary = 'A helper command to be used for command completion'
|
||||
hidden = True
|
||||
summary = 'A helper command used for command completion'
|
||||
|
||||
def __init__(self, *args, **kw):
|
||||
super(CompletionCommand, self).__init__(*args, **kw)
|
||||
|
|
|
@ -3,11 +3,15 @@ from __future__ import absolute_import
|
|||
import sys
|
||||
|
||||
import pip
|
||||
from pip.compat import stdlib_pkgs
|
||||
from pip.basecommand import Command
|
||||
from pip.operations.freeze import freeze
|
||||
from pip.wheel import WheelCache
|
||||
|
||||
|
||||
DEV_PKGS = ('pip', 'setuptools', 'distribute', 'wheel')
|
||||
|
||||
|
||||
class FreezeCommand(Command):
|
||||
"""
|
||||
Output installed packages in requirements format.
|
||||
|
@ -52,12 +56,22 @@ class FreezeCommand(Command):
|
|||
action='store_true',
|
||||
default=False,
|
||||
help='Only output packages installed in user-site.')
|
||||
self.cmd_opts.add_option(
|
||||
'--all',
|
||||
dest='freeze_all',
|
||||
action='store_true',
|
||||
help='Do not skip these packages in the output:'
|
||||
' %s' % ', '.join(DEV_PKGS))
|
||||
|
||||
self.parser.insert_option_group(0, self.cmd_opts)
|
||||
|
||||
def run(self, options, args):
|
||||
format_control = pip.index.FormatControl(set(), set())
|
||||
wheel_cache = WheelCache(options.cache_dir, format_control)
|
||||
skip = set(stdlib_pkgs)
|
||||
if not options.freeze_all:
|
||||
skip.update(DEV_PKGS)
|
||||
|
||||
freeze_kwargs = dict(
|
||||
requirement=options.requirement,
|
||||
find_links=options.find_links,
|
||||
|
@ -65,7 +79,8 @@ class FreezeCommand(Command):
|
|||
user_only=options.user,
|
||||
skip_regex=options.skip_requirements_regex,
|
||||
isolated=options.isolated_mode,
|
||||
wheel_cache=wheel_cache)
|
||||
wheel_cache=wheel_cache,
|
||||
skip=skip)
|
||||
|
||||
for line in freeze(**freeze_kwargs):
|
||||
sys.stdout.write(line + '\n')
|
||||
|
|
|
@ -24,6 +24,7 @@ from pip.utils.deprecation import RemovedInPip10Warning
|
|||
from pip.utils.filesystem import check_path_owner
|
||||
from pip.wheel import WheelCache, WheelBuilder
|
||||
|
||||
from pip.locations import running_under_virtualenv
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -54,6 +55,12 @@ class InstallCommand(RequirementCommand):
|
|||
def __init__(self, *args, **kw):
|
||||
super(InstallCommand, self).__init__(*args, **kw)
|
||||
|
||||
default_user = True
|
||||
if running_under_virtualenv():
|
||||
default_user = False
|
||||
if os.geteuid() == 0:
|
||||
default_user = False
|
||||
|
||||
cmd_opts = self.cmd_opts
|
||||
|
||||
cmd_opts.add_option(cmdoptions.constraints())
|
||||
|
@ -103,6 +110,7 @@ class InstallCommand(RequirementCommand):
|
|||
'-I', '--ignore-installed',
|
||||
dest='ignore_installed',
|
||||
action='store_true',
|
||||
default=default_user,
|
||||
help='Ignore the installed packages (reinstalling instead).')
|
||||
|
||||
cmd_opts.add_option(cmdoptions.no_deps())
|
||||
|
@ -114,10 +122,20 @@ class InstallCommand(RequirementCommand):
|
|||
'--user',
|
||||
dest='use_user_site',
|
||||
action='store_true',
|
||||
default=default_user,
|
||||
help="Install to the Python user install directory for your "
|
||||
"platform. Typically ~/.local/, or %APPDATA%\Python on "
|
||||
"Windows. (See the Python documentation for site.USER_BASE "
|
||||
"for full details.)")
|
||||
"for full details.) On Debian systems, this is the "
|
||||
"default when running outside of a virtual environment "
|
||||
"and not as root.")
|
||||
|
||||
cmd_opts.add_option(
|
||||
'--system',
|
||||
dest='use_user_site',
|
||||
action='store_false',
|
||||
help="Install using the system scheme (overrides --user on "
|
||||
"Debian systems)")
|
||||
|
||||
cmd_opts.add_option(
|
||||
'--egg',
|
||||
|
|
|
@ -105,11 +105,16 @@ def print_results(hits, name_column_width=None, terminal_width=None):
|
|||
if not hits:
|
||||
return
|
||||
if name_column_width is None:
|
||||
name_column_width = max((len(hit['name']) for hit in hits)) + 4
|
||||
name_column_width = max([
|
||||
len(hit['name']) + len(hit.get('versions', ['-'])[-1])
|
||||
for hit in hits
|
||||
]) + 4
|
||||
|
||||
installed_packages = [p.project_name for p in pkg_resources.working_set]
|
||||
for hit in hits:
|
||||
name = hit['name']
|
||||
summary = hit['summary'] or ''
|
||||
version = hit.get('versions', ['-'])[-1]
|
||||
if terminal_width is not None:
|
||||
# wrap and indent summary to fit terminal
|
||||
summary = textwrap.wrap(
|
||||
|
@ -117,7 +122,9 @@ def print_results(hits, name_column_width=None, terminal_width=None):
|
|||
terminal_width - name_column_width - 5,
|
||||
)
|
||||
summary = ('\n' + ' ' * (name_column_width + 3)).join(summary)
|
||||
line = '%s - %s' % (name.ljust(name_column_width), summary)
|
||||
|
||||
line = '%-*s - %s' % (name_column_width,
|
||||
'%s (%s)' % (name, version), summary)
|
||||
try:
|
||||
logger.info(line)
|
||||
if name in installed_packages:
|
||||
|
|
|
@ -85,6 +85,14 @@ def search_packages_info(query):
|
|||
entry_points = dist.get_metadata_lines('entry_points.txt')
|
||||
package['entry_points'] = entry_points
|
||||
|
||||
installer = None
|
||||
if dist.has_metadata('INSTALLER'):
|
||||
for line in dist.get_metadata_lines('INSTALLER'):
|
||||
if line.strip():
|
||||
installer = line.strip()
|
||||
break
|
||||
package['installer'] = installer
|
||||
|
||||
# @todo: Should pkg_resources.Distribution have a
|
||||
# `get_pkg_info` method?
|
||||
feed_parser = FeedParser()
|
||||
|
@ -94,6 +102,16 @@ def search_packages_info(query):
|
|||
'home-page', 'author', 'author-email', 'license'):
|
||||
package[key] = pkg_info_dict.get(key)
|
||||
|
||||
# It looks like FeedParser can not deal with repeated headers
|
||||
classifiers = []
|
||||
for line in metadata.splitlines():
|
||||
if not line:
|
||||
break
|
||||
# Classifier: License :: OSI Approved :: MIT License
|
||||
if line.startswith('Classifier: '):
|
||||
classifiers.append(line[len('Classifier: '):])
|
||||
package['classifiers'] = classifiers
|
||||
|
||||
if file_list:
|
||||
package['files'] = sorted(file_list)
|
||||
yield package
|
||||
|
@ -114,9 +132,14 @@ def print_results(distributions, list_all_files):
|
|||
logger.info("Home-page: %s", dist.get('home-page'))
|
||||
logger.info("Author: %s", dist.get('author'))
|
||||
logger.info("Author-email: %s", dist.get('author-email'))
|
||||
if dist['installer'] is not None:
|
||||
logger.info("Installer: %s", dist['installer'])
|
||||
logger.info("License: %s", dist.get('license'))
|
||||
logger.info("Location: %s", dist['location'])
|
||||
logger.info("Requires: %s", ', '.join(dist['requires']))
|
||||
logger.info("Classifiers:")
|
||||
for classifier in dist['classifiers']:
|
||||
logger.info(" %s", classifier)
|
||||
if list_all_files:
|
||||
logger.info("Files:")
|
||||
if 'files' in dist:
|
||||
|
|
|
@ -12,6 +12,11 @@ try:
|
|||
except ImportError:
|
||||
from pip.compat.dictconfig import dictConfig as logging_dictConfig
|
||||
|
||||
try:
|
||||
from collections import OrderedDict
|
||||
except ImportError:
|
||||
from pip.compat.ordereddict import OrderedDict
|
||||
|
||||
try:
|
||||
import ipaddress
|
||||
except ImportError:
|
||||
|
@ -45,7 +50,8 @@ except ImportError:
|
|||
|
||||
__all__ = [
|
||||
"logging_dictConfig", "ipaddress", "uses_pycache", "console_to_str",
|
||||
"native_str", "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile"
|
||||
"native_str", "get_path_uid", "stdlib_pkgs", "WINDOWS", "samefile",
|
||||
"OrderedDict",
|
||||
]
|
||||
|
||||
|
||||
|
@ -138,9 +144,9 @@ def expanduser(path):
|
|||
# dist.location (py27:`sysconfig.get_paths()['stdlib']`,
|
||||
# py26:sysconfig.get_config_vars('LIBDEST')), but fear platform variation may
|
||||
# make this ineffective, so hard-coding
|
||||
stdlib_pkgs = ['python', 'wsgiref']
|
||||
stdlib_pkgs = ('python', 'wsgiref')
|
||||
if sys.version_info >= (2, 7):
|
||||
stdlib_pkgs.extend(['argparse'])
|
||||
stdlib_pkgs += ('argparse',)
|
||||
|
||||
|
||||
# windows detection, covers cpython and ironpython
|
||||
|
|
129
Shared/lib/python3.4/site-packages/pip/compat/ordereddict.py
Normal file
129
Shared/lib/python3.4/site-packages/pip/compat/ordereddict.py
Normal file
|
@ -0,0 +1,129 @@
|
|||
# Copyright (c) 2009 Raymond Hettinger
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
# (the "Software"), to deal in the Software without restriction,
|
||||
# including without limitation the rights to use, copy, modify, merge,
|
||||
# publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
# and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
# OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# flake8: noqa
|
||||
|
||||
from UserDict import DictMixin
|
||||
|
||||
class OrderedDict(dict, DictMixin):
|
||||
|
||||
def __init__(self, *args, **kwds):
|
||||
if len(args) > 1:
|
||||
raise TypeError('expected at most 1 arguments, got %d' % len(args))
|
||||
try:
|
||||
self.__end
|
||||
except AttributeError:
|
||||
self.clear()
|
||||
self.update(*args, **kwds)
|
||||
|
||||
def clear(self):
|
||||
self.__end = end = []
|
||||
end += [None, end, end] # sentinel node for doubly linked list
|
||||
self.__map = {} # key --> [key, prev, next]
|
||||
dict.clear(self)
|
||||
|
||||
def __setitem__(self, key, value):
|
||||
if key not in self:
|
||||
end = self.__end
|
||||
curr = end[1]
|
||||
curr[2] = end[1] = self.__map[key] = [key, curr, end]
|
||||
dict.__setitem__(self, key, value)
|
||||
|
||||
def __delitem__(self, key):
|
||||
dict.__delitem__(self, key)
|
||||
key, prev, next = self.__map.pop(key)
|
||||
prev[2] = next
|
||||
next[1] = prev
|
||||
|
||||
def __iter__(self):
|
||||
end = self.__end
|
||||
curr = end[2]
|
||||
while curr is not end:
|
||||
yield curr[0]
|
||||
curr = curr[2]
|
||||
|
||||
def __reversed__(self):
|
||||
end = self.__end
|
||||
curr = end[1]
|
||||
while curr is not end:
|
||||
yield curr[0]
|
||||
curr = curr[1]
|
||||
|
||||
def popitem(self, last=True):
|
||||
if not self:
|
||||
raise KeyError('dictionary is empty')
|
||||
if last:
|
||||
key = reversed(self).next()
|
||||
else:
|
||||
key = iter(self).next()
|
||||
value = self.pop(key)
|
||||
return key, value
|
||||
|
||||
def __reduce__(self):
|
||||
items = [[k, self[k]] for k in self]
|
||||
tmp = self.__map, self.__end
|
||||
del self.__map, self.__end
|
||||
inst_dict = vars(self).copy()
|
||||
self.__map, self.__end = tmp
|
||||
if inst_dict:
|
||||
return (self.__class__, (items,), inst_dict)
|
||||
return self.__class__, (items,)
|
||||
|
||||
def keys(self):
|
||||
return list(self)
|
||||
|
||||
setdefault = DictMixin.setdefault
|
||||
update = DictMixin.update
|
||||
pop = DictMixin.pop
|
||||
values = DictMixin.values
|
||||
items = DictMixin.items
|
||||
iterkeys = DictMixin.iterkeys
|
||||
itervalues = DictMixin.itervalues
|
||||
iteritems = DictMixin.iteritems
|
||||
|
||||
def __repr__(self):
|
||||
if not self:
|
||||
return '%s()' % (self.__class__.__name__,)
|
||||
return '%s(%r)' % (self.__class__.__name__, self.items())
|
||||
|
||||
def copy(self):
|
||||
return self.__class__(self)
|
||||
|
||||
@classmethod
|
||||
def fromkeys(cls, iterable, value=None):
|
||||
d = cls()
|
||||
for key in iterable:
|
||||
d[key] = value
|
||||
return d
|
||||
|
||||
def __eq__(self, other):
|
||||
if isinstance(other, OrderedDict):
|
||||
if len(self) != len(other):
|
||||
return False
|
||||
for p, q in zip(self.items(), other.items()):
|
||||
if p != q:
|
||||
return False
|
||||
return True
|
||||
return dict.__eq__(self, other)
|
||||
|
||||
def __ne__(self, other):
|
||||
return not self == other
|
|
@ -29,6 +29,7 @@ from pip.models import PyPI
|
|||
from pip.utils import (splitext, rmtree, format_size, display_path,
|
||||
backup_dir, ask_path_exists, unpack_file,
|
||||
ARCHIVE_EXTENSIONS, consume, call_subprocess)
|
||||
from pip.utils.encoding import auto_decode
|
||||
from pip.utils.filesystem import check_path_owner
|
||||
from pip.utils.logging import indent_log
|
||||
from pip.utils.setuptools_build import SETUPTOOLS_SHIM
|
||||
|
@ -38,7 +39,7 @@ from pip.vcs import vcs
|
|||
from pip._vendor import requests, six
|
||||
from pip._vendor.requests.adapters import BaseAdapter, HTTPAdapter
|
||||
from pip._vendor.requests.auth import AuthBase, HTTPBasicAuth
|
||||
from pip._vendor.requests.models import Response
|
||||
from pip._vendor.requests.models import CONTENT_CHUNK_SIZE, Response
|
||||
from pip._vendor.requests.structures import CaseInsensitiveDict
|
||||
from pip._vendor.requests.packages import urllib3
|
||||
from pip._vendor.cachecontrol import CacheControlAdapter
|
||||
|
@ -407,14 +408,10 @@ def get_file_content(url, comes_from=None, session=None):
|
|||
# FIXME: catch some errors
|
||||
resp = session.get(url)
|
||||
resp.raise_for_status()
|
||||
|
||||
if six.PY3:
|
||||
return resp.url, resp.text
|
||||
else:
|
||||
return resp.url, resp.content
|
||||
return resp.url, resp.text
|
||||
try:
|
||||
with open(url) as f:
|
||||
content = f.read()
|
||||
with open(url, 'rb') as f:
|
||||
content = auto_decode(f.read())
|
||||
except IOError as exc:
|
||||
raise InstallationError(
|
||||
'Could not open requirements file: %s' % str(exc)
|
||||
|
@ -588,8 +585,12 @@ def _download_url(resp, link, content_file, hashes):
|
|||
|
||||
logger.debug('Downloading from URL %s', link)
|
||||
|
||||
downloaded_chunks = written_chunks(progress_indicator(resp_read(4096),
|
||||
4096))
|
||||
downloaded_chunks = written_chunks(
|
||||
progress_indicator(
|
||||
resp_read(CONTENT_CHUNK_SIZE),
|
||||
CONTENT_CHUNK_SIZE
|
||||
)
|
||||
)
|
||||
if hashes:
|
||||
hashes.check_against_chunks(downloaded_chunks)
|
||||
else:
|
||||
|
|
|
@ -160,13 +160,16 @@ class HashMissing(HashError):
|
|||
def body(self):
|
||||
from pip.utils.hashes import FAVORITE_HASH # Dodge circular import.
|
||||
|
||||
package_name = (self.req.req if self.req and
|
||||
# In case someone feeds something
|
||||
# downright stupid to
|
||||
# InstallRequirement's constructor:
|
||||
getattr(self.req, 'req', None)
|
||||
else 'unknown package')
|
||||
return ' %s --hash=%s:%s' % (package_name,
|
||||
package = None
|
||||
if self.req:
|
||||
# In the case of URL-based requirements, display the original URL
|
||||
# seen in the requirements file rather than the package name,
|
||||
# so the output can be directly copied into the requirements file.
|
||||
package = (self.req.original_link if self.req.original_link
|
||||
# In case someone feeds something downright stupid
|
||||
# to InstallRequirement's constructor.
|
||||
else getattr(self.req, 'req', None))
|
||||
return ' %s --hash=%s:%s' % (package or 'unknown package',
|
||||
FAVORITE_HASH,
|
||||
self.gotten_hash)
|
||||
|
||||
|
|
|
@ -18,8 +18,9 @@ from pip._vendor.six.moves.urllib import request as urllib_request
|
|||
from pip.compat import ipaddress
|
||||
from pip.utils import (
|
||||
cached_property, splitext, normalize_path,
|
||||
ARCHIVE_EXTENSIONS, SUPPORTED_EXTENSIONS, canonicalize_name)
|
||||
from pip.utils.deprecation import RemovedInPip9Warning
|
||||
ARCHIVE_EXTENSIONS, SUPPORTED_EXTENSIONS,
|
||||
)
|
||||
from pip.utils.deprecation import RemovedInPip9Warning, RemovedInPip10Warning
|
||||
from pip.utils.logging import indent_log
|
||||
from pip.exceptions import (
|
||||
DistributionNotFound, BestVersionAlreadyInstalled, InvalidWheelFilename,
|
||||
|
@ -30,6 +31,7 @@ from pip.wheel import Wheel, wheel_ext
|
|||
from pip.pep425tags import supported_tags
|
||||
from pip._vendor import html5lib, requests, six
|
||||
from pip._vendor.packaging.version import parse as parse_version
|
||||
from pip._vendor.packaging.utils import canonicalize_name
|
||||
from pip._vendor.requests.exceptions import SSLError
|
||||
|
||||
|
||||
|
@ -291,7 +293,9 @@ class PackageFinder(object):
|
|||
except ValueError:
|
||||
# We don't have both a valid address or a valid network, so
|
||||
# we'll check this origin against hostnames.
|
||||
if origin[1] != secure_origin[1] and secure_origin[1] != "*":
|
||||
if (origin[1] and
|
||||
origin[1].lower() != secure_origin[1].lower() and
|
||||
secure_origin[1] != "*"):
|
||||
continue
|
||||
else:
|
||||
# We have a valid address and network, so see if the address
|
||||
|
@ -919,7 +923,7 @@ class Link(object):
|
|||
scheme, netloc, path, query, fragment = urllib_parse.urlsplit(self.url)
|
||||
return urllib_parse.urlunsplit((scheme, netloc, path, query, None))
|
||||
|
||||
_egg_fragment_re = re.compile(r'#egg=([^&]*)')
|
||||
_egg_fragment_re = re.compile(r'[#&]egg=([^&]*)')
|
||||
|
||||
@property
|
||||
def egg_fragment(self):
|
||||
|
@ -928,6 +932,15 @@ class Link(object):
|
|||
return None
|
||||
return match.group(1)
|
||||
|
||||
_subdirectory_fragment_re = re.compile(r'[#&]subdirectory=([^&]*)')
|
||||
|
||||
@property
|
||||
def subdirectory_fragment(self):
|
||||
match = self._subdirectory_fragment_re.search(self.url)
|
||||
if not match:
|
||||
return None
|
||||
return match.group(1)
|
||||
|
||||
_hash_re = re.compile(
|
||||
r'(sha1|sha224|sha384|sha256|sha512|md5)=([a-f0-9]+)'
|
||||
)
|
||||
|
@ -1019,7 +1032,7 @@ def fmt_ctl_no_use_wheel(fmt_ctl):
|
|||
fmt_ctl_no_binary(fmt_ctl)
|
||||
warnings.warn(
|
||||
'--no-use-wheel is deprecated and will be removed in the future. '
|
||||
' Please use --no-binary :all: instead.', DeprecationWarning,
|
||||
' Please use --no-binary :all: instead.', RemovedInPip10Warning,
|
||||
stacklevel=2)
|
||||
|
||||
|
||||
|
|
|
@ -4,29 +4,27 @@ import logging
|
|||
import re
|
||||
|
||||
import pip
|
||||
from pip.compat import stdlib_pkgs
|
||||
from pip.req import InstallRequirement
|
||||
from pip.utils import get_installed_distributions
|
||||
from pip._vendor import pkg_resources
|
||||
from pip._vendor.packaging.utils import canonicalize_name
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# packages to exclude from freeze output
|
||||
freeze_excludes = stdlib_pkgs + ['setuptools', 'pip', 'distribute']
|
||||
|
||||
|
||||
def freeze(
|
||||
requirement=None,
|
||||
find_links=None, local_only=None, user_only=None, skip_regex=None,
|
||||
default_vcs=None,
|
||||
isolated=False,
|
||||
wheel_cache=None):
|
||||
wheel_cache=None,
|
||||
skip=()):
|
||||
find_links = find_links or []
|
||||
skip_match = None
|
||||
|
||||
if skip_regex:
|
||||
skip_match = re.compile(skip_regex)
|
||||
skip_match = re.compile(skip_regex).search
|
||||
|
||||
dependency_links = []
|
||||
|
||||
|
@ -42,7 +40,7 @@ def freeze(
|
|||
yield '-f %s' % link
|
||||
installations = {}
|
||||
for dist in get_installed_distributions(local_only=local_only,
|
||||
skip=freeze_excludes,
|
||||
skip=(),
|
||||
user_only=user_only):
|
||||
req = pip.FrozenRequirement.from_dist(
|
||||
dist,
|
||||
|
@ -55,12 +53,15 @@ def freeze(
|
|||
for line in req_file:
|
||||
if (not line.strip() or
|
||||
line.strip().startswith('#') or
|
||||
(skip_match and skip_match.search(line)) or
|
||||
(skip_match and skip_match(line)) or
|
||||
line.startswith((
|
||||
'-r', '--requirement',
|
||||
'-Z', '--always-unzip',
|
||||
'-f', '--find-links',
|
||||
'-i', '--index-url',
|
||||
'--pre',
|
||||
'--trusted-host',
|
||||
'--process-dependency-links',
|
||||
'--extra-index-url'))):
|
||||
yield line.rstrip()
|
||||
continue
|
||||
|
@ -109,4 +110,5 @@ def freeze(
|
|||
)
|
||||
for installation in sorted(
|
||||
installations.values(), key=lambda x: x.name.lower()):
|
||||
yield str(installation).rstrip()
|
||||
if canonicalize_name(installation.name) not in skip:
|
||||
yield str(installation).rstrip()
|
||||
|
|
|
@ -6,6 +6,7 @@ import sys
|
|||
import warnings
|
||||
import platform
|
||||
import logging
|
||||
import ctypes
|
||||
|
||||
try:
|
||||
import sysconfig
|
||||
|
@ -14,10 +15,11 @@ except ImportError: # pragma nocover
|
|||
import distutils.sysconfig as sysconfig
|
||||
import distutils.util
|
||||
|
||||
from pip.compat import OrderedDict
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
_osx_arch_pat = re.compile(r'(.+)_(\d+)_(\d+)_(.+)')
|
||||
|
||||
|
||||
|
@ -114,6 +116,10 @@ def get_abi_tag():
|
|||
return abi
|
||||
|
||||
|
||||
def _is_running_32bit():
|
||||
return sys.maxsize == 2147483647
|
||||
|
||||
|
||||
def get_platform():
|
||||
"""Return our platform name 'win32', 'linux_x86_64'"""
|
||||
if sys.platform == 'darwin':
|
||||
|
@ -122,9 +128,129 @@ def get_platform():
|
|||
# be signficantly older than the user's current machine.
|
||||
release, _, machine = platform.mac_ver()
|
||||
split_ver = release.split('.')
|
||||
|
||||
if machine == "x86_64" and _is_running_32bit():
|
||||
machine = "i386"
|
||||
elif machine == "ppc64" and _is_running_32bit():
|
||||
machine = "ppc"
|
||||
|
||||
return 'macosx_{0}_{1}_{2}'.format(split_ver[0], split_ver[1], machine)
|
||||
|
||||
# XXX remove distutils dependency
|
||||
return distutils.util.get_platform().replace('.', '_').replace('-', '_')
|
||||
result = distutils.util.get_platform().replace('.', '_').replace('-', '_')
|
||||
if result == "linux_x86_64" and _is_running_32bit():
|
||||
# 32 bit Python program (running on a 64 bit Linux): pip should only
|
||||
# install and run 32 bit compiled extensions in that case.
|
||||
result = "linux_i686"
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def is_manylinux1_compatible():
|
||||
# Only Linux, and only x86-64 / i686
|
||||
if get_platform() not in ("linux_x86_64", "linux_i686"):
|
||||
return False
|
||||
|
||||
# Check for presence of _manylinux module
|
||||
try:
|
||||
import _manylinux
|
||||
return bool(_manylinux.manylinux1_compatible)
|
||||
except (ImportError, AttributeError):
|
||||
# Fall through to heuristic check below
|
||||
pass
|
||||
|
||||
# Check glibc version. CentOS 5 uses glibc 2.5.
|
||||
return have_compatible_glibc(2, 5)
|
||||
|
||||
|
||||
def have_compatible_glibc(major, minimum_minor):
|
||||
# ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen
|
||||
# manpage says, "If filename is NULL, then the returned handle is for the
|
||||
# main program". This way we can let the linker do the work to figure out
|
||||
# which libc our process is actually using.
|
||||
process_namespace = ctypes.CDLL(None)
|
||||
try:
|
||||
gnu_get_libc_version = process_namespace.gnu_get_libc_version
|
||||
except AttributeError:
|
||||
# Symbol doesn't exist -> therefore, we are not linked to
|
||||
# glibc.
|
||||
return False
|
||||
|
||||
# Call gnu_get_libc_version, which returns a string like "2.5".
|
||||
gnu_get_libc_version.restype = ctypes.c_char_p
|
||||
version_str = gnu_get_libc_version()
|
||||
# py2 / py3 compatibility:
|
||||
if not isinstance(version_str, str):
|
||||
version_str = version_str.decode("ascii")
|
||||
|
||||
# Parse string and check against requested version.
|
||||
version = [int(piece) for piece in version_str.split(".")]
|
||||
if len(version) < 2:
|
||||
warnings.warn("Expected glibc version with 2 components major.minor,"
|
||||
" got: %s" % version_str, RuntimeWarning)
|
||||
return False
|
||||
return version[0] == major and version[1] >= minimum_minor
|
||||
|
||||
|
||||
def get_darwin_arches(major, minor, machine):
|
||||
"""Return a list of supported arches (including group arches) for
|
||||
the given major, minor and machine architecture of an OS X machine.
|
||||
"""
|
||||
arches = []
|
||||
|
||||
def _supports_arch(major, minor, arch):
|
||||
# Looking at the application support for OS X versions in the chart
|
||||
# provided by https://en.wikipedia.org/wiki/OS_X#Versions it appears
|
||||
# our timeline looks roughly like:
|
||||
#
|
||||
# 10.0 - Introduces ppc support.
|
||||
# 10.4 - Introduces ppc64, i386, and x86_64 support, however the ppc64
|
||||
# and x86_64 support is CLI only, and cannot be used for GUI
|
||||
# applications.
|
||||
# 10.5 - Extends ppc64 and x86_64 support to cover GUI applications.
|
||||
# 10.6 - Drops support for ppc64
|
||||
# 10.7 - Drops support for ppc
|
||||
#
|
||||
# Given that we do not know if we're installing a CLI or a GUI
|
||||
# application, we must be conservative and assume it might be a GUI
|
||||
# application and behave as if ppc64 and x86_64 support did not occur
|
||||
# until 10.5.
|
||||
#
|
||||
# Note: The above information is taken from the "Application support"
|
||||
# column in the chart not the "Processor support" since I believe
|
||||
# that we care about what instruction sets an application can use
|
||||
# not which processors the OS supports.
|
||||
if arch == 'ppc':
|
||||
return (major, minor) <= (10, 5)
|
||||
if arch == 'ppc64':
|
||||
return (major, minor) == (10, 5)
|
||||
if arch == 'i386':
|
||||
return (major, minor) >= (10, 4)
|
||||
if arch == 'x86_64':
|
||||
return (major, minor) >= (10, 5)
|
||||
if arch in groups:
|
||||
for garch in groups[arch]:
|
||||
if _supports_arch(major, minor, garch):
|
||||
return True
|
||||
return False
|
||||
|
||||
groups = OrderedDict([
|
||||
("fat", ("i386", "ppc")),
|
||||
("intel", ("x86_64", "i386")),
|
||||
("fat64", ("x86_64", "ppc64")),
|
||||
("fat32", ("x86_64", "i386", "ppc")),
|
||||
])
|
||||
|
||||
if _supports_arch(major, minor, machine):
|
||||
arches.append(machine)
|
||||
|
||||
for garch in groups:
|
||||
if machine in groups[garch] and _supports_arch(major, minor, garch):
|
||||
arches.append(garch)
|
||||
|
||||
arches.append('universal')
|
||||
|
||||
return arches
|
||||
|
||||
|
||||
def get_supported(versions=None, noarch=False):
|
||||
|
@ -170,25 +296,16 @@ def get_supported(versions=None, noarch=False):
|
|||
match = _osx_arch_pat.match(arch)
|
||||
if match:
|
||||
name, major, minor, actual_arch = match.groups()
|
||||
actual_arches = [actual_arch]
|
||||
if actual_arch in ('i386', 'ppc'):
|
||||
actual_arches.append('fat')
|
||||
if actual_arch in ('i386', 'x86_64'):
|
||||
actual_arches.append('intel')
|
||||
if actual_arch in ('ppc64', 'x86_64'):
|
||||
actual_arches.append('fat64')
|
||||
if actual_arch in ('i386', 'ppc', 'x86_64'):
|
||||
actual_arches.append('fat32')
|
||||
if actual_arch in ('i386', 'x86_64', 'intel', 'ppc', 'ppc64'):
|
||||
actual_arches.append('universal')
|
||||
tpl = '{0}_{1}_%i_%s'.format(name, major)
|
||||
arches = []
|
||||
for m in reversed(range(int(minor) + 1)):
|
||||
for a in actual_arches:
|
||||
for a in get_darwin_arches(int(major), m, actual_arch):
|
||||
arches.append(tpl % (m, a))
|
||||
else:
|
||||
# arch pattern didn't match (?!)
|
||||
arches = [arch]
|
||||
elif is_manylinux1_compatible():
|
||||
arches = [arch.replace('linux', 'manylinux1'), arch]
|
||||
else:
|
||||
arches = [arch]
|
||||
|
||||
|
@ -198,15 +315,14 @@ def get_supported(versions=None, noarch=False):
|
|||
supported.append(('%s%s' % (impl, versions[0]), abi, arch))
|
||||
|
||||
# Has binaries, does not use the Python API:
|
||||
supported.append(('py%s' % (versions[0][0]), 'none', arch))
|
||||
for arch in arches:
|
||||
supported.append(('py%s' % (versions[0][0]), 'none', arch))
|
||||
|
||||
# No abi / arch, but requires our implementation:
|
||||
for i, version in enumerate(versions):
|
||||
supported.append(('%s%s' % (impl, version), 'none', 'any'))
|
||||
if i == 0:
|
||||
# Tagged specifically as being cross-version compatible
|
||||
# (with just the major version specified)
|
||||
supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any'))
|
||||
supported.append(('%s%s' % (impl, versions[0]), 'none', 'any'))
|
||||
# Tagged specifically as being cross-version compatible
|
||||
# (with just the major version specified)
|
||||
supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any'))
|
||||
|
||||
# No abi / arch, generic Python
|
||||
for i, version in enumerate(versions):
|
||||
|
|
|
@ -7,6 +7,7 @@ from __future__ import absolute_import
|
|||
import os
|
||||
import re
|
||||
import shlex
|
||||
import sys
|
||||
import optparse
|
||||
import warnings
|
||||
|
||||
|
@ -133,6 +134,9 @@ def process_line(line, filename, line_number, finder=None, comes_from=None,
|
|||
# `finder.format_control` will be updated during parsing
|
||||
defaults.format_control = finder.format_control
|
||||
args_str, options_str = break_args_options(line)
|
||||
if sys.version_info < (2, 7, 3):
|
||||
# Priori to 2.7.3, shlex can not deal with unicode entries
|
||||
options_str = options_str.encode('utf8')
|
||||
opts, _ = parser.parse_args(shlex.split(options_str), defaults)
|
||||
|
||||
# preserve for the nested code path
|
||||
|
|
|
@ -17,6 +17,7 @@ from email.parser import FeedParser
|
|||
from pip._vendor import pkg_resources, six
|
||||
from pip._vendor.distlib.markers import interpret as markers_interpret
|
||||
from pip._vendor.packaging import specifiers
|
||||
from pip._vendor.packaging.utils import canonicalize_name
|
||||
from pip._vendor.six.moves import configparser
|
||||
|
||||
import pip.wheel
|
||||
|
@ -33,11 +34,11 @@ from pip.utils import (
|
|||
display_path, rmtree, ask_path_exists, backup_dir, is_installable_dir,
|
||||
dist_in_usersite, dist_in_site_packages, egg_link_path,
|
||||
call_subprocess, read_text_file, FakeFile, _make_build_dir, ensure_dir,
|
||||
get_installed_version, canonicalize_name, normalize_path, dist_is_local,
|
||||
get_installed_version, normalize_path, dist_is_local,
|
||||
)
|
||||
|
||||
from pip.utils.hashes import Hashes
|
||||
from pip.utils.deprecation import RemovedInPip10Warning
|
||||
from pip.utils.deprecation import RemovedInPip9Warning, RemovedInPip10Warning
|
||||
from pip.utils.logging import indent_log
|
||||
from pip.utils.setuptools_build import SETUPTOOLS_SHIM
|
||||
from pip.utils.ui import open_spinner
|
||||
|
@ -67,7 +68,7 @@ def _strip_extras(path):
|
|||
class InstallRequirement(object):
|
||||
|
||||
def __init__(self, req, comes_from, source_dir=None, editable=False,
|
||||
link=None, as_egg=False, update=True, editable_options=None,
|
||||
link=None, as_egg=False, update=True,
|
||||
pycompile=True, markers=None, isolated=False, options=None,
|
||||
wheel_cache=None, constraint=False):
|
||||
self.extras = ()
|
||||
|
@ -91,10 +92,6 @@ class InstallRequirement(object):
|
|||
self.source_dir = source_dir
|
||||
self.editable = editable
|
||||
|
||||
if editable_options is None:
|
||||
editable_options = {}
|
||||
|
||||
self.editable_options = editable_options
|
||||
self._wheel_cache = wheel_cache
|
||||
self.link = self.original_link = link
|
||||
self.as_egg = as_egg
|
||||
|
@ -135,7 +132,7 @@ class InstallRequirement(object):
|
|||
constraint=False):
|
||||
from pip.index import Link
|
||||
|
||||
name, url, extras_override, editable_options = parse_editable(
|
||||
name, url, extras_override = parse_editable(
|
||||
editable_req, default_vcs)
|
||||
if url.startswith('file:'):
|
||||
source_dir = url_to_path(url)
|
||||
|
@ -146,7 +143,6 @@ class InstallRequirement(object):
|
|||
editable=True,
|
||||
link=Link(url),
|
||||
constraint=constraint,
|
||||
editable_options=editable_options,
|
||||
isolated=isolated,
|
||||
options=options if options else {},
|
||||
wheel_cache=wheel_cache)
|
||||
|
@ -368,6 +364,12 @@ class InstallRequirement(object):
|
|||
return None
|
||||
return native_str(self.req.project_name)
|
||||
|
||||
@property
|
||||
def setup_py_dir(self):
|
||||
return os.path.join(
|
||||
self.source_dir,
|
||||
self.link and self.link.subdirectory_fragment or '')
|
||||
|
||||
@property
|
||||
def setup_py(self):
|
||||
assert self.source_dir, "No source dir for %s" % self
|
||||
|
@ -384,15 +386,7 @@ class InstallRequirement(object):
|
|||
"install from a source distribution.\n%s" % add_msg
|
||||
)
|
||||
|
||||
setup_file = 'setup.py'
|
||||
|
||||
if self.editable_options and 'subdirectory' in self.editable_options:
|
||||
setup_py = os.path.join(self.source_dir,
|
||||
self.editable_options['subdirectory'],
|
||||
setup_file)
|
||||
|
||||
else:
|
||||
setup_py = os.path.join(self.source_dir, setup_file)
|
||||
setup_py = os.path.join(self.setup_py_dir, 'setup.py')
|
||||
|
||||
# Python2 __file__ should not be unicode
|
||||
if six.PY2 and isinstance(setup_py, six.text_type):
|
||||
|
@ -425,16 +419,12 @@ class InstallRequirement(object):
|
|||
if self.editable:
|
||||
egg_base_option = []
|
||||
else:
|
||||
egg_info_dir = os.path.join(self.source_dir, 'pip-egg-info')
|
||||
egg_info_dir = os.path.join(self.setup_py_dir, 'pip-egg-info')
|
||||
ensure_dir(egg_info_dir)
|
||||
egg_base_option = ['--egg-base', 'pip-egg-info']
|
||||
cwd = self.source_dir
|
||||
if self.editable_options and \
|
||||
'subdirectory' in self.editable_options:
|
||||
cwd = os.path.join(cwd, self.editable_options['subdirectory'])
|
||||
call_subprocess(
|
||||
egg_info_cmd + egg_base_option,
|
||||
cwd=cwd,
|
||||
cwd=self.setup_py_dir,
|
||||
show_stdout=False,
|
||||
command_level=logging.DEBUG,
|
||||
command_desc='python setup.py egg_info')
|
||||
|
@ -481,7 +471,7 @@ class InstallRequirement(object):
|
|||
if self.editable:
|
||||
base = self.source_dir
|
||||
else:
|
||||
base = os.path.join(self.source_dir, 'pip-egg-info')
|
||||
base = os.path.join(self.setup_py_dir, 'pip-egg-info')
|
||||
filenames = os.listdir(base)
|
||||
if self.editable:
|
||||
filenames = []
|
||||
|
@ -727,7 +717,11 @@ class InstallRequirement(object):
|
|||
|
||||
# find console_scripts
|
||||
if dist.has_metadata('entry_points.txt'):
|
||||
config = configparser.SafeConfigParser()
|
||||
if six.PY2:
|
||||
options = {}
|
||||
else:
|
||||
options = {"delimiters": ('=', )}
|
||||
config = configparser.SafeConfigParser(**options)
|
||||
config.readfp(
|
||||
FakeFile(dist.get_metadata_lines('entry_points.txt'))
|
||||
)
|
||||
|
@ -795,7 +789,7 @@ class InstallRequirement(object):
|
|||
archive_path, 'w', zipfile.ZIP_DEFLATED,
|
||||
allowZip64=True
|
||||
)
|
||||
dir = os.path.normcase(os.path.abspath(self.source_dir))
|
||||
dir = os.path.normcase(os.path.abspath(self.setup_py_dir))
|
||||
for dirpath, dirnames, filenames in os.walk(dir):
|
||||
if 'pip-egg-info' in dirnames:
|
||||
dirnames.remove('pip-egg-info')
|
||||
|
@ -885,7 +879,7 @@ class InstallRequirement(object):
|
|||
with indent_log():
|
||||
call_subprocess(
|
||||
install_args + install_options,
|
||||
cwd=self.source_dir,
|
||||
cwd=self.setup_py_dir,
|
||||
show_stdout=False,
|
||||
spinner=spinner,
|
||||
)
|
||||
|
@ -977,10 +971,6 @@ class InstallRequirement(object):
|
|||
|
||||
with indent_log():
|
||||
# FIXME: should we do --install-headers here too?
|
||||
cwd = self.source_dir
|
||||
if self.editable_options and \
|
||||
'subdirectory' in self.editable_options:
|
||||
cwd = os.path.join(cwd, self.editable_options['subdirectory'])
|
||||
call_subprocess(
|
||||
[
|
||||
sys.executable,
|
||||
|
@ -991,7 +981,7 @@ class InstallRequirement(object):
|
|||
['develop', '--no-deps'] +
|
||||
list(install_options),
|
||||
|
||||
cwd=cwd,
|
||||
cwd=self.setup_py_dir,
|
||||
show_stdout=False)
|
||||
|
||||
self.install_succeeded = True
|
||||
|
@ -1100,33 +1090,19 @@ def _build_req_from_url(url):
|
|||
parts = [p for p in url.split('#', 1)[0].split('/') if p]
|
||||
|
||||
req = None
|
||||
if parts[-2] in ('tags', 'branches', 'tag', 'branch'):
|
||||
if len(parts) > 2 and parts[-2] in ('tags', 'branches', 'tag', 'branch'):
|
||||
req = parts[-3]
|
||||
elif parts[-1] == 'trunk':
|
||||
elif len(parts) > 1 and parts[-1] == 'trunk':
|
||||
req = parts[-2]
|
||||
if req:
|
||||
warnings.warn(
|
||||
'Sniffing the requirement name from the url is deprecated and '
|
||||
'will be removed in the future. Please specify an #egg segment '
|
||||
'instead.', RemovedInPip9Warning,
|
||||
stacklevel=2)
|
||||
return req
|
||||
|
||||
|
||||
def _build_editable_options(req):
|
||||
|
||||
"""
|
||||
This method generates a dictionary of the query string
|
||||
parameters contained in a given editable URL.
|
||||
"""
|
||||
regexp = re.compile(r"[\?#&](?P<name>[^&=]+)=(?P<value>[^&=]+)")
|
||||
matched = regexp.findall(req)
|
||||
|
||||
if matched:
|
||||
ret = dict()
|
||||
for option in matched:
|
||||
(name, value) = option
|
||||
if name in ret:
|
||||
raise Exception("%s option already defined" % name)
|
||||
ret[name] = value
|
||||
return ret
|
||||
return None
|
||||
|
||||
|
||||
def parse_editable(editable_req, default_vcs=None):
|
||||
"""Parses an editable requirement into:
|
||||
- a requirement name
|
||||
|
@ -1169,10 +1145,9 @@ def parse_editable(editable_req, default_vcs=None):
|
|||
pkg_resources.Requirement.parse(
|
||||
'__placeholder__' + extras
|
||||
).extras,
|
||||
{},
|
||||
)
|
||||
else:
|
||||
return package_name, url_no_extras, None, {}
|
||||
return package_name, url_no_extras, None
|
||||
|
||||
for version_control in vcs:
|
||||
if url.lower().startswith('%s:' % version_control):
|
||||
|
@ -1197,21 +1172,12 @@ def parse_editable(editable_req, default_vcs=None):
|
|||
' is currently supported'
|
||||
raise InstallationError(error_message)
|
||||
|
||||
try:
|
||||
options = _build_editable_options(editable_req)
|
||||
except Exception as exc:
|
||||
package_name = Link(url).egg_fragment
|
||||
if not package_name:
|
||||
package_name = _build_req_from_url(editable_req)
|
||||
if not package_name:
|
||||
raise InstallationError(
|
||||
'--editable=%s error in editable options:%s' % (editable_req, exc)
|
||||
'--editable=%s is not the right format; it must have '
|
||||
'#egg=Package' % editable_req
|
||||
)
|
||||
if not options or 'egg' not in options:
|
||||
req = _build_req_from_url(editable_req)
|
||||
if not req:
|
||||
raise InstallationError(
|
||||
'--editable=%s is not the right format; it must have '
|
||||
'#egg=Package' % editable_req
|
||||
)
|
||||
else:
|
||||
req = options['egg']
|
||||
|
||||
package = _strip_postfix(req)
|
||||
return package, url, None, options
|
||||
return _strip_postfix(package_name), url, None
|
||||
|
|
|
@ -242,7 +242,8 @@ class RequirementSet(object):
|
|||
existing_req = None
|
||||
if (parent_req_name is None and existing_req and not
|
||||
existing_req.constraint and
|
||||
existing_req.extras == install_req.extras):
|
||||
existing_req.extras == install_req.extras and not
|
||||
existing_req.req.specs == install_req.req.specs):
|
||||
raise InstallationError(
|
||||
'Double requirement given: %s (already in %s, name=%r)'
|
||||
% (install_req, existing_req, name))
|
||||
|
|
|
@ -3,6 +3,7 @@ from __future__ import absolute_import
|
|||
from collections import deque
|
||||
import contextlib
|
||||
import errno
|
||||
import io
|
||||
import locale
|
||||
# we have a submodule named 'logging' which would shadow this if we used the
|
||||
# regular name:
|
||||
|
@ -38,7 +39,7 @@ __all__ = ['rmtree', 'display_path', 'backup_dir',
|
|||
'format_size', 'is_installable_dir',
|
||||
'is_svn_page', 'file_contents',
|
||||
'split_leading_dir', 'has_leading_dir',
|
||||
'normalize_path', 'canonicalize_name',
|
||||
'normalize_path',
|
||||
'renames', 'get_terminal_size', 'get_prog',
|
||||
'unzip_file', 'untar_file', 'unpack_file', 'call_subprocess',
|
||||
'captured_stdout', 'remove_tracebacks', 'ensure_dir',
|
||||
|
@ -199,7 +200,7 @@ def file_contents(filename):
|
|||
return fp.read().decode('utf-8')
|
||||
|
||||
|
||||
def read_chunks(file, size=4096):
|
||||
def read_chunks(file, size=io.DEFAULT_BUFFER_SIZE):
|
||||
"""Yield pieces of data from a file-like object until EOF."""
|
||||
while True:
|
||||
chunk = file.read(size)
|
||||
|
@ -653,6 +654,31 @@ def call_subprocess(cmd, show_stdout=True, cwd=None,
|
|||
on_returncode='raise',
|
||||
command_level=std_logging.DEBUG, command_desc=None,
|
||||
extra_environ=None, spinner=None):
|
||||
# This function's handling of subprocess output is confusing and I
|
||||
# previously broke it terribly, so as penance I will write a long comment
|
||||
# explaining things.
|
||||
#
|
||||
# The obvious thing that affects output is the show_stdout=
|
||||
# kwarg. show_stdout=True means, let the subprocess write directly to our
|
||||
# stdout. Even though it is nominally the default, it is almost never used
|
||||
# inside pip (and should not be used in new code without a very good
|
||||
# reason); as of 2016-02-22 it is only used in a few places inside the VCS
|
||||
# wrapper code. Ideally we should get rid of it entirely, because it
|
||||
# creates a lot of complexity here for a rarely used feature.
|
||||
#
|
||||
# Most places in pip set show_stdout=False. What this means is:
|
||||
# - We connect the child stdout to a pipe, which we read.
|
||||
# - By default, we hide the output but show a spinner -- unless the
|
||||
# subprocess exits with an error, in which case we show the output.
|
||||
# - If the --verbose option was passed (= loglevel is DEBUG), then we show
|
||||
# the output unconditionally. (But in this case we don't want to show
|
||||
# the output a second time if it turns out that there was an error.)
|
||||
#
|
||||
# stderr is always merged with stdout (even if show_stdout=True).
|
||||
if show_stdout:
|
||||
stdout = None
|
||||
else:
|
||||
stdout = subprocess.PIPE
|
||||
if command_desc is None:
|
||||
cmd_parts = []
|
||||
for part in cmd:
|
||||
|
@ -666,24 +692,28 @@ def call_subprocess(cmd, show_stdout=True, cwd=None,
|
|||
env.update(extra_environ)
|
||||
try:
|
||||
proc = subprocess.Popen(
|
||||
cmd, stderr=subprocess.STDOUT, stdin=None, stdout=subprocess.PIPE,
|
||||
cmd, stderr=subprocess.STDOUT, stdin=None, stdout=stdout,
|
||||
cwd=cwd, env=env)
|
||||
except Exception as exc:
|
||||
logger.critical(
|
||||
"Error %s while executing command %s", exc, command_desc,
|
||||
)
|
||||
raise
|
||||
all_output = []
|
||||
while True:
|
||||
line = console_to_str(proc.stdout.readline())
|
||||
if not line:
|
||||
break
|
||||
line = line.rstrip()
|
||||
all_output.append(line + '\n')
|
||||
if show_stdout:
|
||||
logger.debug(line)
|
||||
if spinner is not None:
|
||||
spinner.spin()
|
||||
if stdout is not None:
|
||||
all_output = []
|
||||
while True:
|
||||
line = console_to_str(proc.stdout.readline())
|
||||
if not line:
|
||||
break
|
||||
line = line.rstrip()
|
||||
all_output.append(line + '\n')
|
||||
if logger.getEffectiveLevel() <= std_logging.DEBUG:
|
||||
# Show the line immediately
|
||||
logger.debug(line)
|
||||
else:
|
||||
# Update the spinner
|
||||
if spinner is not None:
|
||||
spinner.spin()
|
||||
proc.wait()
|
||||
if spinner is not None:
|
||||
if proc.returncode:
|
||||
|
@ -692,7 +722,8 @@ def call_subprocess(cmd, show_stdout=True, cwd=None,
|
|||
spinner.finish("done")
|
||||
if proc.returncode:
|
||||
if on_returncode == 'raise':
|
||||
if all_output:
|
||||
if (logger.getEffectiveLevel() > std_logging.DEBUG and
|
||||
not show_stdout):
|
||||
logger.info(
|
||||
'Complete output from command %s:', command_desc,
|
||||
)
|
||||
|
@ -842,11 +873,6 @@ def get_installed_version(dist_name):
|
|||
return dist.version if dist else None
|
||||
|
||||
|
||||
def canonicalize_name(name):
|
||||
"""Convert an arbitrary string to a canonical name used for comparison"""
|
||||
return pkg_resources.safe_name(name).lower()
|
||||
|
||||
|
||||
def consume(iterator):
|
||||
"""Consume an iterable at C speed."""
|
||||
deque(iterator, maxlen=0)
|
||||
|
|
|
@ -11,23 +11,20 @@ class PipDeprecationWarning(Warning):
|
|||
pass
|
||||
|
||||
|
||||
class RemovedInPip9Warning(PipDeprecationWarning, DeprecationWarning):
|
||||
class Pending(object):
|
||||
pass
|
||||
|
||||
|
||||
class RemovedInPip10Warning(PipDeprecationWarning, PendingDeprecationWarning):
|
||||
class RemovedInPip9Warning(PipDeprecationWarning):
|
||||
pass
|
||||
|
||||
|
||||
class Python26DeprecationWarning(
|
||||
PipDeprecationWarning, PendingDeprecationWarning
|
||||
):
|
||||
class RemovedInPip10Warning(PipDeprecationWarning, Pending):
|
||||
pass
|
||||
|
||||
|
||||
DEPRECATIONS = [
|
||||
RemovedInPip9Warning, RemovedInPip10Warning, Python26DeprecationWarning
|
||||
]
|
||||
class Python26DeprecationWarning(PipDeprecationWarning, Pending):
|
||||
pass
|
||||
|
||||
|
||||
# Warnings <-> Logging Integration
|
||||
|
@ -53,15 +50,15 @@ def _showwarning(message, category, filename, lineno, file=None, line=None):
|
|||
# want it to appear as if someone typed this entire message out.
|
||||
log_message = "DEPRECATION: %s" % message
|
||||
|
||||
# Things that are DeprecationWarnings will be removed in the very
|
||||
# next version of pip. We want these to be more obvious so we
|
||||
# use the ERROR logging level while the PendingDeprecationWarnings
|
||||
# are still have at least 2 versions to go until they are removed
|
||||
# so they can just be warnings.
|
||||
if issubclass(category, DeprecationWarning):
|
||||
logger.error(log_message)
|
||||
else:
|
||||
# PipDeprecationWarnings that are Pending still have at least 2
|
||||
# versions to go until they are removed so they can just be
|
||||
# warnings. Otherwise, they will be removed in the very next
|
||||
# version of pip. We want these to be more obvious so we use the
|
||||
# ERROR logging level.
|
||||
if issubclass(category, Pending):
|
||||
logger.warning(log_message)
|
||||
else:
|
||||
logger.error(log_message)
|
||||
else:
|
||||
_warnings_showwarning(
|
||||
message, category, filename, lineno, file, line,
|
||||
|
@ -69,6 +66,9 @@ def _showwarning(message, category, filename, lineno, file=None, line=None):
|
|||
|
||||
|
||||
def install_warning_logger():
|
||||
# Enable our Deprecation Warnings
|
||||
warnings.simplefilter("default", PipDeprecationWarning, append=True)
|
||||
|
||||
global _warnings_showwarning
|
||||
|
||||
if _warnings_showwarning is None:
|
||||
|
|
23
Shared/lib/python3.4/site-packages/pip/utils/encoding.py
Normal file
23
Shared/lib/python3.4/site-packages/pip/utils/encoding.py
Normal file
|
@ -0,0 +1,23 @@
|
|||
import codecs
|
||||
import locale
|
||||
|
||||
|
||||
BOMS = [
|
||||
(codecs.BOM_UTF8, 'utf8'),
|
||||
(codecs.BOM_UTF16, 'utf16'),
|
||||
(codecs.BOM_UTF16_BE, 'utf16-be'),
|
||||
(codecs.BOM_UTF16_LE, 'utf16-le'),
|
||||
(codecs.BOM_UTF32, 'utf32'),
|
||||
(codecs.BOM_UTF32_BE, 'utf32-be'),
|
||||
(codecs.BOM_UTF32_LE, 'utf32-le'),
|
||||
]
|
||||
|
||||
|
||||
def auto_decode(data):
|
||||
"""Check a bytes string for a BOM to correctly detect the encoding
|
||||
|
||||
Fallback to locale.getpreferredencoding(False) like open() on Python3"""
|
||||
for bom, encoding in BOMS:
|
||||
if data.startswith(bom):
|
||||
return data[len(bom):].decode(encoding)
|
||||
return data.decode(locale.getpreferredencoding(False))
|
|
@ -219,6 +219,11 @@ def hidden_cursor(file):
|
|||
# even via colorama. So don't even try.
|
||||
if WINDOWS:
|
||||
yield
|
||||
# We don't want to clutter the output with control characters if we're
|
||||
# writing to a file, or if the user is running with --quiet.
|
||||
# See https://github.com/pypa/pip/issues/3418
|
||||
elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO:
|
||||
yield
|
||||
else:
|
||||
file.write(HIDE_CURSOR)
|
||||
try:
|
||||
|
|
|
@ -135,9 +135,12 @@ class Git(VersionControl):
|
|||
self.update_submodules(dest)
|
||||
|
||||
def get_url(self, location):
|
||||
url = self.run_command(
|
||||
['config', 'remote.origin.url'],
|
||||
"""Return URL of the first remote encountered."""
|
||||
remotes = self.run_command(
|
||||
['config', '--get-regexp', 'remote\..*\.url'],
|
||||
show_stdout=False, cwd=location)
|
||||
first_remote = remotes.splitlines()[0]
|
||||
url = first_remote.split(' ')[1]
|
||||
return url.strip()
|
||||
|
||||
def get_revision(self, location):
|
||||
|
|
|
@ -31,13 +31,14 @@ from pip.exceptions import (
|
|||
from pip.locations import distutils_scheme, PIP_DELETE_MARKER_FILENAME
|
||||
from pip import pep425tags
|
||||
from pip.utils import (
|
||||
call_subprocess, ensure_dir, captured_stdout, rmtree, canonicalize_name,
|
||||
read_chunks)
|
||||
call_subprocess, ensure_dir, captured_stdout, rmtree, read_chunks,
|
||||
)
|
||||
from pip.utils.ui import open_spinner
|
||||
from pip.utils.logging import indent_log
|
||||
from pip.utils.setuptools_build import SETUPTOOLS_SHIM
|
||||
from pip._vendor.distlib.scripts import ScriptMaker
|
||||
from pip._vendor import pkg_resources
|
||||
from pip._vendor.packaging.utils import canonicalize_name
|
||||
from pip._vendor.six.moves import configparser
|
||||
|
||||
|
||||
|
@ -519,7 +520,7 @@ if __name__ == '__main__':
|
|||
writer.writerow(row)
|
||||
for f in generated:
|
||||
h, l = rehash(f)
|
||||
writer.writerow((f, h, l))
|
||||
writer.writerow((normpath(f, lib_dir), h, l))
|
||||
for f in installed:
|
||||
writer.writerow((installed[f], '', ''))
|
||||
shutil.move(temp_record, record)
|
||||
|
@ -715,7 +716,7 @@ class WheelBuilder(object):
|
|||
wheel_args += ["--python-tag", python_tag]
|
||||
|
||||
try:
|
||||
call_subprocess(wheel_args, cwd=req.source_dir,
|
||||
call_subprocess(wheel_args, cwd=req.setup_py_dir,
|
||||
show_stdout=False, spinner=spinner)
|
||||
return True
|
||||
except:
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
UNKNOWN
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
pip
|
|
@ -0,0 +1,13 @@
|
|||
Metadata-Version: 2.0
|
||||
Name: pkg_resources
|
||||
Version: 0.0.0
|
||||
Summary: UNKNOWN
|
||||
Home-page: UNKNOWN
|
||||
Author: UNKNOWN
|
||||
Author-email: UNKNOWN
|
||||
License: UNKNOWN
|
||||
Platform: UNKNOWN
|
||||
|
||||
UNKNOWN
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
pkg_resources/__init__.py,sha256=bucu_98c11mzrGldEJeqxArn14F7ZmURsb-8CaNSbVo,108616
|
||||
pkg_resources/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pkg_resources/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098
|
||||
pkg_resources/_vendor/packaging/__about__.py,sha256=YzdrW-1lWmyCBDyrcNkZbJo4tiDWXpoiqPjfyCYMzIE,1073
|
||||
pkg_resources/_vendor/packaging/__init__.py,sha256=2V8n-eEpSgBuXlV8hlMmhU7ZklpsrrusWMZNp2gC4Hs,906
|
||||
pkg_resources/_vendor/packaging/_compat.py,sha256=wofog8iYo_zudt_10i6JiXKHDs5GhCuXC09hCuSJiv4,1253
|
||||
pkg_resources/_vendor/packaging/_structures.py,sha256=93YvgrEE2HgFp8AdXy0pwCRVnZeutRHO_-puJ7T0cPw,1809
|
||||
pkg_resources/_vendor/packaging/specifiers.py,sha256=UV9T01_kKloA8PSeMI3HTYBSJ_4KLs00yLvrlciZ3yU,28079
|
||||
pkg_resources/_vendor/packaging/version.py,sha256=dEGrWZJZ6sef1xMxSfDCego2hS3Q86by0hUIFVk-AGc,11949
|
||||
pkg_resources/extern/__init__.py,sha256=azKvXDutMVFe3c641wdiwndjtku92Bl3_iGVAIMKnsM,2461
|
||||
pkg_resources-0.0.0.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10
|
||||
pkg_resources-0.0.0.dist-info/METADATA,sha256=FOYDX6cmnDUkWo-yhqWQYtjKIMZR2IW2G1GFZhA6gUQ,177
|
||||
pkg_resources-0.0.0.dist-info/RECORD,,
|
||||
pkg_resources-0.0.0.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110
|
||||
pkg_resources-0.0.0.dist-info/metadata.json,sha256=8ZVRFU96pY_wnWouockCkvXw981Y0iDB5nQFFGq8ZiY,221
|
||||
pkg_resources-0.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/version.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/__pycache__/six.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-34.pyc,,
|
||||
pkg_resources/extern/__pycache__/__init__.cpython-34.pyc,,
|
||||
pkg_resources/__pycache__/__init__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/__pycache__/__init__.cpython-34.pyc,,
|
|
@ -0,0 +1,6 @@
|
|||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.29.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py2-none-any
|
||||
Tag: py3-none-any
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"extensions": {"python.details": {"document_names": {"description": "DESCRIPTION.rst"}}}, "generator": "bdist_wheel (0.29.0)", "metadata_version": "2.0", "name": "pkg_resources", "summary": "UNKNOWN", "version": "0.0.0"}
|
|
@ -0,0 +1,273 @@
|
|||
# This file is dual licensed under the terms of the Apache License, Version
|
||||
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
|
||||
# for complete details.
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
import operator
|
||||
import os
|
||||
import platform
|
||||
import sys
|
||||
|
||||
from pkg_resources.extern.pyparsing import ParseException, ParseResults, stringStart, stringEnd
|
||||
from pkg_resources.extern.pyparsing import ZeroOrMore, Group, Forward, QuotedString
|
||||
from pkg_resources.extern.pyparsing import Literal as L # noqa
|
||||
|
||||
from ._compat import string_types
|
||||
from .specifiers import Specifier, InvalidSpecifier
|
||||
|
||||
|
||||
__all__ = [
|
||||
"InvalidMarker", "UndefinedComparison", "UndefinedEnvironmentName",
|
||||
"Marker", "default_environment",
|
||||
]
|
||||
|
||||
|
||||
class InvalidMarker(ValueError):
|
||||
"""
|
||||
An invalid marker was found, users should refer to PEP 508.
|
||||
"""
|
||||
|
||||
|
||||
class UndefinedComparison(ValueError):
|
||||
"""
|
||||
An invalid operation was attempted on a value that doesn't support it.
|
||||
"""
|
||||
|
||||
|
||||
class UndefinedEnvironmentName(ValueError):
|
||||
"""
|
||||
A name was attempted to be used that does not exist inside of the
|
||||
environment.
|
||||
"""
|
||||
|
||||
|
||||
class Node(object):
|
||||
|
||||
def __init__(self, value):
|
||||
self.value = value
|
||||
|
||||
def __str__(self):
|
||||
return str(self.value)
|
||||
|
||||
def __repr__(self):
|
||||
return "<{0}({1!r})>".format(self.__class__.__name__, str(self))
|
||||
|
||||
|
||||
class Variable(Node):
|
||||
pass
|
||||
|
||||
|
||||
class Value(Node):
|
||||
pass
|
||||
|
||||
|
||||
VARIABLE = (
|
||||
L("implementation_version") |
|
||||
L("platform_python_implementation") |
|
||||
L("implementation_name") |
|
||||
L("python_full_version") |
|
||||
L("platform_release") |
|
||||
L("platform_version") |
|
||||
L("platform_machine") |
|
||||
L("platform_system") |
|
||||
L("python_version") |
|
||||
L("sys_platform") |
|
||||
L("os_name") |
|
||||
L("extra")
|
||||
)
|
||||
VARIABLE.setParseAction(lambda s, l, t: Variable(t[0]))
|
||||
|
||||
VERSION_CMP = (
|
||||
L("===") |
|
||||
L("==") |
|
||||
L(">=") |
|
||||
L("<=") |
|
||||
L("!=") |
|
||||
L("~=") |
|
||||
L(">") |
|
||||
L("<")
|
||||
)
|
||||
|
||||
MARKER_OP = VERSION_CMP | L("not in") | L("in")
|
||||
|
||||
MARKER_VALUE = QuotedString("'") | QuotedString('"')
|
||||
MARKER_VALUE.setParseAction(lambda s, l, t: Value(t[0]))
|
||||
|
||||
BOOLOP = L("and") | L("or")
|
||||
|
||||
MARKER_VAR = VARIABLE | MARKER_VALUE
|
||||
|
||||
MARKER_ITEM = Group(MARKER_VAR + MARKER_OP + MARKER_VAR)
|
||||
MARKER_ITEM.setParseAction(lambda s, l, t: tuple(t[0]))
|
||||
|
||||
LPAREN = L("(").suppress()
|
||||
RPAREN = L(")").suppress()
|
||||
|
||||
MARKER_EXPR = Forward()
|
||||
MARKER_ATOM = MARKER_ITEM | Group(LPAREN + MARKER_EXPR + RPAREN)
|
||||
MARKER_EXPR << MARKER_ATOM + ZeroOrMore(BOOLOP + MARKER_EXPR)
|
||||
|
||||
MARKER = stringStart + MARKER_EXPR + stringEnd
|
||||
|
||||
|
||||
def _coerce_parse_result(results):
|
||||
if isinstance(results, ParseResults):
|
||||
return [_coerce_parse_result(i) for i in results]
|
||||
else:
|
||||
return results
|
||||
|
||||
|
||||
def _format_marker(marker, first=True):
|
||||
assert isinstance(marker, (list, tuple, string_types))
|
||||
|
||||
# Sometimes we have a structure like [[...]] which is a single item list
|
||||
# where the single item is itself it's own list. In that case we want skip
|
||||
# the rest of this function so that we don't get extraneous () on the
|
||||
# outside.
|
||||
if (isinstance(marker, list) and len(marker) == 1 and
|
||||
isinstance(marker[0], (list, tuple))):
|
||||
return _format_marker(marker[0])
|
||||
|
||||
if isinstance(marker, list):
|
||||
inner = (_format_marker(m, first=False) for m in marker)
|
||||
if first:
|
||||
return " ".join(inner)
|
||||
else:
|
||||
return "(" + " ".join(inner) + ")"
|
||||
elif isinstance(marker, tuple):
|
||||
return '{0} {1} "{2}"'.format(*marker)
|
||||
else:
|
||||
return marker
|
||||
|
||||
|
||||
_operators = {
|
||||
"in": lambda lhs, rhs: lhs in rhs,
|
||||
"not in": lambda lhs, rhs: lhs not in rhs,
|
||||
"<": operator.lt,
|
||||
"<=": operator.le,
|
||||
"==": operator.eq,
|
||||
"!=": operator.ne,
|
||||
">=": operator.ge,
|
||||
">": operator.gt,
|
||||
}
|
||||
|
||||
|
||||
def _eval_op(lhs, op, rhs):
|
||||
try:
|
||||
spec = Specifier("".join([op, rhs]))
|
||||
except InvalidSpecifier:
|
||||
pass
|
||||
else:
|
||||
return spec.contains(lhs)
|
||||
|
||||
oper = _operators.get(op)
|
||||
if oper is None:
|
||||
raise UndefinedComparison(
|
||||
"Undefined {0!r} on {1!r} and {2!r}.".format(op, lhs, rhs)
|
||||
)
|
||||
|
||||
return oper(lhs, rhs)
|
||||
|
||||
|
||||
_undefined = object()
|
||||
|
||||
|
||||
def _get_env(environment, name):
|
||||
value = environment.get(name, _undefined)
|
||||
|
||||
if value is _undefined:
|
||||
raise UndefinedEnvironmentName(
|
||||
"{0!r} does not exist in evaluation environment.".format(name)
|
||||
)
|
||||
|
||||
return value
|
||||
|
||||
|
||||
def _evaluate_markers(markers, environment):
|
||||
groups = [[]]
|
||||
|
||||
for marker in markers:
|
||||
assert isinstance(marker, (list, tuple, string_types))
|
||||
|
||||
if isinstance(marker, list):
|
||||
groups[-1].append(_evaluate_markers(marker, environment))
|
||||
elif isinstance(marker, tuple):
|
||||
lhs, op, rhs = marker
|
||||
|
||||
if isinstance(lhs, Variable):
|
||||
lhs_value = _get_env(environment, lhs.value)
|
||||
rhs_value = rhs.value
|
||||
else:
|
||||
lhs_value = lhs.value
|
||||
rhs_value = _get_env(environment, rhs.value)
|
||||
|
||||
groups[-1].append(_eval_op(lhs_value, op, rhs_value))
|
||||
else:
|
||||
assert marker in ["and", "or"]
|
||||
if marker == "or":
|
||||
groups.append([])
|
||||
|
||||
return any(all(item) for item in groups)
|
||||
|
||||
|
||||
def format_full_version(info):
|
||||
version = '{0.major}.{0.minor}.{0.micro}'.format(info)
|
||||
kind = info.releaselevel
|
||||
if kind != 'final':
|
||||
version += kind[0] + str(info.serial)
|
||||
return version
|
||||
|
||||
|
||||
def default_environment():
|
||||
if hasattr(sys, 'implementation'):
|
||||
iver = format_full_version(sys.implementation.version)
|
||||
implementation_name = sys.implementation.name
|
||||
else:
|
||||
iver = '0'
|
||||
implementation_name = ''
|
||||
|
||||
return {
|
||||
"implementation_name": implementation_name,
|
||||
"implementation_version": iver,
|
||||
"os_name": os.name,
|
||||
"platform_machine": platform.machine(),
|
||||
"platform_release": platform.release(),
|
||||
"platform_system": platform.system(),
|
||||
"platform_version": platform.version(),
|
||||
"python_full_version": platform.python_version(),
|
||||
"platform_python_implementation": platform.python_implementation(),
|
||||
"python_version": platform.python_version()[:3],
|
||||
"sys_platform": sys.platform,
|
||||
}
|
||||
|
||||
|
||||
class Marker(object):
|
||||
|
||||
def __init__(self, marker):
|
||||
try:
|
||||
self._markers = _coerce_parse_result(MARKER.parseString(marker))
|
||||
except ParseException as e:
|
||||
err_str = "Invalid marker: {0!r}, parse error at {1!r}".format(
|
||||
marker, marker[e.loc:e.loc + 8])
|
||||
raise InvalidMarker(err_str)
|
||||
|
||||
def __str__(self):
|
||||
return _format_marker(self._markers)
|
||||
|
||||
def __repr__(self):
|
||||
return "<Marker({0!r})>".format(str(self))
|
||||
|
||||
def evaluate(self, environment=None):
|
||||
"""Evaluate a marker.
|
||||
|
||||
Return the boolean from evaluating the given marker against the
|
||||
environment. environment is an optional argument to override all or
|
||||
part of the determined environment.
|
||||
|
||||
The environment is determined from the current Python process.
|
||||
"""
|
||||
current_environment = default_environment()
|
||||
if environment is not None:
|
||||
current_environment.update(environment)
|
||||
|
||||
return _evaluate_markers(self._markers, current_environment)
|
|
@ -0,0 +1,127 @@
|
|||
# This file is dual licensed under the terms of the Apache License, Version
|
||||
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
|
||||
# for complete details.
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
import string
|
||||
import re
|
||||
|
||||
from pkg_resources.extern.pyparsing import stringStart, stringEnd, originalTextFor, ParseException
|
||||
from pkg_resources.extern.pyparsing import ZeroOrMore, Word, Optional, Regex, Combine
|
||||
from pkg_resources.extern.pyparsing import Literal as L # noqa
|
||||
from pkg_resources.extern.six.moves.urllib import parse as urlparse
|
||||
|
||||
from .markers import MARKER_EXPR, Marker
|
||||
from .specifiers import LegacySpecifier, Specifier, SpecifierSet
|
||||
|
||||
|
||||
class InvalidRequirement(ValueError):
|
||||
"""
|
||||
An invalid requirement was found, users should refer to PEP 508.
|
||||
"""
|
||||
|
||||
|
||||
ALPHANUM = Word(string.ascii_letters + string.digits)
|
||||
|
||||
LBRACKET = L("[").suppress()
|
||||
RBRACKET = L("]").suppress()
|
||||
LPAREN = L("(").suppress()
|
||||
RPAREN = L(")").suppress()
|
||||
COMMA = L(",").suppress()
|
||||
SEMICOLON = L(";").suppress()
|
||||
AT = L("@").suppress()
|
||||
|
||||
PUNCTUATION = Word("-_.")
|
||||
IDENTIFIER_END = ALPHANUM | (ZeroOrMore(PUNCTUATION) + ALPHANUM)
|
||||
IDENTIFIER = Combine(ALPHANUM + ZeroOrMore(IDENTIFIER_END))
|
||||
|
||||
NAME = IDENTIFIER("name")
|
||||
EXTRA = IDENTIFIER
|
||||
|
||||
URI = Regex(r'[^ ]+')("url")
|
||||
URL = (AT + URI)
|
||||
|
||||
EXTRAS_LIST = EXTRA + ZeroOrMore(COMMA + EXTRA)
|
||||
EXTRAS = (LBRACKET + Optional(EXTRAS_LIST) + RBRACKET)("extras")
|
||||
|
||||
VERSION_PEP440 = Regex(Specifier._regex_str, re.VERBOSE | re.IGNORECASE)
|
||||
VERSION_LEGACY = Regex(LegacySpecifier._regex_str, re.VERBOSE | re.IGNORECASE)
|
||||
|
||||
VERSION_ONE = VERSION_PEP440 ^ VERSION_LEGACY
|
||||
VERSION_MANY = Combine(VERSION_ONE + ZeroOrMore(COMMA + VERSION_ONE),
|
||||
joinString=",", adjacent=False)("_raw_spec")
|
||||
_VERSION_SPEC = Optional(((LPAREN + VERSION_MANY + RPAREN) | VERSION_MANY))
|
||||
_VERSION_SPEC.setParseAction(lambda s, l, t: t._raw_spec or '')
|
||||
|
||||
VERSION_SPEC = originalTextFor(_VERSION_SPEC)("specifier")
|
||||
VERSION_SPEC.setParseAction(lambda s, l, t: t[1])
|
||||
|
||||
MARKER_EXPR = originalTextFor(MARKER_EXPR())("marker")
|
||||
MARKER_EXPR.setParseAction(
|
||||
lambda s, l, t: Marker(s[t._original_start:t._original_end])
|
||||
)
|
||||
MARKER_SEPERATOR = SEMICOLON
|
||||
MARKER = MARKER_SEPERATOR + MARKER_EXPR
|
||||
|
||||
VERSION_AND_MARKER = VERSION_SPEC + Optional(MARKER)
|
||||
URL_AND_MARKER = URL + Optional(MARKER)
|
||||
|
||||
NAMED_REQUIREMENT = \
|
||||
NAME + Optional(EXTRAS) + (URL_AND_MARKER | VERSION_AND_MARKER)
|
||||
|
||||
REQUIREMENT = stringStart + NAMED_REQUIREMENT + stringEnd
|
||||
|
||||
|
||||
class Requirement(object):
|
||||
"""Parse a requirement.
|
||||
|
||||
Parse a given requirement string into its parts, such as name, specifier,
|
||||
URL, and extras. Raises InvalidRequirement on a badly-formed requirement
|
||||
string.
|
||||
"""
|
||||
|
||||
# TODO: Can we test whether something is contained within a requirement?
|
||||
# If so how do we do that? Do we need to test against the _name_ of
|
||||
# the thing as well as the version? What about the markers?
|
||||
# TODO: Can we normalize the name and extra name?
|
||||
|
||||
def __init__(self, requirement_string):
|
||||
try:
|
||||
req = REQUIREMENT.parseString(requirement_string)
|
||||
except ParseException as e:
|
||||
raise InvalidRequirement(
|
||||
"Invalid requirement, parse error at \"{0!r}\"".format(
|
||||
requirement_string[e.loc:e.loc + 8]))
|
||||
|
||||
self.name = req.name
|
||||
if req.url:
|
||||
parsed_url = urlparse.urlparse(req.url)
|
||||
if not (parsed_url.scheme and parsed_url.netloc) or (
|
||||
not parsed_url.scheme and not parsed_url.netloc):
|
||||
raise InvalidRequirement("Invalid URL given")
|
||||
self.url = req.url
|
||||
else:
|
||||
self.url = None
|
||||
self.extras = set(req.extras.asList() if req.extras else [])
|
||||
self.specifier = SpecifierSet(req.specifier)
|
||||
self.marker = req.marker if req.marker else None
|
||||
|
||||
def __str__(self):
|
||||
parts = [self.name]
|
||||
|
||||
if self.extras:
|
||||
parts.append("[{0}]".format(",".join(sorted(self.extras))))
|
||||
|
||||
if self.specifier:
|
||||
parts.append(str(self.specifier))
|
||||
|
||||
if self.url:
|
||||
parts.append("@ {0}".format(self.url))
|
||||
|
||||
if self.marker:
|
||||
parts.append("; {0}".format(self.marker))
|
||||
|
||||
return "".join(parts)
|
||||
|
||||
def __repr__(self):
|
||||
return "<Requirement({0!r})>".format(str(self))
|
|
@ -0,0 +1,14 @@
|
|||
# This file is dual licensed under the terms of the Apache License, Version
|
||||
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
|
||||
# for complete details.
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
import re
|
||||
|
||||
|
||||
_canonicalize_regex = re.compile(r"[-_.]+")
|
||||
|
||||
|
||||
def canonicalize_name(name):
|
||||
# This is taken from PEP 503.
|
||||
return _canonicalize_regex.sub("-", name).lower()
|
File diff suppressed because it is too large
Load diff
|
@ -170,162 +170,162 @@ stdnum/us/ptin.py,sha256=Yo_a0l4lxEc4Kr5xm_Brc9u45nj_AZim6NOp0GN4wP4,2169
|
|||
stdnum/us/rtn.py,sha256=cQ05B3awWjdG3mPV2mvyoGZFO52Xui-JSIewO5_wsn0,2650
|
||||
stdnum/us/ssn.py,sha256=Gcd_5holopKVWMsqwAs4av1txPP6GscXbo0R2MBv9n8,3080
|
||||
stdnum/us/tin.py,sha256=VnlwP8ZOFIr1hzRuC3Zu_JAIA0CCtQXnrAFXiEYivVk,3015
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/python_stdnum-1.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
stdnum/nl/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/isil.cpython-34.pyc,,
|
||||
stdnum/__pycache__/imsi.cpython-34.pyc,,
|
||||
stdnum/hr/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/is_/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/lt/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/pt/__pycache__/nif.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/postcode.cpython-34.pyc,,
|
||||
stdnum/is_/__pycache__/vsk.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/nie.cpython-34.pyc,,
|
||||
stdnum/__pycache__/issn.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/onderwijsnummer.cpython-34.pyc,,
|
||||
stdnum/no/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/brin.cpython-34.pyc,,
|
||||
stdnum/fr/__pycache__/siren.cpython-34.pyc,,
|
||||
stdnum/cn/__pycache__/ric.cpython-34.pyc,,
|
||||
stdnum/fr/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/mx/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/eu/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/be/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/at/__pycache__/uid.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/tin.cpython-34.pyc,,
|
||||
stdnum/ee/__pycache__/ik.cpython-34.pyc,,
|
||||
stdnum/de/__pycache__/wkn.cpython-34.pyc,,
|
||||
stdnum/__pycache__/util.cpython-34.pyc,,
|
||||
stdnum/__pycache__/verhoeff.cpython-34.pyc,,
|
||||
stdnum/ie/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/lu/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/sk/__pycache__/rc.cpython-34.pyc,,
|
||||
stdnum/ar/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/at/__pycache__/businessid.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/nif.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_37_36.cpython-34.pyc,,
|
||||
stdnum/ch/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/pl/__pycache__/nip.cpython-34.pyc,,
|
||||
stdnum/it/__pycache__/codicefiscale.cpython-34.pyc,,
|
||||
stdnum/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/lt/__pycache__/pvm.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/itin.cpython-34.pyc,,
|
||||
stdnum/__pycache__/exceptions.cpython-34.pyc,,
|
||||
stdnum/at/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/iso6346.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/is_/__pycache__/kennitala.cpython-34.pyc,,
|
||||
stdnum/eu/__pycache__/at_02.cpython-34.pyc,,
|
||||
stdnum/hu/__pycache__/anum.cpython-34.pyc,,
|
||||
python_stdnum-1.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
stdnum/bg/__pycache__/egn.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_11_2.cpython-34.pyc,,
|
||||
stdnum/dk/__pycache__/cpr.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/rtn.cpython-34.pyc,,
|
||||
stdnum/ro/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/gr/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/hetu.cpython-34.pyc,,
|
||||
stdnum/lv/__pycache__/pvn.cpython-34.pyc,,
|
||||
stdnum/al/__pycache__/nipt.cpython-34.pyc,,
|
||||
stdnum/dk/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/ro/__pycache__/cnp.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/ein.cpython-34.pyc,,
|
||||
stdnum/ch/__pycache__/uid.cpython-34.pyc,,
|
||||
stdnum/ec/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/cy/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/ru/__pycache__/inn.cpython-34.pyc,,
|
||||
stdnum/it/__pycache__/iva.cpython-34.pyc,,
|
||||
stdnum/ec/__pycache__/ruc.cpython-34.pyc,,
|
||||
stdnum/ee/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/pl/__pycache__/regon.cpython-34.pyc,,
|
||||
stdnum/lv/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/sk/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_97_10.cpython-34.pyc,,
|
||||
stdnum/__pycache__/cusip.cpython-34.pyc,,
|
||||
stdnum/br/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/dni.cpython-34.pyc,,
|
||||
stdnum/cl/__pycache__/rut.cpython-34.pyc,,
|
||||
stdnum/gb/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_37_2.cpython-34.pyc,,
|
||||
stdnum/cy/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/cn/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/sm/__pycache__/coe.cpython-34.pyc,,
|
||||
stdnum/br/__pycache__/cnpj.cpython-34.pyc,,
|
||||
stdnum/__pycache__/isin.cpython-34.pyc,,
|
||||
stdnum/my/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/gb/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/cz/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/cz/__pycache__/dic.cpython-34.pyc,,
|
||||
stdnum/mt/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/al/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/grid.cpython-34.pyc,,
|
||||
stdnum/it/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/imei.cpython-34.pyc,,
|
||||
stdnum/__pycache__/isan.cpython-34.pyc,,
|
||||
stdnum/ee/__pycache__/kmkr.cpython-34.pyc,,
|
||||
stdnum/__pycache__/isbn.cpython-34.pyc,,
|
||||
stdnum/hr/__pycache__/oib.cpython-34.pyc,,
|
||||
stdnum/gb/__pycache__/sedol.cpython-34.pyc,,
|
||||
stdnum/co/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/ean.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/atin.cpython-34.pyc,,
|
||||
stdnum/bg/__pycache__/pnf.cpython-34.pyc,,
|
||||
stdnum/my/__pycache__/nric.cpython-34.pyc,,
|
||||
stdnum/ch/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/cl/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/imo.cpython-34.pyc,,
|
||||
stdnum/sk/__pycache__/dph.cpython-34.pyc,,
|
||||
stdnum/si/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/luhn.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/ssn.cpython-34.pyc,,
|
||||
stdnum/__pycache__/ismn.cpython-34.pyc,,
|
||||
stdnum/be/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/no/__pycache__/mva.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_11_10.cpython-34.pyc,,
|
||||
stdnum/__pycache__/meid.cpython-34.pyc,,
|
||||
stdnum/se/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/bg/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/associationid.cpython-34.pyc,,
|
||||
stdnum/mx/__pycache__/rfc.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/ptin.cpython-34.pyc,,
|
||||
stdnum/co/__pycache__/nit.cpython-34.pyc,,
|
||||
stdnum/dk/__pycache__/cvr.cpython-34.pyc,,
|
||||
stdnum/de/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/ru/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/se/__pycache__/orgnr.cpython-34.pyc,,
|
||||
stdnum/do/__pycache__/cedula.cpython-34.pyc,,
|
||||
stdnum/sm/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/cz/__pycache__/rc.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/ytunnus.cpython-34.pyc,,
|
||||
stdnum/eu/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/bg/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/fr/__pycache__/tva.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/bsn.cpython-34.pyc,,
|
||||
stdnum/hu/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/se/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/ie/__pycache__/pps.cpython-34.pyc,,
|
||||
stdnum/de/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/ie/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/btw.cpython-34.pyc,,
|
||||
stdnum/ro/__pycache__/cf.cpython-34.pyc,,
|
||||
stdnum/ar/__pycache__/cuit.cpython-34.pyc,,
|
||||
stdnum/pl/__pycache__/pesel.cpython-34.pyc,,
|
||||
stdnum/bg/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/co/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/de/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/gb/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/no/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/iso6346.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/alv.cpython-34.pyc,,
|
||||
stdnum/ec/__pycache__/ci.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/cif.cpython-34.pyc,,
|
||||
stdnum/si/__pycache__/ddv.cpython-34.pyc,,
|
||||
stdnum/ch/__pycache__/ssn.cpython-34.pyc,,
|
||||
stdnum/__pycache__/iso9362.cpython-34.pyc,,
|
||||
stdnum/do/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/br/__pycache__/cpf.cpython-34.pyc,,
|
||||
stdnum/gr/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/do/__pycache__/rnc.cpython-34.pyc,,
|
||||
stdnum/__pycache__/numdb.cpython-34.pyc,,
|
||||
stdnum/pt/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/no/__pycache__/orgnr.cpython-34.pyc,,
|
||||
stdnum/de/__pycache__/wkn.cpython-34.pyc,,
|
||||
stdnum/br/__pycache__/cnpj.cpython-34.pyc,,
|
||||
stdnum/it/__pycache__/codicefiscale.cpython-34.pyc,,
|
||||
stdnum/mt/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/pl/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/iban.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/ec/__pycache__/ci.cpython-34.pyc,,
|
||||
stdnum/cl/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/sk/__pycache__/dph.cpython-34.pyc,,
|
||||
stdnum/is_/__pycache__/vsk.cpython-34.pyc,,
|
||||
stdnum/pl/__pycache__/regon.cpython-34.pyc,,
|
||||
stdnum/hr/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/at/__pycache__/uid.cpython-34.pyc,,
|
||||
stdnum/mt/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/be/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/fr/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/ean.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_37_2.cpython-34.pyc,,
|
||||
stdnum/bg/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/ar/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/isil.cpython-34.pyc,,
|
||||
stdnum/cn/__pycache__/ric.cpython-34.pyc,,
|
||||
stdnum/gr/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/br/__pycache__/cpf.cpython-34.pyc,,
|
||||
stdnum/dk/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/co/__pycache__/nit.cpython-34.pyc,,
|
||||
stdnum/fr/__pycache__/siren.cpython-34.pyc,,
|
||||
stdnum/mx/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/at/__pycache__/businessid.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/ssn.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/hetu.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/nif.cpython-34.pyc,,
|
||||
stdnum/at/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/itin.cpython-34.pyc,,
|
||||
stdnum/lv/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/cy/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/do/__pycache__/rnc.cpython-34.pyc,,
|
||||
stdnum/hu/__pycache__/anum.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/isan.cpython-34.pyc,,
|
||||
stdnum/cl/__pycache__/rut.cpython-34.pyc,,
|
||||
stdnum/ar/__pycache__/cuit.cpython-34.pyc,,
|
||||
stdnum/__pycache__/numdb.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/tin.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/associationid.cpython-34.pyc,,
|
||||
stdnum/al/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/be/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/__pycache__/exceptions.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/cif.cpython-34.pyc,,
|
||||
stdnum/lu/__pycache__/tva.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/isin.cpython-34.pyc,,
|
||||
stdnum/ch/__pycache__/uid.cpython-34.pyc,,
|
||||
stdnum/hu/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/iso9362.cpython-34.pyc,,
|
||||
stdnum/it/__pycache__/iva.cpython-34.pyc,,
|
||||
stdnum/lv/__pycache__/pvn.cpython-34.pyc,,
|
||||
stdnum/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/it/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/ie/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/ro/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/do/__pycache__/cedula.cpython-34.pyc,,
|
||||
stdnum/gb/__pycache__/sedol.cpython-34.pyc,,
|
||||
stdnum/my/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/nie.cpython-34.pyc,,
|
||||
stdnum/ee/__pycache__/ik.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_37_36.cpython-34.pyc,,
|
||||
stdnum/__pycache__/verhoeff.cpython-34.pyc,,
|
||||
stdnum/__pycache__/issn.cpython-34.pyc,,
|
||||
stdnum/ru/__pycache__/inn.cpython-34.pyc,,
|
||||
stdnum/sk/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_97_10.cpython-34.pyc,,
|
||||
stdnum/is_/__pycache__/kennitala.cpython-34.pyc,,
|
||||
stdnum/__pycache__/meid.cpython-34.pyc,,
|
||||
stdnum/no/__pycache__/orgnr.cpython-34.pyc,,
|
||||
stdnum/__pycache__/imei.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/btw.cpython-34.pyc,,
|
||||
stdnum/ec/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/pt/__pycache__/nif.cpython-34.pyc,,
|
||||
stdnum/sm/__pycache__/coe.cpython-34.pyc,,
|
||||
stdnum/se/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/eu/__pycache__/at_02.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/atin.cpython-34.pyc,,
|
||||
stdnum/al/__pycache__/nipt.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/rtn.cpython-34.pyc,,
|
||||
stdnum/se/__pycache__/orgnr.cpython-34.pyc,,
|
||||
stdnum/__pycache__/ismn.cpython-34.pyc,,
|
||||
stdnum/bg/__pycache__/pnf.cpython-34.pyc,,
|
||||
stdnum/fr/__pycache__/tva.cpython-34.pyc,,
|
||||
stdnum/ie/__pycache__/pps.cpython-34.pyc,,
|
||||
stdnum/br/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/gb/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/do/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/dk/__pycache__/cvr.cpython-34.pyc,,
|
||||
stdnum/__pycache__/grid.cpython-34.pyc,,
|
||||
stdnum/ro/__pycache__/cf.cpython-34.pyc,,
|
||||
stdnum/__pycache__/luhn.cpython-34.pyc,,
|
||||
stdnum/ch/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/bsn.cpython-34.pyc,,
|
||||
stdnum/se/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/__pycache__/iban.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/cusip.cpython-34.pyc,,
|
||||
stdnum/__pycache__/imo.cpython-34.pyc,,
|
||||
stdnum/ru/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/de/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_11_2.cpython-34.pyc,,
|
||||
stdnum/pl/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/onderwijsnummer.cpython-34.pyc,,
|
||||
stdnum/dk/__pycache__/cpr.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/ptin.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/postcode.cpython-34.pyc,,
|
||||
stdnum/lu/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/ee/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/cz/__pycache__/rc.cpython-34.pyc,,
|
||||
stdnum/is_/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/nl/__pycache__/brin.cpython-34.pyc,,
|
||||
stdnum/my/__pycache__/nric.cpython-34.pyc,,
|
||||
stdnum/cy/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/lt/__pycache__/pvm.cpython-34.pyc,,
|
||||
stdnum/us/__pycache__/ein.cpython-34.pyc,,
|
||||
stdnum/cz/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/__pycache__/isbn.cpython-34.pyc,,
|
||||
stdnum/ro/__pycache__/cnp.cpython-34.pyc,,
|
||||
stdnum/cz/__pycache__/dic.cpython-34.pyc,,
|
||||
stdnum/si/__pycache__/ddv.cpython-34.pyc,,
|
||||
stdnum/hr/__pycache__/oib.cpython-34.pyc,,
|
||||
stdnum/mx/__pycache__/rfc.cpython-34.pyc,,
|
||||
stdnum/iso7064/__pycache__/mod_11_10.cpython-34.pyc,,
|
||||
stdnum/ie/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/sk/__pycache__/rc.cpython-34.pyc,,
|
||||
stdnum/gr/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/pl/__pycache__/nip.cpython-34.pyc,,
|
||||
stdnum/pt/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/ch/__pycache__/ssn.cpython-34.pyc,,
|
||||
stdnum/es/__pycache__/dni.cpython-34.pyc,,
|
||||
stdnum/__pycache__/imsi.cpython-34.pyc,,
|
||||
stdnum/__pycache__/util.cpython-34.pyc,,
|
||||
stdnum/eu/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/lt/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/sm/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/si/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/fi/__pycache__/ytunnus.cpython-34.pyc,,
|
||||
stdnum/cn/__pycache__/__init__.cpython-34.pyc,,
|
||||
stdnum/pl/__pycache__/pesel.cpython-34.pyc,,
|
||||
stdnum/no/__pycache__/mva.cpython-34.pyc,,
|
||||
stdnum/ec/__pycache__/ruc.cpython-34.pyc,,
|
||||
stdnum/ch/__pycache__/vat.cpython-34.pyc,,
|
||||
stdnum/ee/__pycache__/kmkr.cpython-34.pyc,,
|
||||
|
|
|
@ -85,84 +85,84 @@ requests-2.9.1.dist-info/RECORD,,
|
|||
requests-2.9.1.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110
|
||||
requests-2.9.1.dist-info/metadata.json,sha256=f32h7EChWrcN3CPpMcwIcLZQ3tTK4bm9us9nknaQneU,955
|
||||
requests-2.9.1.dist-info/top_level.txt,sha256=fMSVmHfb5rbGOo6xv-O_tUX6j-WyixssE-SnwcDRxNQ,9
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/requests-2.9.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
requests/packages/chardet/__pycache__/gb2312freq.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/sjisprober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/connection.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/euckrfreq.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/response.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/__pycache__/six.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/url.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langhebrewmodel.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/connection.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/eucjpprober.cpython-34.pyc,,
|
||||
requests/__pycache__/hooks.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langthaimodel.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langgreekmodel.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/__pycache__/ordered_dict.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/euckrprober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/request.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/charsetprober.cpython-34.pyc,,
|
||||
requests/__pycache__/sessions.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/_collections.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/__pycache__/models.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/poolmanager.cpython-34.pyc,,
|
||||
requests/packages/urllib3/contrib/__pycache__/appengine.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/response.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/codingstatemachine.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langhungarianmodel.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/hebrewprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/compat.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/cp949prober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/chardetect.cpython-34.pyc,,
|
||||
requests/packages/urllib3/contrib/__pycache__/ntlmpool.cpython-34.pyc,,
|
||||
requests/__pycache__/certs.cpython-34.pyc,,
|
||||
requests/__pycache__/compat.cpython-34.pyc,,
|
||||
requests/__pycache__/status_codes.cpython-34.pyc,,
|
||||
requests/__pycache__/exceptions.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/mbcharsetprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/big5prober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/filepost.cpython-34.pyc,,
|
||||
requests/__pycache__/api.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/ssl_.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/escsm.cpython-34.pyc,,
|
||||
requests/__pycache__/structures.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/euctwprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/sbcsgroupprober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/fields.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/chardistribution.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/sbcharsetprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/jisfreq.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/universaldetector.cpython-34.pyc,,
|
||||
requests/__pycache__/adapters.cpython-34.pyc,,
|
||||
requests/packages/urllib3/contrib/__pycache__/pyopenssl.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/charsetgroupprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langcyrillicmodel.cpython-34.pyc,,
|
||||
requests-2.9.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
requests/packages/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/urllib3/contrib/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/__pycache__/auth.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/euctwfreq.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/constants.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/gb2312prober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/escprober.cpython-34.pyc,,
|
||||
requests/__pycache__/utils.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/big5freq.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/retry.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/exceptions.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langbulgarianmodel.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/latin1prober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/mbcssm.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/request.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/connectionpool.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-34.pyc,,
|
||||
requests/__pycache__/cookies.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/utf8prober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/contrib/__pycache__/pyopenssl.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/poolmanager.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/charsetprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/universaldetector.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/ssl_.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/codingstatemachine.cpython-34.pyc,,
|
||||
requests/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/euckrprober.cpython-34.pyc,,
|
||||
requests/__pycache__/auth.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/__pycache__/ordered_dict.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/__pycache__/cookies.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/fields.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/__pycache__/structures.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/mbcsgroupprober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/chardistribution.cpython-34.pyc,,
|
||||
requests/__pycache__/certs.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/sbcsgroupprober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/contrib/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/charsetgroupprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/cp949prober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/escsm.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/connectionpool.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/chardetect.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/compat.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/jpcntx.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/utf8prober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langgreekmodel.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/exceptions.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/response.cpython-34.pyc,,
|
||||
requests/__pycache__/api.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/eucjpprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/mbcharsetprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/sbcharsetprober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/request.cpython-34.pyc,,
|
||||
requests/__pycache__/utils.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/retry.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langthaimodel.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/big5prober.cpython-34.pyc,,
|
||||
requests/__pycache__/hooks.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/euckrfreq.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langbulgarianmodel.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/euctwfreq.cpython-34.pyc,,
|
||||
requests/__pycache__/adapters.cpython-34.pyc,,
|
||||
requests/packages/urllib3/contrib/__pycache__/appengine.cpython-34.pyc,,
|
||||
requests/__pycache__/exceptions.cpython-34.pyc,,
|
||||
requests/packages/urllib3/packages/__pycache__/six.cpython-34.pyc,,
|
||||
requests/__pycache__/sessions.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/url.cpython-34.pyc,,
|
||||
requests/__pycache__/status_codes.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langcyrillicmodel.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/gb2312freq.cpython-34.pyc,,
|
||||
requests/__pycache__/models.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/timeout.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/mbcssm.cpython-34.pyc,,
|
||||
requests/__pycache__/compat.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/sjisprober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/connection.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langhungarianmodel.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/_collections.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/connection.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/big5freq.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/constants.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/langhebrewmodel.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/escprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/hebrewprober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/euctwprober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/contrib/__pycache__/ntlmpool.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/jisfreq.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/__init__.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/latin1prober.cpython-34.pyc,,
|
||||
requests/packages/chardet/__pycache__/gb2312prober.cpython-34.pyc,,
|
||||
requests/packages/urllib3/util/__pycache__/response.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/filepost.cpython-34.pyc,,
|
||||
requests/packages/urllib3/__pycache__/request.cpython-34.pyc,,
|
||||
|
|
|
@ -0,0 +1,238 @@
|
|||
===============================
|
||||
Installing and Using Setuptools
|
||||
===============================
|
||||
|
||||
.. contents:: **Table of Contents**
|
||||
|
||||
|
||||
`Change History <https://pythonhosted.org/setuptools/history.html>`_.
|
||||
|
||||
-------------------------
|
||||
Installation Instructions
|
||||
-------------------------
|
||||
|
||||
The recommended way to bootstrap setuptools on any system is to download
|
||||
`ez_setup.py`_ and run it using the target Python environment. Different
|
||||
operating systems have different recommended techniques to accomplish this
|
||||
basic routine, so below are some examples to get you started.
|
||||
|
||||
Setuptools requires Python 2.6 or later. To install setuptools
|
||||
on Python 2.4 or Python 2.5, use the `bootstrap script for Setuptools 1.x
|
||||
<https://bitbucket.org/pypa/setuptools/raw/bootstrap-py24/ez_setup.py>`_.
|
||||
|
||||
The link provided to ez_setup.py is a bookmark to bootstrap script for the
|
||||
latest known stable release.
|
||||
|
||||
.. _ez_setup.py: https://bootstrap.pypa.io/ez_setup.py
|
||||
|
||||
Windows (Powershell 3 or later)
|
||||
===============================
|
||||
|
||||
For best results, uninstall previous versions FIRST (see `Uninstalling`_).
|
||||
|
||||
Using Windows 8 (which includes PowerShell 3) or earlier versions of Windows
|
||||
with PowerShell 3 installed, it's possible to install with one simple
|
||||
Powershell command. Start up Powershell and paste this command::
|
||||
|
||||
> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python -
|
||||
|
||||
You must start the Powershell with Administrative privileges or you may choose
|
||||
to install a user-local installation::
|
||||
|
||||
> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | python - --user
|
||||
|
||||
If you have Python 3.3 or later, you can use the ``py`` command to install to
|
||||
different Python versions. For example, to install to Python 3.3 if you have
|
||||
Python 2.7 installed::
|
||||
|
||||
> (Invoke-WebRequest https://bootstrap.pypa.io/ez_setup.py).Content | py -3 -
|
||||
|
||||
The recommended way to install setuptools on Windows is to download
|
||||
`ez_setup.py`_ and run it. The script will download the appropriate
|
||||
distribution file and install it for you.
|
||||
|
||||
Once installation is complete, you will find an ``easy_install`` program in
|
||||
your Python ``Scripts`` subdirectory. For simple invocation and best results,
|
||||
add this directory to your ``PATH`` environment variable, if it is not already
|
||||
present. If you did a user-local install, the ``Scripts`` subdirectory is
|
||||
``$env:APPDATA\Python\Scripts``.
|
||||
|
||||
|
||||
Windows (simplified)
|
||||
====================
|
||||
|
||||
For Windows without PowerShell 3 or for installation without a command-line,
|
||||
download `ez_setup.py`_ using your preferred web browser or other technique
|
||||
and "run" that file.
|
||||
|
||||
|
||||
Unix (wget)
|
||||
===========
|
||||
|
||||
Most Linux distributions come with wget.
|
||||
|
||||
Download `ez_setup.py`_ and run it using the target Python version. The script
|
||||
will download the appropriate version and install it for you::
|
||||
|
||||
> wget https://bootstrap.pypa.io/ez_setup.py -O - | python
|
||||
|
||||
Note that you will may need to invoke the command with superuser privileges to
|
||||
install to the system Python::
|
||||
|
||||
> wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
|
||||
|
||||
Alternatively, Setuptools may be installed to a user-local path::
|
||||
|
||||
> wget https://bootstrap.pypa.io/ez_setup.py -O - | python - --user
|
||||
|
||||
Note that on some older systems (noted on Debian 6 and CentOS 5 installations),
|
||||
`wget` may refuse to download `ez_setup.py`, complaining that the certificate common name `*.c.ssl.fastly.net`
|
||||
does not match the host name `bootstrap.pypa.io`. In addition, the `ez_setup.py` script may then encounter similar problems using
|
||||
`wget` internally to download `setuptools-x.y.zip`, complaining that the certificate common name of `www.python.org` does not match the
|
||||
host name `pypi.python.org`. Those are known issues, related to a bug in the older versions of `wget`
|
||||
(see `Issue 59 <https://bitbucket.org/pypa/pypi/issue/59#comment-5881915>`_). If you happen to encounter them,
|
||||
install Setuptools as follows::
|
||||
|
||||
> wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
|
||||
> python ez_setup.py --insecure
|
||||
|
||||
|
||||
Unix including Mac OS X (curl)
|
||||
==============================
|
||||
|
||||
If your system has curl installed, follow the ``wget`` instructions but
|
||||
replace ``wget`` with ``curl`` and ``-O`` with ``-o``. For example::
|
||||
|
||||
> curl https://bootstrap.pypa.io/ez_setup.py -o - | python
|
||||
|
||||
|
||||
Advanced Installation
|
||||
=====================
|
||||
|
||||
For more advanced installation options, such as installing to custom
|
||||
locations or prefixes, download and extract the source
|
||||
tarball from `Setuptools on PyPI <https://pypi.python.org/pypi/setuptools>`_
|
||||
and run setup.py with any supported distutils and Setuptools options.
|
||||
For example::
|
||||
|
||||
setuptools-x.x$ python setup.py install --prefix=/opt/setuptools
|
||||
|
||||
Use ``--help`` to get a full options list, but we recommend consulting
|
||||
the `EasyInstall manual`_ for detailed instructions, especially `the section
|
||||
on custom installation locations`_.
|
||||
|
||||
.. _EasyInstall manual: https://pythonhosted.org/setuptools/EasyInstall
|
||||
.. _the section on custom installation locations: https://pythonhosted.org/setuptools/EasyInstall#custom-installation-locations
|
||||
|
||||
|
||||
Downloads
|
||||
=========
|
||||
|
||||
All setuptools downloads can be found at `the project's home page in the Python
|
||||
Package Index`_. Scroll to the very bottom of the page to find the links.
|
||||
|
||||
.. _the project's home page in the Python Package Index: https://pypi.python.org/pypi/setuptools
|
||||
|
||||
In addition to the PyPI downloads, the development version of ``setuptools``
|
||||
is available from the `Bitbucket repo`_, and in-development versions of the
|
||||
`0.6 branch`_ are available as well.
|
||||
|
||||
.. _Bitbucket repo: https://bitbucket.org/pypa/setuptools/get/default.tar.gz#egg=setuptools-dev
|
||||
.. _0.6 branch: http://svn.python.org/projects/sandbox/branches/setuptools-0.6/#egg=setuptools-dev06
|
||||
|
||||
Uninstalling
|
||||
============
|
||||
|
||||
On Windows, if Setuptools was installed using an ``.exe`` or ``.msi``
|
||||
installer, simply use the uninstall feature of "Add/Remove Programs" in the
|
||||
Control Panel.
|
||||
|
||||
Otherwise, to uninstall Setuptools or Distribute, regardless of the Python
|
||||
version, delete all ``setuptools*`` and ``distribute*`` files and
|
||||
directories from your system's ``site-packages`` directory
|
||||
(and any other ``sys.path`` directories) FIRST.
|
||||
|
||||
If you are upgrading or otherwise plan to re-install Setuptools or Distribute,
|
||||
nothing further needs to be done. If you want to completely remove Setuptools,
|
||||
you may also want to remove the 'easy_install' and 'easy_install-x.x' scripts
|
||||
and associated executables installed to the Python scripts directory.
|
||||
|
||||
--------------------------------
|
||||
Using Setuptools and EasyInstall
|
||||
--------------------------------
|
||||
|
||||
Here are some of the available manuals, tutorials, and other resources for
|
||||
learning about Setuptools, Python Eggs, and EasyInstall:
|
||||
|
||||
* `The EasyInstall user's guide and reference manual`_
|
||||
* `The setuptools Developer's Guide`_
|
||||
* `The pkg_resources API reference`_
|
||||
* `The Internal Structure of Python Eggs`_
|
||||
|
||||
Questions, comments, and bug reports should be directed to the `distutils-sig
|
||||
mailing list`_. If you have written (or know of) any tutorials, documentation,
|
||||
plug-ins, or other resources for setuptools users, please let us know about
|
||||
them there, so this reference list can be updated. If you have working,
|
||||
*tested* patches to correct problems or add features, you may submit them to
|
||||
the `setuptools bug tracker`_.
|
||||
|
||||
.. _setuptools bug tracker: https://bitbucket.org/pypa/setuptools/issues
|
||||
.. _The Internal Structure of Python Eggs: https://pythonhosted.org/setuptools/formats.html
|
||||
.. _The setuptools Developer's Guide: https://pythonhosted.org/setuptools/setuptools.html
|
||||
.. _The pkg_resources API reference: https://pythonhosted.org/setuptools/pkg_resources.html
|
||||
.. _The EasyInstall user's guide and reference manual: https://pythonhosted.org/setuptools/easy_install.html
|
||||
.. _distutils-sig mailing list: http://mail.python.org/pipermail/distutils-sig/
|
||||
|
||||
|
||||
-------
|
||||
Credits
|
||||
-------
|
||||
|
||||
* The original design for the ``.egg`` format and the ``pkg_resources`` API was
|
||||
co-created by Phillip Eby and Bob Ippolito. Bob also implemented the first
|
||||
version of ``pkg_resources``, and supplied the OS X operating system version
|
||||
compatibility algorithm.
|
||||
|
||||
* Ian Bicking implemented many early "creature comfort" features of
|
||||
easy_install, including support for downloading via Sourceforge and
|
||||
Subversion repositories. Ian's comments on the Web-SIG about WSGI
|
||||
application deployment also inspired the concept of "entry points" in eggs,
|
||||
and he has given talks at PyCon and elsewhere to inform and educate the
|
||||
community about eggs and setuptools.
|
||||
|
||||
* Jim Fulton contributed time and effort to build automated tests of various
|
||||
aspects of ``easy_install``, and supplied the doctests for the command-line
|
||||
``.exe`` wrappers on Windows.
|
||||
|
||||
* Phillip J. Eby is the seminal author of setuptools, and
|
||||
first proposed the idea of an importable binary distribution format for
|
||||
Python application plug-ins.
|
||||
|
||||
* Significant parts of the implementation of setuptools were funded by the Open
|
||||
Source Applications Foundation, to provide a plug-in infrastructure for the
|
||||
Chandler PIM application. In addition, many OSAF staffers (such as Mike
|
||||
"Code Bear" Taylor) contributed their time and stress as guinea pigs for the
|
||||
use of eggs and setuptools, even before eggs were "cool". (Thanks, guys!)
|
||||
|
||||
* Tarek Ziadé is the principal author of the Distribute fork, which
|
||||
re-invigorated the community on the project, encouraged renewed innovation,
|
||||
and addressed many defects.
|
||||
|
||||
* Since the merge with Distribute, Jason R. Coombs is the
|
||||
maintainer of setuptools. The project is maintained in coordination with
|
||||
the Python Packaging Authority (PyPA) and the larger Python community.
|
||||
|
||||
.. _files:
|
||||
|
||||
|
||||
---------------
|
||||
Code of Conduct
|
||||
---------------
|
||||
|
||||
Everyone interacting in the setuptools project's codebases, issue trackers,
|
||||
chat rooms, and mailing lists is expected to follow the
|
||||
`PyPA Code of Conduct`_.
|
||||
|
||||
.. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
pip
|
|
@ -1,6 +1,6 @@
|
|||
Metadata-Version: 2.0
|
||||
Name: setuptools
|
||||
Version: 20.1.1
|
||||
Version: 20.2.2
|
||||
Summary: Easily download, build, install, upgrade, and uninstall Python packages
|
||||
Home-page: https://bitbucket.org/pypa/setuptools
|
||||
Author: Python Packaging Authority
|
|
@ -1,16 +1,18 @@
|
|||
easy_install.py,sha256=MDC9vt5AxDsXX5qcKlBz2TnW6Tpuv_AobnfhCJ9X3PM,126
|
||||
_markerlib/__init__.py,sha256=GSmhZqvAitLJHhSgtqqusfq2nJ_ClP3oy3Lm0uZLIsU,552
|
||||
_markerlib/markers.py,sha256=YuFp0-osufFIoqnzG3L0Z2fDCx4Vln3VUDeXJ2DA_1I,3979
|
||||
pkg_resources/__init__.py,sha256=bucu_98c11mzrGldEJeqxArn14F7ZmURsb-8CaNSbVo,108616
|
||||
pkg_resources/__init__.py,sha256=bwxm1Fn4zVXphbGYtK6sddFL-iMdlwIX7A2pOlN0tVk,100876
|
||||
pkg_resources/_vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
pkg_resources/_vendor/pyparsing.py,sha256=ic8qmDPiq8Li-Y0PeZcI56rEyMqevKNBK6hr6FbyVBc,160425
|
||||
pkg_resources/_vendor/six.py,sha256=A6hdJZVjI3t_geebZ9BzUvwRrIXo0lfwzQlM2LcKyas,30098
|
||||
pkg_resources/_vendor/packaging/__about__.py,sha256=YzdrW-1lWmyCBDyrcNkZbJo4tiDWXpoiqPjfyCYMzIE,1073
|
||||
pkg_resources/_vendor/packaging/__init__.py,sha256=2V8n-eEpSgBuXlV8hlMmhU7ZklpsrrusWMZNp2gC4Hs,906
|
||||
pkg_resources/_vendor/packaging/_compat.py,sha256=wofog8iYo_zudt_10i6JiXKHDs5GhCuXC09hCuSJiv4,1253
|
||||
pkg_resources/_vendor/packaging/_structures.py,sha256=93YvgrEE2HgFp8AdXy0pwCRVnZeutRHO_-puJ7T0cPw,1809
|
||||
pkg_resources/_vendor/packaging/specifiers.py,sha256=UV9T01_kKloA8PSeMI3HTYBSJ_4KLs00yLvrlciZ3yU,28079
|
||||
pkg_resources/_vendor/packaging/version.py,sha256=dEGrWZJZ6sef1xMxSfDCego2hS3Q86by0hUIFVk-AGc,11949
|
||||
pkg_resources/extern/__init__.py,sha256=azKvXDutMVFe3c641wdiwndjtku92Bl3_iGVAIMKnsM,2461
|
||||
pkg_resources/_vendor/packaging/__about__.py,sha256=AEwkfVSNgMMAAugtYao7b7wah9XryokeoXBuIw4h6d8,720
|
||||
pkg_resources/_vendor/packaging/__init__.py,sha256=_vNac5TrzwsrzbOFIbF-5cHqc_Y2aPT2D7zrIR06BOo,513
|
||||
pkg_resources/_vendor/packaging/_compat.py,sha256=Vi_A0rAQeHbU-a9X0tt1yQm9RqkgQbDSxzRw8WlU9kA,860
|
||||
pkg_resources/_vendor/packaging/_structures.py,sha256=RImECJ4c_wTlaTYYwZYLHEiebDMaAJmK1oPARhw1T5o,1416
|
||||
pkg_resources/_vendor/packaging/markers.py,sha256=0Z2in1kNfYn93n9uJj0hNEmu-sJpEQpa_qAbxpYXdS4,7359
|
||||
pkg_resources/_vendor/packaging/requirements.py,sha256=SikL2UynbsT0qtY9ltqngndha_sfo0w6XGFhAhoSoaQ,4355
|
||||
pkg_resources/_vendor/packaging/specifiers.py,sha256=SAMRerzO3fK2IkFZCaZkuwZaL_EGqHNOz4pni4vhnN0,28025
|
||||
pkg_resources/_vendor/packaging/utils.py,sha256=3m6WvPm6NNxE8rkTGmn0r75B_GZSGg7ikafxHsBN1WA,421
|
||||
pkg_resources/_vendor/packaging/version.py,sha256=OwGnxYfr2ghNzYx59qWIBkrK3SnB6n-Zfd1XaLpnnM0,11556
|
||||
pkg_resources/extern/__init__.py,sha256=rMBTxKimjNg8plSH94cB-y52pKO0zmM-AkFL30lZGfY,2474
|
||||
setuptools/__init__.py,sha256=WEGb6BRGN2dz3eJTbNRUfInUAhb6_OZJyYAndPGJm6w,5440
|
||||
setuptools/archive_util.py,sha256=N30WE5ZQjkytzhAodAXw4FkK-9J5AP1ChrClHnZthOA,6609
|
||||
setuptools/cli-32.exe,sha256=dfEuovMNnA2HLa3jRfMPVi5tk4R7alCbpTvuxtCyw0Y,65536
|
||||
|
@ -38,7 +40,7 @@ setuptools/site-patch.py,sha256=K-0-cAx36mX_PG-qPZwosG9ZLCliRjquKQ4nHiJvvzg,2389
|
|||
setuptools/ssl_support.py,sha256=tAFeeyFPVle_GgarPkNrdfnCJgP9PyN_QYGXTgypoyc,8119
|
||||
setuptools/unicode_utils.py,sha256=8zVyrL_MFc6P5AmErs21rr7z-3N1pZ_NkOcDC7BPElU,995
|
||||
setuptools/utils.py,sha256=08Z7mt-9mvrx-XvmS5EyKoRn2lxNTlgFsUwBU3Eq9JQ,293
|
||||
setuptools/version.py,sha256=E3F8rAlTgCNpmTTY2YGy4T_1iQn3gKsePB7TVIcObu0,23
|
||||
setuptools/version.py,sha256=vRyfcfc7GHZS-3JCgX02OcTSUwmEyvPJpQQF4XGxTmc,23
|
||||
setuptools/windows_support.py,sha256=5GrfqSP2-dLGJoZTq2g6dCKkyQxxa2n5IQiXlJCoYEE,714
|
||||
setuptools/command/__init__.py,sha256=1AM3hv_zCixE7kTXA-onWfK_2KF8GC8fUw3WSxzi5Fg,564
|
||||
setuptools/command/alias.py,sha256=KjpE0sz_SDIHv3fpZcIQK-sCkJz-SrC6Gmug6b9Nkc8,2426
|
||||
|
@ -48,7 +50,7 @@ setuptools/command/bdist_wininst.py,sha256=_6dz3lpB1tY200LxKPLM7qgwTCceOMgaWFF-j
|
|||
setuptools/command/build_ext.py,sha256=pkQ8xp3YPVGGLkGv-SvfxC_GqFpboph1AFEoMFOgQMo,11964
|
||||
setuptools/command/build_py.py,sha256=HvJ88JuougDccaowYlfMV12kYtd0GLahg2DR2vQRqL4,7983
|
||||
setuptools/command/develop.py,sha256=VxSYbpM2jQqtRBn5klIjPVBo3sWKNZMlSbHHiRLUlZo,7383
|
||||
setuptools/command/easy_install.py,sha256=w3rYTMOEAxMPNMQ6A3RWgaFNL6y1Ms2TFrgHqAxMrlE,86096
|
||||
setuptools/command/easy_install.py,sha256=H2aThxQAtB-WKu52Hsc8ePfJcbILMQPq060CgUtvDtw,86035
|
||||
setuptools/command/egg_info.py,sha256=0_8eI8hgLAlGt8Xk5kiodY_d9lxG6_RSescJISKBJgA,16890
|
||||
setuptools/command/install.py,sha256=QwaFiZRU3ytIHoPh8uJ9EqV3Fu9C4ca4B7UGAo95tws,4685
|
||||
setuptools/command/install_egg_info.py,sha256=8J_cH4VbOJv-9Wey8Ijw5SnNI7YS_CA2IKYX569mP5Q,4035
|
||||
|
@ -64,70 +66,72 @@ setuptools/command/test.py,sha256=N2f5RwxkjwU3YQzFYHtzHr636-pdX9XJDuPg5Y92kSo,68
|
|||
setuptools/command/upload.py,sha256=OjAryq4ZoARZiaTN_MpuG1X8Pu9CJNCKmmbMg-gab5I,649
|
||||
setuptools/command/upload_docs.py,sha256=htXpASci5gKP0RIrGZRRmbll7RnTRuwvKWZkYsBlDMM,6815
|
||||
setuptools/extern/__init__.py,sha256=mTrrj4yLMdFeEwwnqKnSuvZM5RM-HPZ1iXLgaYDlB9o,132
|
||||
setuptools-20.1.1.dist-info/DESCRIPTION.rst,sha256=MDsJej8DPV2OKpAKpu74g-2xksRd-uGTeZn4W7D1dnI,9940
|
||||
setuptools-20.1.1.dist-info/METADATA,sha256=mXcb68OjP3H_wq0JMNyeX3nYGlTPDi74cndXOowhZps,11173
|
||||
setuptools-20.1.1.dist-info/RECORD,,
|
||||
setuptools-20.1.1.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110
|
||||
setuptools-20.1.1.dist-info/dependency_links.txt,sha256=oUNXJEArClXFiSSvfFwUKY8TYjeIXhuFfCpXn5K0DCE,226
|
||||
setuptools-20.1.1.dist-info/entry_points.txt,sha256=revbaRBbkZ2b1B-hZlAXo_18J9GjdYHgA4DoW8wdTOU,2835
|
||||
setuptools-20.1.1.dist-info/metadata.json,sha256=NVNudLLjxdP9rz5vqMErRBQTdpX1tTEbp9EhBRSCQ8U,4636
|
||||
setuptools-20.1.1.dist-info/top_level.txt,sha256=7780fzudMJkykiTcIrAQ8m8Lll6kot3EEePye3VJgEE,49
|
||||
setuptools-20.1.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/bin/easy_install,sha256=4bXVXBoSo_A1XK3Ga5UMkOREdCSnh8FZIYqtJVSWCa4,298
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/bin/easy_install-3.4,sha256=4bXVXBoSo_A1XK3Ga5UMkOREdCSnh8FZIYqtJVSWCa4,298
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/setuptools-20.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
pkg_resources/_vendor/__pycache__/six.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/bdist_wininst.cpython-34.pyc,,
|
||||
setuptools/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/rotate.cpython-34.pyc,,
|
||||
setuptools-20.2.2.dist-info/DESCRIPTION.rst,sha256=MDsJej8DPV2OKpAKpu74g-2xksRd-uGTeZn4W7D1dnI,9940
|
||||
setuptools-20.2.2.dist-info/METADATA,sha256=iyHIJhxBur1zKQdezmdxh356iMZBDPWC-HnpBxSJkjA,11173
|
||||
setuptools-20.2.2.dist-info/RECORD,,
|
||||
setuptools-20.2.2.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110
|
||||
setuptools-20.2.2.dist-info/dependency_links.txt,sha256=oUNXJEArClXFiSSvfFwUKY8TYjeIXhuFfCpXn5K0DCE,226
|
||||
setuptools-20.2.2.dist-info/entry_points.txt,sha256=revbaRBbkZ2b1B-hZlAXo_18J9GjdYHgA4DoW8wdTOU,2835
|
||||
setuptools-20.2.2.dist-info/metadata.json,sha256=NJw3rJiskXQqc4F9J19zjdRFEpI28APWvf149lL509g,4636
|
||||
setuptools-20.2.2.dist-info/top_level.txt,sha256=2HUXVVwA4Pff1xgTFr3GsTXXKaPaO6vlG6oNJ_4u4Tg,38
|
||||
setuptools-20.2.2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
||||
../../../bin/easy_install,sha256=4bXVXBoSo_A1XK3Ga5UMkOREdCSnh8FZIYqtJVSWCa4,298
|
||||
../../../bin/easy_install-3.4,sha256=4bXVXBoSo_A1XK3Ga5UMkOREdCSnh8FZIYqtJVSWCa4,298
|
||||
setuptools-20.2.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
setuptools/__pycache__/py27compat.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-34.pyc,,
|
||||
setuptools/__pycache__/sandbox.cpython-34.pyc,,
|
||||
pkg_resources/__pycache__/__init__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-34.pyc,,
|
||||
setuptools/__pycache__/version.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/egg_info.cpython-34.pyc,,
|
||||
setuptools/__pycache__/lib2to3_ex.cpython-34.pyc,,
|
||||
setuptools/__pycache__/utils.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/__pycache__/unicode_utils.cpython-34.pyc,,
|
||||
setuptools/__pycache__/msvc9_support.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/easy_install.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/__pycache__/py31compat.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/develop.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/register.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/setopt.cpython-34.pyc,,
|
||||
setuptools/__pycache__/py26compat.cpython-34.pyc,,
|
||||
setuptools/__pycache__/extension.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/bdist_rpm.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install_egg_info.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/version.cpython-34.pyc,,
|
||||
setuptools/__pycache__/site-patch.cpython-34.pyc,,
|
||||
_markerlib/__pycache__/markers.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install_scripts.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/saveopts.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/upload_docs.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install.cpython-34.pyc,,
|
||||
setuptools/__pycache__/depends.cpython-34.pyc,,
|
||||
_markerlib/__pycache__/__init__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/build_py.cpython-34.pyc,,
|
||||
setuptools/__pycache__/windows_support.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/__pycache__/six.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install_egg_info.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/egg_info.cpython-34.pyc,,
|
||||
pkg_resources/extern/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/__pycache__/py26compat.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/rotate.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install_scripts.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/alias.cpython-34.pyc,,
|
||||
setuptools/__pycache__/unicode_utils.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/utils.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install_lib.cpython-34.pyc,,
|
||||
setuptools/__pycache__/package_index.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/build_ext.cpython-34.pyc,,
|
||||
setuptools/extern/__pycache__/__init__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/version.cpython-34.pyc,,
|
||||
setuptools/__pycache__/lib2to3_ex.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/bdist_rpm.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/setopt.cpython-34.pyc,,
|
||||
__pycache__/easy_install.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/upload.cpython-34.pyc,,
|
||||
setuptools/__pycache__/archive_util.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/alias.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-34.pyc,,
|
||||
pkg_resources/extern/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/__pycache__/ssl_support.cpython-34.pyc,,
|
||||
setuptools/__pycache__/launch.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/build_py.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/bdist_wininst.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/upload_docs.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/sdist.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/test.cpython-34.pyc,,
|
||||
setuptools/__pycache__/windows_support.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-34.pyc,,
|
||||
pkg_resources/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/__pycache__/py27compat.cpython-34.pyc,,
|
||||
setuptools/__pycache__/sandbox.cpython-34.pyc,,
|
||||
setuptools/__pycache__/dist.cpython-34.pyc,,
|
||||
setuptools/__pycache__/archive_util.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/register.cpython-34.pyc,,
|
||||
setuptools/__pycache__/extension.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/test.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/__init__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/develop.cpython-34.pyc,,
|
||||
setuptools/extern/__pycache__/__init__.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-34.pyc,,
|
||||
setuptools/__pycache__/launch.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/build_ext.cpython-34.pyc,,
|
||||
setuptools/__pycache__/utils.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/packaging/__pycache__/markers.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/bdist_egg.cpython-34.pyc,,
|
||||
setuptools/__pycache__/site-patch.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/saveopts.cpython-34.pyc,,
|
||||
pkg_resources/_vendor/__pycache__/pyparsing.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/install.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/easy_install.cpython-34.pyc,,
|
||||
setuptools/__pycache__/msvc9_support.cpython-34.pyc,,
|
||||
setuptools/__pycache__/__init__.cpython-34.pyc,,
|
||||
setuptools/__pycache__/ssl_support.cpython-34.pyc,,
|
||||
setuptools/__pycache__/py31compat.cpython-34.pyc,,
|
||||
setuptools/command/__pycache__/upload.cpython-34.pyc,,
|
|
@ -0,0 +1,2 @@
|
|||
https://pypi.python.org/packages/source/c/certifi/certifi-2015.11.20.tar.gz#md5=25134646672c695c1ff1593c2dd75d08
|
||||
https://pypi.python.org/packages/source/w/wincertstore/wincertstore-0.2.zip#md5=ae728f2f007185648d0c7a8679b361e2
|
|
@ -1 +1 @@
|
|||
{"generator": "bdist_wheel (0.26.0)", "summary": "Easily download, build, install, upgrade, and uninstall Python packages", "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Archiving :: Packaging", "Topic :: System :: Systems Administration", "Topic :: Utilities"], "extensions": {"python.details": {"project_urls": {"Home": "https://bitbucket.org/pypa/setuptools"}, "contacts": [{"email": "distutils-sig@python.org", "name": "Python Packaging Authority", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}}, "python.exports": {"console_scripts": {"easy_install": "setuptools.command.easy_install:main", "easy_install-3.5": "setuptools.command.easy_install:main"}, "distutils.commands": {"alias": "setuptools.command.alias:alias", "bdist_egg": "setuptools.command.bdist_egg:bdist_egg", "bdist_rpm": "setuptools.command.bdist_rpm:bdist_rpm", "bdist_wininst": "setuptools.command.bdist_wininst:bdist_wininst", "build_ext": "setuptools.command.build_ext:build_ext", "build_py": "setuptools.command.build_py:build_py", "develop": "setuptools.command.develop:develop", "easy_install": "setuptools.command.easy_install:easy_install", "egg_info": "setuptools.command.egg_info:egg_info", "install": "setuptools.command.install:install", "install_egg_info": "setuptools.command.install_egg_info:install_egg_info", "install_lib": "setuptools.command.install_lib:install_lib", "install_scripts": "setuptools.command.install_scripts:install_scripts", "register": "setuptools.command.register:register", "rotate": "setuptools.command.rotate:rotate", "saveopts": "setuptools.command.saveopts:saveopts", "sdist": "setuptools.command.sdist:sdist", "setopt": "setuptools.command.setopt:setopt", "test": "setuptools.command.test:test", "upload": "setuptools.command.upload:upload", "upload_docs": "setuptools.command.upload_docs:upload_docs"}, "distutils.setup_keywords": {"convert_2to3_doctests": "setuptools.dist:assert_string_list", "dependency_links": "setuptools.dist:assert_string_list", "eager_resources": "setuptools.dist:assert_string_list", "entry_points": "setuptools.dist:check_entry_points", "exclude_package_data": "setuptools.dist:check_package_data", "extras_require": "setuptools.dist:check_extras", "include_package_data": "setuptools.dist:assert_bool", "install_requires": "setuptools.dist:check_requirements", "namespace_packages": "setuptools.dist:check_nsp", "package_data": "setuptools.dist:check_package_data", "packages": "setuptools.dist:check_packages", "setup_requires": "setuptools.dist:check_requirements", "test_loader": "setuptools.dist:check_importable", "test_runner": "setuptools.dist:check_importable", "test_suite": "setuptools.dist:check_test_suite", "tests_require": "setuptools.dist:check_requirements", "use_2to3": "setuptools.dist:assert_bool", "use_2to3_exclude_fixers": "setuptools.dist:assert_string_list", "use_2to3_fixers": "setuptools.dist:assert_string_list", "zip_safe": "setuptools.dist:assert_bool"}, "egg_info.writers": {"PKG-INFO": "setuptools.command.egg_info:write_pkg_info", "dependency_links.txt": "setuptools.command.egg_info:overwrite_arg", "depends.txt": "setuptools.command.egg_info:warn_depends_obsolete", "eager_resources.txt": "setuptools.command.egg_info:overwrite_arg", "entry_points.txt": "setuptools.command.egg_info:write_entries", "namespace_packages.txt": "setuptools.command.egg_info:overwrite_arg", "requires.txt": "setuptools.command.egg_info:write_requirements", "top_level.txt": "setuptools.command.egg_info:write_toplevel_names"}, "setuptools.installation": {"eggsecutable": "setuptools.command.easy_install:bootstrap"}}, "python.commands": {"wrap_console": {"easy_install": "setuptools.command.easy_install:main", "easy_install-3.5": "setuptools.command.easy_install:main"}}}, "keywords": ["CPAN", "PyPI", "distutils", "eggs", "package", "management"], "metadata_version": "2.0", "name": "setuptools", "extras": ["certs", "ssl"], "run_requires": [{"requires": ["certifi (==2015.11.20)"], "extra": "certs"}, {"requires": ["wincertstore (==0.2)"], "extra": "ssl", "environment": "sys_platform=='win32'"}], "version": "20.1.1", "test_requires": [{"requires": ["pytest (>=2.8)", "setuptools[ssl]"]}]}
|
||||
{"generator": "bdist_wheel (0.26.0)", "summary": "Easily download, build, install, upgrade, and uninstall Python packages", "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Archiving :: Packaging", "Topic :: System :: Systems Administration", "Topic :: Utilities"], "extensions": {"python.details": {"project_urls": {"Home": "https://bitbucket.org/pypa/setuptools"}, "contacts": [{"email": "distutils-sig@python.org", "name": "Python Packaging Authority", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}}, "python.exports": {"console_scripts": {"easy_install": "setuptools.command.easy_install:main", "easy_install-3.5": "setuptools.command.easy_install:main"}, "distutils.commands": {"alias": "setuptools.command.alias:alias", "bdist_egg": "setuptools.command.bdist_egg:bdist_egg", "bdist_rpm": "setuptools.command.bdist_rpm:bdist_rpm", "bdist_wininst": "setuptools.command.bdist_wininst:bdist_wininst", "build_ext": "setuptools.command.build_ext:build_ext", "build_py": "setuptools.command.build_py:build_py", "develop": "setuptools.command.develop:develop", "easy_install": "setuptools.command.easy_install:easy_install", "egg_info": "setuptools.command.egg_info:egg_info", "install": "setuptools.command.install:install", "install_egg_info": "setuptools.command.install_egg_info:install_egg_info", "install_lib": "setuptools.command.install_lib:install_lib", "install_scripts": "setuptools.command.install_scripts:install_scripts", "register": "setuptools.command.register:register", "rotate": "setuptools.command.rotate:rotate", "saveopts": "setuptools.command.saveopts:saveopts", "sdist": "setuptools.command.sdist:sdist", "setopt": "setuptools.command.setopt:setopt", "test": "setuptools.command.test:test", "upload": "setuptools.command.upload:upload", "upload_docs": "setuptools.command.upload_docs:upload_docs"}, "distutils.setup_keywords": {"convert_2to3_doctests": "setuptools.dist:assert_string_list", "dependency_links": "setuptools.dist:assert_string_list", "eager_resources": "setuptools.dist:assert_string_list", "entry_points": "setuptools.dist:check_entry_points", "exclude_package_data": "setuptools.dist:check_package_data", "extras_require": "setuptools.dist:check_extras", "include_package_data": "setuptools.dist:assert_bool", "install_requires": "setuptools.dist:check_requirements", "namespace_packages": "setuptools.dist:check_nsp", "package_data": "setuptools.dist:check_package_data", "packages": "setuptools.dist:check_packages", "setup_requires": "setuptools.dist:check_requirements", "test_loader": "setuptools.dist:check_importable", "test_runner": "setuptools.dist:check_importable", "test_suite": "setuptools.dist:check_test_suite", "tests_require": "setuptools.dist:check_requirements", "use_2to3": "setuptools.dist:assert_bool", "use_2to3_exclude_fixers": "setuptools.dist:assert_string_list", "use_2to3_fixers": "setuptools.dist:assert_string_list", "zip_safe": "setuptools.dist:assert_bool"}, "egg_info.writers": {"PKG-INFO": "setuptools.command.egg_info:write_pkg_info", "dependency_links.txt": "setuptools.command.egg_info:overwrite_arg", "depends.txt": "setuptools.command.egg_info:warn_depends_obsolete", "eager_resources.txt": "setuptools.command.egg_info:overwrite_arg", "entry_points.txt": "setuptools.command.egg_info:write_entries", "namespace_packages.txt": "setuptools.command.egg_info:overwrite_arg", "requires.txt": "setuptools.command.egg_info:write_requirements", "top_level.txt": "setuptools.command.egg_info:write_toplevel_names"}, "setuptools.installation": {"eggsecutable": "setuptools.command.easy_install:bootstrap"}}, "python.commands": {"wrap_console": {"easy_install": "setuptools.command.easy_install:main", "easy_install-3.5": "setuptools.command.easy_install:main"}}}, "keywords": ["CPAN", "PyPI", "distutils", "eggs", "package", "management"], "metadata_version": "2.0", "name": "setuptools", "extras": ["certs", "ssl"], "run_requires": [{"requires": ["certifi (==2015.11.20)"], "extra": "certs"}, {"requires": ["wincertstore (==0.2)"], "extra": "ssl", "environment": "sys_platform=='win32'"}], "version": "20.2.2", "test_requires": [{"requires": ["pytest (>=2.8)", "setuptools[ssl]"]}]}
|
|
@ -0,0 +1,3 @@
|
|||
easy_install
|
||||
pkg_resources
|
||||
setuptools
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -136,13 +136,15 @@ class easy_install(Command):
|
|||
('local-snapshots-ok', 'l',
|
||||
"allow building eggs from local checkouts"),
|
||||
('version', None, "print version information and exit"),
|
||||
('install-layout=', None, "installation layout to choose (known values: deb)"),
|
||||
('force-installation-into-system-dir', '0', "force installation into /usr"),
|
||||
('no-find-links', None,
|
||||
"Don't load find-links defined in packages being installed")
|
||||
]
|
||||
boolean_options = [
|
||||
'zip-ok', 'multi-version', 'exclude-scripts', 'upgrade', 'always-copy',
|
||||
'editable',
|
||||
'no-deps', 'local-snapshots-ok', 'version'
|
||||
'no-deps', 'local-snapshots-ok', 'version', 'force-installation-into-system-dir'
|
||||
]
|
||||
|
||||
if site.ENABLE_USER_SITE:
|
||||
|
@ -190,6 +192,11 @@ class easy_install(Command):
|
|||
self.site_dirs = None
|
||||
self.installed_projects = {}
|
||||
self.sitepy_installed = False
|
||||
# enable custom installation, known values: deb
|
||||
self.install_layout = None
|
||||
self.force_installation_into_system_dir = None
|
||||
self.multiarch = None
|
||||
|
||||
# Always read easy_install options, even if we are subclassed, or have
|
||||
# an independent instance created. This ensures that defaults will
|
||||
# always come from the standard configuration file(s)' "easy_install"
|
||||
|
@ -258,6 +265,13 @@ class easy_install(Command):
|
|||
self.expand_basedirs()
|
||||
self.expand_dirs()
|
||||
|
||||
if self.install_layout:
|
||||
if not self.install_layout.lower() in ['deb']:
|
||||
raise DistutilsOptionError("unknown value for --install-layout")
|
||||
self.install_layout = self.install_layout.lower()
|
||||
import sysconfig
|
||||
if sys.version_info[:2] >= (3, 3):
|
||||
self.multiarch = sysconfig.get_config_var('MULTIARCH')
|
||||
self._expand('install_dir', 'script_dir', 'build_directory',
|
||||
'site_dirs')
|
||||
# If a non-default installation directory was specified, default the
|
||||
|
@ -282,6 +296,15 @@ class easy_install(Command):
|
|||
if self.user and self.install_purelib:
|
||||
self.install_dir = self.install_purelib
|
||||
self.script_dir = self.install_scripts
|
||||
|
||||
if self.prefix == '/usr' and not self.force_installation_into_system_dir:
|
||||
raise DistutilsOptionError("""installation into /usr
|
||||
|
||||
Trying to install into the system managed parts of the file system. Please
|
||||
consider to install to another location, or use the option
|
||||
--force-installation-into-system-dir to overwrite this warning.
|
||||
""")
|
||||
|
||||
# default --record from the install command
|
||||
self.set_undefined_options('install', ('record', 'record'))
|
||||
# Should this be moved to the if statement below? It's not used
|
||||
|
@ -1277,11 +1300,28 @@ class easy_install(Command):
|
|||
self.debug_print("os.makedirs('%s', 0o700)" % path)
|
||||
os.makedirs(path, 0o700)
|
||||
|
||||
if sys.version[:3] in ('2.3', '2.4', '2.5') or 'real_prefix' in sys.__dict__:
|
||||
sitedir_name = 'site-packages'
|
||||
else:
|
||||
sitedir_name = 'dist-packages'
|
||||
|
||||
INSTALL_SCHEMES = dict(
|
||||
posix=dict(
|
||||
install_dir='$base/lib/python$py_version_short/site-packages',
|
||||
script_dir='$base/bin',
|
||||
),
|
||||
unix_local = dict(
|
||||
install_dir = '$base/local/lib/python$py_version_short/%s' % sitedir_name,
|
||||
script_dir = '$base/local/bin',
|
||||
),
|
||||
posix_local = dict(
|
||||
install_dir = '$base/local/lib/python$py_version_short/%s' % sitedir_name,
|
||||
script_dir = '$base/local/bin',
|
||||
),
|
||||
deb_system = dict(
|
||||
install_dir = '$base/lib/python3/%s' % sitedir_name,
|
||||
script_dir = '$base/bin',
|
||||
),
|
||||
)
|
||||
|
||||
DEFAULT_SCHEME = dict(
|
||||
|
@ -1292,11 +1332,18 @@ class easy_install(Command):
|
|||
def _expand(self, *attrs):
|
||||
config_vars = self.get_finalized_command('install').config_vars
|
||||
|
||||
if self.prefix:
|
||||
if self.prefix or self.install_layout:
|
||||
if self.install_layout and self.install_layout in ['deb']:
|
||||
scheme_name = "deb_system"
|
||||
self.prefix = '/usr'
|
||||
elif self.prefix or 'real_prefix' in sys.__dict__:
|
||||
scheme_name = os.name
|
||||
else:
|
||||
scheme_name = "posix_local"
|
||||
# Set default install_dir/scripts from --prefix
|
||||
config_vars = config_vars.copy()
|
||||
config_vars['base'] = self.prefix
|
||||
scheme = self.INSTALL_SCHEMES.get(os.name, self.DEFAULT_SCHEME)
|
||||
scheme = self.INSTALL_SCHEMES.get(scheme_name,self.DEFAULT_SCHEME)
|
||||
for attr, val in scheme.items():
|
||||
if getattr(self, attr, None) is None:
|
||||
setattr(self, attr, val)
|
||||
|
@ -1330,9 +1377,14 @@ def get_site_dirs():
|
|||
"site-packages"),
|
||||
os.path.join(prefix, "lib", "site-python")])
|
||||
else:
|
||||
if sys.version[:3] in ('2.3', '2.4', '2.5'):
|
||||
sdir = "site-packages"
|
||||
else:
|
||||
sdir = "dist-packages"
|
||||
sitedirs.extend(
|
||||
[prefix, os.path.join(prefix, "lib", "site-packages")]
|
||||
)
|
||||
[os.path.join(prefix, "local/lib", "python" + sys.version[:3], sdir),
|
||||
os.path.join(prefix, "lib", "python" + sys.version[:3], sdir)]
|
||||
)
|
||||
if sys.platform == 'darwin':
|
||||
# for framework builds *only* we add the standard Apple
|
||||
# locations. Currently only per-user, but /Library and
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from distutils import log, dir_util
|
||||
import os
|
||||
import os, sys
|
||||
|
||||
from setuptools.extern.six.moves import map
|
||||
|
||||
|
@ -19,14 +19,31 @@ class install_egg_info(Command):
|
|||
|
||||
def initialize_options(self):
|
||||
self.install_dir = None
|
||||
self.install_layout = None
|
||||
self.prefix_option = None
|
||||
|
||||
def finalize_options(self):
|
||||
self.set_undefined_options('install_lib',
|
||||
('install_dir', 'install_dir'))
|
||||
self.set_undefined_options('install',('install_layout','install_layout'))
|
||||
if sys.hexversion > 0x2060000:
|
||||
self.set_undefined_options('install',('prefix_option','prefix_option'))
|
||||
ei_cmd = self.get_finalized_command("egg_info")
|
||||
basename = pkg_resources.Distribution(
|
||||
None, None, ei_cmd.egg_name, ei_cmd.egg_version
|
||||
).egg_name() + '.egg-info'
|
||||
|
||||
if self.install_layout:
|
||||
if not self.install_layout.lower() in ['deb']:
|
||||
raise DistutilsOptionError("unknown value for --install-layout")
|
||||
self.install_layout = self.install_layout.lower()
|
||||
basename = basename.replace('-py%s' % pkg_resources.PY_MAJOR, '')
|
||||
elif self.prefix_option or 'real_prefix' in sys.__dict__:
|
||||
# don't modify for virtualenv
|
||||
pass
|
||||
else:
|
||||
basename = basename.replace('-py%s' % pkg_resources.PY_MAJOR, '')
|
||||
|
||||
self.source = ei_cmd.egg_info
|
||||
self.target = os.path.join(self.install_dir, basename)
|
||||
self.outputs = []
|
||||
|
@ -56,6 +73,9 @@ class install_egg_info(Command):
|
|||
for skip in '.svn/', 'CVS/':
|
||||
if src.startswith(skip) or '/' + skip in src:
|
||||
return None
|
||||
if self.install_layout and self.install_layout in ['deb'] and src.startswith('SOURCES.txt'):
|
||||
log.info("Skipping SOURCES.txt")
|
||||
return None
|
||||
self.outputs.append(dst)
|
||||
log.debug("Copying %s to %s", src, dst)
|
||||
return dst
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import os
|
||||
import sys
|
||||
import imp
|
||||
from itertools import product, starmap
|
||||
import distutils.command.install_lib as orig
|
||||
|
@ -6,6 +7,18 @@ import distutils.command.install_lib as orig
|
|||
class install_lib(orig.install_lib):
|
||||
"""Don't add compiled flags to filenames of non-Python files"""
|
||||
|
||||
def initialize_options(self):
|
||||
orig.install_lib.initialize_options(self)
|
||||
self.multiarch = None
|
||||
self.install_layout = None
|
||||
|
||||
def finalize_options(self):
|
||||
orig.install_lib.finalize_options(self)
|
||||
self.set_undefined_options('install',('install_layout','install_layout'))
|
||||
if self.install_layout == 'deb' and sys.version_info[:2] >= (3, 3):
|
||||
import sysconfig
|
||||
self.multiarch = sysconfig.get_config_var('MULTIARCH')
|
||||
|
||||
def run(self):
|
||||
self.build()
|
||||
outfiles = self.install()
|
||||
|
@ -90,6 +103,8 @@ class install_lib(orig.install_lib):
|
|||
exclude = self.get_exclusions()
|
||||
|
||||
if not exclude:
|
||||
import distutils.dir_util
|
||||
distutils.dir_util._multiarch = self.multiarch
|
||||
return orig.install_lib.copy_tree(self, infile, outfile)
|
||||
|
||||
# Exclude namespace package __init__.py* files from the output
|
||||
|
@ -99,12 +114,24 @@ class install_lib(orig.install_lib):
|
|||
|
||||
outfiles = []
|
||||
|
||||
if self.multiarch:
|
||||
import sysconfig
|
||||
ext_suffix = sysconfig.get_config_var ('EXT_SUFFIX')
|
||||
if ext_suffix.endswith(self.multiarch + ext_suffix[-3:]):
|
||||
new_suffix = None
|
||||
else:
|
||||
new_suffix = "%s-%s%s" % (ext_suffix[:-3], self.multiarch, ext_suffix[-3:])
|
||||
|
||||
def pf(src, dst):
|
||||
if dst in exclude:
|
||||
log.warn("Skipping installation of %s (namespace package)",
|
||||
dst)
|
||||
return False
|
||||
|
||||
if self.multiarch and new_suffix and dst.endswith(ext_suffix) and not dst.endswith(new_suffix):
|
||||
dst = dst.replace(ext_suffix, new_suffix)
|
||||
log.info("renaming extension to %s", os.path.basename(dst))
|
||||
|
||||
log.info("copying %s -> %s", src, os.path.dirname(dst))
|
||||
outfiles.append(dst)
|
||||
return dst
|
||||
|
|
|
@ -5,5 +5,5 @@ six-1.10.0.dist-info/RECORD,,
|
|||
six-1.10.0.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110
|
||||
six-1.10.0.dist-info/metadata.json,sha256=jtOeeTBubYDChl_5Ql5ZPlKoHgg6rdqRIjOz1e5Ek2U,658
|
||||
six-1.10.0.dist-info/top_level.txt,sha256=_iVH_iYEtEXnD8nYGQYpYFUvkUW9sEO1GYbkeKSAais,4
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/six-1.10.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
six-1.10.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
__pycache__/six.cpython-34.pyc,,
|
||||
|
|
|
@ -6,5 +6,5 @@ sqlitedict-1.4.0.dist-info/WHEEL,sha256=lCqt3ViRAf9c8mCs6o7ffkwROUdYSy8_YHn5f_ru
|
|||
sqlitedict-1.4.0.dist-info/metadata.json,sha256=Gu_BazsbomIjBcE4XjoiZV6U7DUJpWklZudlIYduauI,1070
|
||||
sqlitedict-1.4.0.dist-info/pbr.json,sha256=wraF_0ld56r3l9udmVdBYB-N7W8nh7Ax8-HRVqiGRFE,46
|
||||
sqlitedict-1.4.0.dist-info/top_level.txt,sha256=gRsHHG_lHd0G92cPsIV8dhQS7yZfJUYW5GY_oqapYik,11
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/sqlitedict-1.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
sqlitedict-1.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
__pycache__/sqlitedict.cpython-34.pyc,,
|
||||
|
|
|
@ -52,49 +52,49 @@ stem-1.4.0.dist-info/RECORD,,
|
|||
stem-1.4.0.dist-info/WHEEL,sha256=lCqt3ViRAf9c8mCs6o7ffkwROUdYSy8_YHn5f_rulB4,93
|
||||
stem-1.4.0.dist-info/metadata.json,sha256=_FibkGOQ6hFO-jAnIVQ-8FasdcMDbn7E5yI_b8QfV84,282
|
||||
stem-1.4.0.dist-info/top_level.txt,sha256=_Fv_hT3iFjDmFwOMcKq7iIsbarreb2UO1-H2frEcwHU,5
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/stem-1.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
stem/__pycache__/control.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/response/__pycache__/getinfo.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/reader.cpython-34.pyc,,
|
||||
stem-1.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
stem/__pycache__/socket.cpython-34.pyc,,
|
||||
stem/util/__pycache__/conf.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/help.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/autocomplete.cpython-34.pyc,,
|
||||
stem/__pycache__/prereq.cpython-34.pyc,,
|
||||
stem/util/__pycache__/system.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/extrainfo_descriptor.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/export.cpython-34.pyc,,
|
||||
stem/response/__pycache__/events.cpython-34.pyc,,
|
||||
stem/util/__pycache__/tor_tools.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/reader.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/commands.cpython-34.pyc,,
|
||||
stem/util/__pycache__/test_tools.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/tordnsel.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/networkstatus.cpython-34.pyc,,
|
||||
stem/util/__pycache__/term.cpython-34.pyc,,
|
||||
stem/util/__pycache__/str_tools.cpython-34.pyc,,
|
||||
stem/util/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/response/__pycache__/protocolinfo.cpython-34.pyc,,
|
||||
stem/util/__pycache__/enum.cpython-34.pyc,,
|
||||
stem/util/__pycache__/proc.cpython-34.pyc,,
|
||||
stem/util/__pycache__/connection.cpython-34.pyc,,
|
||||
stem/__pycache__/control.cpython-34.pyc,,
|
||||
stem/response/__pycache__/getinfo.cpython-34.pyc,,
|
||||
stem/__pycache__/exit_policy.cpython-34.pyc,,
|
||||
stem/util/__pycache__/conf.cpython-34.pyc,,
|
||||
stem/__pycache__/connection.cpython-34.pyc,,
|
||||
stem/util/__pycache__/log.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/export.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/remote.cpython-34.pyc,,
|
||||
stem/util/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/__pycache__/prereq.cpython-34.pyc,,
|
||||
stem/util/__pycache__/enum.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/autocomplete.cpython-34.pyc,,
|
||||
stem/util/__pycache__/str_tools.cpython-34.pyc,,
|
||||
stem/util/__pycache__/lru_cache.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/server_descriptor.cpython-34.pyc,,
|
||||
stem/response/__pycache__/events.cpython-34.pyc,,
|
||||
stem/__pycache__/process.cpython-34.pyc,,
|
||||
stem/util/__pycache__/proc.cpython-34.pyc,,
|
||||
stem/response/__pycache__/mapaddress.cpython-34.pyc,,
|
||||
stem/util/__pycache__/test_tools.cpython-34.pyc,,
|
||||
stem/response/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/router_status_entry.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/networkstatus.cpython-34.pyc,,
|
||||
stem/__pycache__/version.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/hidden_service_descriptor.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/arguments.cpython-34.pyc,,
|
||||
stem/util/__pycache__/ordereddict.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/commands.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/__pycache__/exit_policy.cpython-34.pyc,,
|
||||
stem/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/util/__pycache__/log.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/remote.cpython-34.pyc,,
|
||||
stem/response/__pycache__/getconf.cpython-34.pyc,,
|
||||
stem/response/__pycache__/protocolinfo.cpython-34.pyc,,
|
||||
stem/response/__pycache__/add_onion.cpython-34.pyc,,
|
||||
stem/util/__pycache__/ordereddict.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/router_status_entry.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/hidden_service_descriptor.cpython-34.pyc,,
|
||||
stem/__pycache__/version.cpython-34.pyc,,
|
||||
stem/response/__pycache__/authchallenge.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/tordnsel.cpython-34.pyc,,
|
||||
stem/util/__pycache__/connection.cpython-34.pyc,,
|
||||
stem/response/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/arguments.cpython-34.pyc,,
|
||||
stem/interpreter/__pycache__/help.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/extrainfo_descriptor.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/util/__pycache__/tor_tools.cpython-34.pyc,,
|
||||
stem/__pycache__/__init__.cpython-34.pyc,,
|
||||
stem/descriptor/__pycache__/microdescriptor.cpython-34.pyc,,
|
||||
stem/util/__pycache__/system.cpython-34.pyc,,
|
||||
|
|
|
@ -96,82 +96,82 @@ tornado-4.3.dist-info/RECORD,,
|
|||
tornado-4.3.dist-info/WHEEL,sha256=HslHw5cSLCuyOLxj8duGAooHNvXnupcmoBU1NzRPr2w,104
|
||||
tornado-4.3.dist-info/metadata.json,sha256=SdpUqt7g_ebcnkms9OevniGL2L3BKJ1Pu3vf4UF8gOs,1073
|
||||
tornado-4.3.dist-info/top_level.txt,sha256=5QAK1MeNpWgYdqWoU8iYlDuGB8j6NDPgx-uSUHTe0A4,8
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/tornado-4.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
tornado/__pycache__/locale.cpython-34.pyc,,
|
||||
tornado/__pycache__/tcpclient.cpython-34.pyc,,
|
||||
tornado/__pycache__/httpserver.cpython-34.pyc,,
|
||||
tornado/__pycache__/websocket.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/import_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/common.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/websocket_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/tcpclient_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/web.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/queues_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/options_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/__main__.cpython-34.pyc,,
|
||||
tornado/__pycache__/tcpserver.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/posix.cpython-34.pyc,,
|
||||
tornado/__pycache__/http1connection.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/__init__.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/tcpserver_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/netutil_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/_locale_data.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/escape_test.cpython-34.pyc,,
|
||||
tornado-4.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
tornado/test/__pycache__/twisted_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/curl_httpclient.cpython-34.pyc,,
|
||||
tornado/__pycache__/options.cpython-34.pyc,,
|
||||
tornado/__pycache__/httputil.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/locks_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/runtests.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/asyncio_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/resolve_test_helper.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/twisted.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/interface.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/kqueue.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/httputil_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/netutil.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/select.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/web_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/auth.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/locale_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/windows.cpython-34.pyc,,
|
||||
tornado/__pycache__/__init__.cpython-34.pyc,,
|
||||
tornado/__pycache__/ioloop.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/asyncio.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/testing_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/iostream.cpython-34.pyc,,
|
||||
tornado/__pycache__/gen.cpython-34.pyc,,
|
||||
tornado/__pycache__/concurrent.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/wsgi_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/process.cpython-34.pyc,,
|
||||
tornado/__pycache__/queues.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/util.cpython-34.pyc,,
|
||||
tornado/__pycache__/template.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/log_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/stack_context_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/httpserver_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/caresresolver.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/process_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/httpclient.cpython-34.pyc,,
|
||||
tornado/__pycache__/testing.cpython-34.pyc,,
|
||||
tornado/__pycache__/util.cpython-34.pyc,,
|
||||
tornado/__pycache__/simple_httpclient.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/template_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/stack_context.cpython-34.pyc,,
|
||||
tornado/__pycache__/wsgi.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/concurrent_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/auth_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/iostream_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/ioloop_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/util_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/__init__.cpython-34.pyc,,
|
||||
tornado/__pycache__/autoreload.cpython-34.pyc,,
|
||||
tornado/__pycache__/locks.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/epoll.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/httpclient_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/curl_httpclient_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/escape.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/gen_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/auto.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/simple_httpclient_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/netutil_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/posix.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/testing_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/log.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/template_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/kqueue.cpython-34.pyc,,
|
||||
tornado/__pycache__/escape.cpython-34.pyc,,
|
||||
tornado/__pycache__/gen.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/__init__.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/__init__.cpython-34.pyc,,
|
||||
tornado/__pycache__/options.cpython-34.pyc,,
|
||||
tornado/__pycache__/locale.cpython-34.pyc,,
|
||||
tornado/__pycache__/simple_httpclient.cpython-34.pyc,,
|
||||
tornado/__pycache__/util.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/wsgi_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/web.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/tcpserver_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/import_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/epoll.cpython-34.pyc,,
|
||||
tornado/__pycache__/_locale_data.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/httpserver_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/twisted.cpython-34.pyc,,
|
||||
tornado/__pycache__/__init__.cpython-34.pyc,,
|
||||
tornado/__pycache__/tcpserver.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/gen_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/util_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/asyncio.cpython-34.pyc,,
|
||||
tornado/__pycache__/autoreload.cpython-34.pyc,,
|
||||
tornado/__pycache__/iostream.cpython-34.pyc,,
|
||||
tornado/__pycache__/queues.cpython-34.pyc,,
|
||||
tornado/__pycache__/httpserver.cpython-34.pyc,,
|
||||
tornado/__pycache__/auth.cpython-34.pyc,,
|
||||
tornado/__pycache__/template.cpython-34.pyc,,
|
||||
tornado/__pycache__/stack_context.cpython-34.pyc,,
|
||||
tornado/__pycache__/process.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/iostream_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/asyncio_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/tcpclient.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/tcpclient_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/httputil_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/process_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/wsgi.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/web_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/util.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/runtests.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/auto.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/__main__.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/simple_httpclient_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/auth_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/ioloop.cpython-34.pyc,,
|
||||
tornado/__pycache__/locks.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/escape_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/testing.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/curl_httpclient_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/curl_httpclient.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/ioloop_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/caresresolver.cpython-34.pyc,,
|
||||
tornado/__pycache__/netutil.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/options_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/concurrent.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/resolve_test_helper.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/windows.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/locks_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/locale_test.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/websocket_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/httputil.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/log_test.cpython-34.pyc,,
|
||||
tornado/__pycache__/http1connection.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/select.cpython-34.pyc,,
|
||||
tornado/test/__pycache__/queues_test.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/interface.cpython-34.pyc,,
|
||||
tornado/__pycache__/websocket.cpython-34.pyc,,
|
||||
tornado/platform/__pycache__/common.cpython-34.pyc,,
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
"wheel" copyright (c) 2012-2014 Daniel Holth <dholth@fastmail.fm> and
|
||||
contributors.
|
||||
|
||||
The MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -18,7 +18,7 @@ wheel/signatures/ed25519py.py,sha256=SeTxiMZ7kmoMdIurBSaKb8Ku-amGnf6ZTRGElLzV8iI
|
|||
wheel/signatures/keys.py,sha256=x3g4sAcs7KbIHM-5V8KWdMc24_VK7VeD-pjCyktNnYo,3320
|
||||
wheel/test/__init__.py,sha256=M0NZuQ7-112l8K2h1eayVvSmvQrufrOcD5AYKgIf_Is,1
|
||||
wheel/test/pydist-schema.json,sha256=ynEvNvThC1zRa7FioMsW3k-9nl98ytEoo1_3xbOP2eo,11483
|
||||
wheel/test/test-1.0-py2.py3-none-win32.whl,sha256=JC_UXTN5KlLrdu43uH4caZSUyzrtPcUsRe-vTMunplE,5226
|
||||
wheel/test/test-1.0-py2.py3-none-win32.whl,sha256=tCbefJJ7RpQJReRQaSRiwnTDM-YDlBpbcX9Rjcv9bf4,5224
|
||||
wheel/test/test_basic.py,sha256=2DIvjApcshiLpXVsEhXvN3l62ZrwS0jJcWK8SyASoNU,6405
|
||||
wheel/test/test_install.py,sha256=c0EECXPkVIGhCD9V5ad2qsBPRPYb1ehhaS0k6Gv5JQc,1866
|
||||
wheel/test/test_keys.py,sha256=5mBc9tf2TwC3TCpx1ySTYsCe5yvd6kMK64AlUUCcKEY,2575
|
||||
|
@ -37,46 +37,45 @@ wheel/test/simple.dist/setup.py,sha256=8zWen71Um-iN_A5thot6VFogrkWs_RGVO-jr_MxkF
|
|||
wheel/test/simple.dist/simpledist/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
wheel/tool/__init__.py,sha256=anweXjmIg4EIHPkH0kOgcTx-gyOmzE4ieRe2yk-aHDA,13229
|
||||
wheel-0.29.0.dist-info/DESCRIPTION.rst,sha256=JH6mogUIatQVQewIh4GB1ywCxuWbm7G4TjI_63dURp8,9813
|
||||
wheel-0.29.0.dist-info/LICENSE.txt,sha256=zKniDGrx_Pv2lAjzd3aShsvuvN7TNhAMm0o_NfvmNeQ,1125
|
||||
wheel-0.29.0.dist-info/METADATA,sha256=SA310hLnZJJFgp1TRwFLCIiXurVwKpIq2w3KWhMdgdo,11019
|
||||
wheel-0.29.0.dist-info/RECORD,,
|
||||
wheel-0.29.0.dist-info/WHEEL,sha256=o2k-Qa-RMNIJmUdIc7KU6VWR_ErNRbWNlxDIpl7lm34,110
|
||||
wheel-0.29.0.dist-info/entry_points.txt,sha256=2LFQDKAUKNMG-2zNtbLscfirPr9BEqBuwc-JALCv-D0,107
|
||||
wheel-0.29.0.dist-info/metadata.json,sha256=kNhUbqu0cIQt0fnVbbbNZer4avDz8L4xhg0rPFL6Lqk,1621
|
||||
wheel-0.29.0.dist-info/metadata.json,sha256=dxlCIm4231kQk4VlVdiN5ABz3l0nWY3gQ9HPoDammlU,1510
|
||||
wheel-0.29.0.dist-info/top_level.txt,sha256=HxSBIbgEstMPe4eFawhA66Mq-QYHMopXVoAncfjb_1c,6
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/bin/wheel,sha256=7tQwd7-yYmSKP07JBIwhFWPH68YseSftvBL19P0Ct5Y,277
|
||||
/var/lib/lxc/openmedialibrary/rootfs/srv/client/platform/Shared/p34/lib/python3.4/site-packages/wheel-0.29.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
wheel/test/__pycache__/test_wheelfile.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_ranking.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_basic.cpython-34.pyc,,
|
||||
wheel/test/complex-dist/complexdist/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/test/headers.dist/__pycache__/setup.cpython-34.pyc,,
|
||||
wheel/test/simple.dist/simpledist/__pycache__/__init__.cpython-34.pyc,,
|
||||
../../../bin/wheel,sha256=7tQwd7-yYmSKP07JBIwhFWPH68YseSftvBL19P0Ct5Y,277
|
||||
wheel-0.29.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
wheel/test/__pycache__/test_tool.cpython-34.pyc,,
|
||||
wheel/test/headers.dist/__pycache__/headersdist.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_keys.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_signatures.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/test/complex-dist/__pycache__/setup.cpython-34.pyc,,
|
||||
wheel/__pycache__/bdist_wheel.cpython-34.pyc,,
|
||||
wheel/signatures/__pycache__/djbec.cpython-34.pyc,,
|
||||
wheel/__pycache__/install.cpython-34.pyc,,
|
||||
wheel/test/simple.dist/__pycache__/setup.cpython-34.pyc,,
|
||||
wheel/__pycache__/egg2wheel.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_install.cpython-34.pyc,,
|
||||
wheel/__pycache__/decorator.cpython-34.pyc,,
|
||||
wheel/__pycache__/archive.cpython-34.pyc,,
|
||||
wheel/__pycache__/wininst2wheel.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_tagopt.cpython-34.pyc,,
|
||||
wheel/signatures/__pycache__/keys.cpython-34.pyc,,
|
||||
wheel/__pycache__/paths.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_install.cpython-34.pyc,,
|
||||
wheel/__pycache__/metadata.cpython-34.pyc,,
|
||||
wheel/tool/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/signatures/__pycache__/ed25519py.cpython-34.pyc,,
|
||||
wheel/signatures/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_signatures.cpython-34.pyc,,
|
||||
wheel/__pycache__/util.cpython-34.pyc,,
|
||||
wheel/__pycache__/archive.cpython-34.pyc,,
|
||||
wheel/test/simple.dist/simpledist/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_paths.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_ranking.cpython-34.pyc,,
|
||||
wheel/__pycache__/__main__.cpython-34.pyc,,
|
||||
wheel/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/__pycache__/pep425tags.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_keys.cpython-34.pyc,,
|
||||
wheel/__pycache__/pkginfo.cpython-34.pyc,,
|
||||
wheel/signatures/__pycache__/djbec.cpython-34.pyc,,
|
||||
wheel/signatures/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/test/complex-dist/complexdist/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/signatures/__pycache__/ed25519py.cpython-34.pyc,,
|
||||
wheel/__pycache__/paths.cpython-34.pyc,,
|
||||
wheel/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/test/headers.dist/__pycache__/setup.cpython-34.pyc,,
|
||||
wheel/__pycache__/egg2wheel.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_wheelfile.cpython-34.pyc,,
|
||||
wheel/tool/__pycache__/__init__.cpython-34.pyc,,
|
||||
wheel/__pycache__/decorator.cpython-34.pyc,,
|
||||
wheel/test/__pycache__/test_basic.cpython-34.pyc,,
|
||||
wheel/__pycache__/util.cpython-34.pyc,,
|
||||
wheel/__pycache__/bdist_wheel.cpython-34.pyc,,
|
||||
wheel/signatures/__pycache__/keys.cpython-34.pyc,,
|
||||
wheel/__pycache__/install.cpython-34.pyc,,
|
||||
wheel/__pycache__/pep425tags.cpython-34.pyc,,
|
||||
wheel/test/simple.dist/__pycache__/setup.cpython-34.pyc,,
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"classifiers": ["Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4"], "extensions": {"python.commands": {"wrap_console": {"wheel": "wheel.tool:main"}}, "python.details": {"contacts": [{"email": "dholth@fastmail.fm", "name": "Daniel Holth", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://bitbucket.org/pypa/wheel/"}}, "python.exports": {"console_scripts": {"wheel": "wheel.tool:main"}, "distutils.commands": {"bdist_wheel": "wheel.bdist_wheel:bdist_wheel"}}}, "extras": ["faster-signatures", "signatures", "tool"], "generator": "bdist_wheel (0.29.0)", "keywords": ["wheel", "packaging"], "license": "MIT", "metadata_version": "2.0", "name": "wheel", "run_requires": [{"extra": "faster-signatures", "requires": ["ed25519ll"]}, {"extra": "signatures", "requires": ["keyring", "keyrings.alt"]}, {"environment": "python_version==\"2.6\"", "requires": ["argparse"]}, {"environment": "python_version==\"2.6\"", "extra": "signatures", "requires": ["importlib"]}, {"environment": "sys_platform!=\"win32\"", "extra": "signatures", "requires": ["pyxdg"]}], "summary": "A built-package format for Python.", "test_requires": [{"requires": ["coverage", "jsonschema", "pytest", "pytest-cov"]}], "version": "0.29.0"}
|
||||
{"classifiers": ["Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4"], "extensions": {"python.commands": {"wrap_console": {"wheel": "wheel.tool:main"}}, "python.details": {"contacts": [{"email": "dholth@fastmail.fm", "name": "Daniel Holth", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://bitbucket.org/pypa/wheel/"}}, "python.exports": {"console_scripts": {"wheel": "wheel.tool:main"}, "distutils.commands": {"bdist_wheel": "wheel.bdist_wheel:bdist_wheel"}}}, "extras": ["faster-signatures", "signatures", "tool"], "generator": "bdist_wheel (0.29.0)", "keywords": ["wheel", "packaging"], "license": "MIT", "metadata_version": "2.0", "name": "wheel", "run_requires": [{"extra": "faster-signatures", "requires": ["ed25519ll"]}, {"extra": "signatures", "requires": ["keyring", "keyrings.alt"]}, {"environment": "python_version==\"2.6\"", "requires": ["argparse"]}, {"environment": "python_version==\"2.6\"", "extra": "signatures", "requires": ["importlib"]}, {"environment": "sys_platform!=\"win32\"", "extra": "signatures", "requires": ["pyxdg"]}], "summary": "A built-package format for Python.", "version": "0.29.0"}
|
Binary file not shown.
|
@ -0,0 +1,277 @@
|
|||
python-zeroconf
|
||||
===============
|
||||
|
||||
.. image:: https://travis-ci.org/jstasiak/python-zeroconf.svg?branch=master
|
||||
:target: https://travis-ci.org/jstasiak/python-zeroconf
|
||||
|
||||
.. image:: https://img.shields.io/pypi/v/zeroconf.svg
|
||||
:target: https://pypi.python.org/pypi/zeroconf
|
||||
|
||||
.. image:: https://img.shields.io/coveralls/jstasiak/python-zeroconf.svg
|
||||
:target: https://coveralls.io/r/jstasiak/python-zeroconf
|
||||
|
||||
|
||||
This is fork of pyzeroconf, Multicast DNS Service Discovery for Python,
|
||||
originally by Paul Scott-Murphy (https://github.com/paulsm/pyzeroconf),
|
||||
modified by William McBrine (https://github.com/wmcbrine/pyzeroconf).
|
||||
|
||||
The original William McBrine's fork note::
|
||||
|
||||
This fork is used in all of my TiVo-related projects: HME for Python
|
||||
(and therefore HME/VLC), Network Remote, Remote Proxy, and pyTivo.
|
||||
Before this, I was tracking the changes for zeroconf.py in three
|
||||
separate repos. I figured I should have an authoritative source.
|
||||
|
||||
Although I make changes based on my experience with TiVos, I expect that
|
||||
they're generally applicable. This version also includes patches found
|
||||
on the now-defunct (?) Launchpad repo of pyzeroconf, and elsewhere
|
||||
around the net -- not always well-documented, sorry.
|
||||
|
||||
Compatible with:
|
||||
|
||||
* Bonjour
|
||||
* Avahi
|
||||
|
||||
Compared to some other Zeroconf/Bonjour/Avahi Python packages, python-zeroconf:
|
||||
|
||||
* isn't tied to Bonjour or Avahi
|
||||
* doesn't use D-Bus
|
||||
* doesn't force you to use particular event loop or Twisted
|
||||
* is pip-installable
|
||||
* has PyPI distribution
|
||||
|
||||
Python compatibility
|
||||
--------------------
|
||||
|
||||
* CPython 2.6, 2.7, 3.3+
|
||||
* PyPy 2.2+ (possibly 1.9-2.1 as well)
|
||||
* PyPy3 2.4+
|
||||
|
||||
Versioning
|
||||
----------
|
||||
|
||||
This project's versions follow the following pattern: MAJOR.MINOR.PATCH.
|
||||
|
||||
* MAJOR version has been 0 so far
|
||||
* MINOR version is incremented on backward incompatible changes
|
||||
* PATCH version is incremented on backward compatible changes
|
||||
|
||||
Status
|
||||
------
|
||||
|
||||
There are some people using this package. I don't actively use it and as such
|
||||
any help I can offer with regard to any issues is very limited.
|
||||
|
||||
|
||||
How to get python-zeroconf?
|
||||
===========================
|
||||
|
||||
* PyPI page https://pypi.python.org/pypi/zeroconf
|
||||
* GitHub project https://github.com/jstasiak/python-zeroconf
|
||||
|
||||
The easiest way to install python-zeroconf is using pip::
|
||||
|
||||
pip install zeroconf
|
||||
|
||||
|
||||
|
||||
How do I use it?
|
||||
================
|
||||
|
||||
Here's an example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from six.moves import input
|
||||
from zeroconf import ServiceBrowser, Zeroconf
|
||||
|
||||
|
||||
class MyListener(object):
|
||||
|
||||
def remove_service(self, zeroconf, type, name):
|
||||
print("Service %s removed" % (name,))
|
||||
|
||||
def add_service(self, zeroconf, type, name):
|
||||
info = zeroconf.get_service_info(type, name)
|
||||
print("Service %s added, service info: %s" % (name, info))
|
||||
|
||||
|
||||
zeroconf = Zeroconf()
|
||||
listener = MyListener()
|
||||
browser = ServiceBrowser(zeroconf, "_http._tcp.local.", listener)
|
||||
try:
|
||||
input("Press enter to exit...\n\n")
|
||||
finally:
|
||||
zeroconf.close()
|
||||
|
||||
.. note::
|
||||
|
||||
Discovery and service registration use *all* available network interfaces by default.
|
||||
If you want to customize that you need to specify ``interfaces`` argument when
|
||||
constructing ``Zeroconf`` object (see the code for details).
|
||||
|
||||
See examples directory for more.
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
0.17.4
|
||||
------
|
||||
|
||||
* Fixed support for Linux kernel versions < 3.9 (thanks to Giovanni Harting
|
||||
and Luckydonald, GitHub pull request #26)
|
||||
|
||||
0.17.3
|
||||
------
|
||||
|
||||
* Fixed DNSText repr on Python 3 (it'd crash when the text was longer than
|
||||
10 bytes), thanks to Paulus Schoutsen for the patch, GitHub pull request #24
|
||||
|
||||
0.17.2
|
||||
------
|
||||
|
||||
* Fixed installation on Python 3.4.3+ (was failing because of enum34 dependency
|
||||
which fails to install on 3.4.3+, changed to depend on enum-compat instead;
|
||||
thanks to Michael Brennan for the original patch, GitHub pull request #22)
|
||||
|
||||
0.17.1
|
||||
------
|
||||
|
||||
* Fixed EADDRNOTAVAIL when attempting to use dummy network interfaces on Windows,
|
||||
thanks to daid
|
||||
|
||||
0.17.0
|
||||
------
|
||||
|
||||
* Added some Python dependencies so it's not zero-dependencies anymore
|
||||
* Improved exception handling (it'll be quieter now)
|
||||
* Messages are listened to and sent using all available network interfaces
|
||||
by default (configurable); thanks to Marcus Müller
|
||||
* Started using logging more freely
|
||||
* Fixed a bug with binary strings as property values being converted to False
|
||||
(https://github.com/jstasiak/python-zeroconf/pull/10); thanks to Dr. Seuss
|
||||
* Added new ``ServiceBrowser`` event handler interface (see the examples)
|
||||
* PyPy3 now officially supported
|
||||
* Fixed ServiceInfo repr on Python 3, thanks to Yordan Miladinov
|
||||
|
||||
0.16.0
|
||||
------
|
||||
|
||||
* Set up Python logging and started using it
|
||||
* Cleaned up code style (includes migrating from camel case to snake case)
|
||||
|
||||
0.15.1
|
||||
------
|
||||
|
||||
* Fixed handling closed socket (GitHub #4)
|
||||
|
||||
0.15
|
||||
----
|
||||
|
||||
* Forked by Jakub Stasiak
|
||||
* Made Python 3 compatible
|
||||
* Added setup script, made installable by pip and uploaded to PyPI
|
||||
* Set up Travis build
|
||||
* Reformatted the code and moved files around
|
||||
* Stopped catching BaseException in several places, that could hide errors
|
||||
* Marked threads as daemonic, they won't keep application alive now
|
||||
|
||||
0.14
|
||||
----
|
||||
|
||||
* Fix for SOL_IP undefined on some systems - thanks Mike Erdely.
|
||||
* Cleaned up examples.
|
||||
* Lowercased module name.
|
||||
|
||||
0.13
|
||||
----
|
||||
|
||||
* Various minor changes; see git for details.
|
||||
* No longer compatible with Python 2.2. Only tested with 2.5-2.7.
|
||||
* Fork by William McBrine.
|
||||
|
||||
0.12
|
||||
----
|
||||
|
||||
* allow selection of binding interface
|
||||
* typo fix - Thanks A. M. Kuchlingi
|
||||
* removed all use of word 'Rendezvous' - this is an API change
|
||||
|
||||
0.11
|
||||
----
|
||||
|
||||
* correction to comments for addListener method
|
||||
* support for new record types seen from OS X
|
||||
- IPv6 address
|
||||
- hostinfo
|
||||
|
||||
* ignore unknown DNS record types
|
||||
* fixes to name decoding
|
||||
* works alongside other processes using port 5353 (e.g. on Mac OS X)
|
||||
* tested against Mac OS X 10.3.2's mDNSResponder
|
||||
* corrections to removal of list entries for service browser
|
||||
|
||||
0.10
|
||||
----
|
||||
|
||||
* Jonathon Paisley contributed these corrections:
|
||||
- always multicast replies, even when query is unicast
|
||||
- correct a pointer encoding problem
|
||||
- can now write records in any order
|
||||
- traceback shown on failure
|
||||
- better TXT record parsing
|
||||
- server is now separate from name
|
||||
- can cancel a service browser
|
||||
* modified some unit tests to accommodate these changes
|
||||
|
||||
0.09
|
||||
----
|
||||
|
||||
* remove all records on service unregistration
|
||||
* fix DOS security problem with readName
|
||||
|
||||
0.08
|
||||
----
|
||||
|
||||
* changed licensing to LGPL
|
||||
|
||||
0.07
|
||||
----
|
||||
|
||||
* faster shutdown on engine
|
||||
* pointer encoding of outgoing names
|
||||
* ServiceBrowser now works
|
||||
* new unit tests
|
||||
|
||||
0.06
|
||||
----
|
||||
* small improvements with unit tests
|
||||
* added defined exception types
|
||||
* new style objects
|
||||
* fixed hostname/interface problem
|
||||
* fixed socket timeout problem
|
||||
* fixed add_service_listener() typo bug
|
||||
* using select() for socket reads
|
||||
* tested on Debian unstable with Python 2.2.2
|
||||
|
||||
0.05
|
||||
----
|
||||
|
||||
* ensure case insensitivty on domain names
|
||||
* support for unicast DNS queries
|
||||
|
||||
0.04
|
||||
----
|
||||
|
||||
* added some unit tests
|
||||
* added __ne__ adjuncts where required
|
||||
* ensure names end in '.local.'
|
||||
* timeout on receiving socket for clean shutdown
|
||||
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
LGPL, see COPYING file for details.
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue