You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@senssoft.apache.org by ar...@apache.org on 2016/12/16 17:11:08 UTC
[50/58] [abbrv] [partial] incubator-senssoft-tap git commit: Fixed
.gitignore file
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/METADATA
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/METADATA b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/METADATA
deleted file mode 100644
index 0839366..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/METADATA
+++ /dev/null
@@ -1,35 +0,0 @@
-Metadata-Version: 2.0
-Name: PyYAML
-Version: 3.12
-Summary: YAML parser and emitter for Python
-Home-page: http://pyyaml.org/wiki/PyYAML
-Author: Kirill Simonov
-Author-email: xi@resolvent.net
-License: MIT
-Download-URL: http://pyyaml.org/download/pyyaml/PyYAML-3.12.tar.gz
-Platform: Any
-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
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Classifier: Topic :: Text Processing :: Markup
-
-YAML is a data serialization format designed for human readability
-and interaction with scripting languages. PyYAML is a YAML parser
-and emitter for Python.
-
-PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
-support, capable extension API, and sensible error messages. PyYAML
-supports standard YAML tags and provides Python-specific tags that
-allow to represent an arbitrary Python object.
-
-PyYAML is applicable for a broad range of tasks from complex
-configuration files to object serialization and persistance.
-
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/RECORD
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/RECORD b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/RECORD
deleted file mode 100644
index d0c14a2..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/RECORD
+++ /dev/null
@@ -1,41 +0,0 @@
-PyYAML-3.12.dist-info/DESCRIPTION.rst,sha256=4nzkrOwMTYfusIfdRz4-dl_9Blan5axHPKMiVJEOV-4,534
-PyYAML-3.12.dist-info/METADATA,sha256=pLhIwT2X7saN_aEwYCwTMYl0U9KDA4jYEyL140QAOJg,1424
-PyYAML-3.12.dist-info/RECORD,,
-PyYAML-3.12.dist-info/WHEEL,sha256=c72nWt1i7I3ForbdXG35p-8sTv3cN_E1sA3uLvkN51M,110
-PyYAML-3.12.dist-info/metadata.json,sha256=ACNazIcYAAYWEcmweRN5f76IWRewL5YSVmjkqEx4gFo,1013
-PyYAML-3.12.dist-info/top_level.txt,sha256=mBo8NF3j3lG5BeAeV7Eg19Y0FKQnxcXuw9SUEemIwB4,11
-yaml/__init__.py,sha256=qfSzlV4ZwTZZBGZQg7CfDRj4cfVXlk4B7cltM61_ZyU,9776
-yaml/composer.py,sha256=pOjZ5afqNfH22WXyS6xlQCB2PbSrFPjK-qFPOEI76fw,4921
-yaml/constructor.py,sha256=S_Pux76-hgmgtJeJVtSvQ9ynmtEIR2jAx2ljAochKU0,25145
-yaml/cyaml.py,sha256=xK_IxkrRcetZeNwB_wzDAHYCWsumOFfsTlk3CeoM5kQ,3290
-yaml/dumper.py,sha256=ONPYNHirnLm-qCm-h9swnMWzZhncilexboIPRoNdcq4,2719
-yaml/emitter.py,sha256=Xya7zhTX3ykxMAdAgDIedejmLb1Q71W2G4yt4nTSMIM,43298
-yaml/error.py,sha256=7K-NdIv0qNKPKbnXxEg0L_b9K7nYDORr3rzm8_b-iBY,2559
-yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445
-yaml/loader.py,sha256=t_WLbw1-iWQ4KT_FUppJu30cFIU-l8NCb7bjoXJoV6A,1132
-yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440
-yaml/parser.py,sha256=sgXahZA3DkySYnaC4D_zcl3l2y4Y5R40icWtdwkF_NE,25542
-yaml/reader.py,sha256=hKuxSbid1rSlfKBsshf5qaPwVduaCJA5t5S9Jum6CAA,6746
-yaml/representer.py,sha256=x3F9vDF4iiPit8sR8tgR-kjtotWTzH_Zv9moq0fMtlY,17711
-yaml/resolver.py,sha256=5Z3boiMikL6Qt6fS5Mt8fHym0GxbW7CMT2f2fnD1ZPQ,9122
-yaml/scanner.py,sha256=ft5i4fP9m0MrpKY9N8Xa24H1LqKhwGQXLG1Hd9gCSsk,52446
-yaml/serializer.py,sha256=tRsRwfu5E9fpLU7LY3vBQf2prt77hwnYlMt5dnBJLig,4171
-yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573
-PyYAML-3.12.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-yaml/loader.pyc,,
-yaml/__init__.pyc,,
-yaml/reader.pyc,,
-yaml/cyaml.pyc,,
-yaml/resolver.pyc,,
-yaml/constructor.pyc,,
-yaml/scanner.pyc,,
-yaml/dumper.pyc,,
-yaml/serializer.pyc,,
-yaml/nodes.pyc,,
-yaml/events.pyc,,
-yaml/representer.pyc,,
-yaml/error.pyc,,
-yaml/tokens.pyc,,
-yaml/parser.pyc,,
-yaml/composer.pyc,,
-yaml/emitter.pyc,,
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/WHEEL
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/WHEEL b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/WHEEL
deleted file mode 100644
index 0d9cf7a..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/WHEEL
+++ /dev/null
@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.29.0)
-Root-Is-Purelib: false
-Tag: cp27-cp27m-macosx_10_11_intel
-
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/metadata.json
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/metadata.json b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/metadata.json
deleted file mode 100644
index 73f25a1..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing :: Markup"], "download_url": "http://pyyaml.org/download/pyyaml/PyYAML-3.12.tar.gz", "extensions": {"python.details": {"contacts": [{"email": "xi@resolvent.net", "name": "Kirill Simonov", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://pyyaml.org/wiki/PyYAML"}}}, "generator": "bdist_wheel (0.29.0)", "license": "MIT", "metadata_version": "2.0", "name": "PyYAML", "platform": "Any", "summary": "YAML parser and emitter for Python", "v
ersion": "3.12"}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/top_level.txt
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/top_level.txt b/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/top_level.txt
deleted file mode 100644
index 7a159e7..0000000
--- a/env2/lib/python2.7/site-packages/PyYAML-3.12.dist-info/top_level.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-yaml
-_yaml
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst
deleted file mode 100644
index b8800d6..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-The ssl.match_hostname() function from Python 3.5
-=================================================
-
-The Secure Sockets Layer is only actually *secure*
-if you check the hostname in the certificate returned
-by the server to which you are connecting,
-and verify that it matches to hostname
-that you are trying to reach.
-
-But the matching logic, defined in `RFC2818`_,
-can be a bit tricky to implement on your own.
-So the ``ssl`` package in the Standard Library of Python 3.2
-and greater now includes a ``match_hostname()`` function
-for performing this check instead of requiring every application
-to implement the check separately.
-
-This backport brings ``match_hostname()`` to users
-of earlier versions of Python.
-Simply make this distribution a dependency of your package,
-and then use it like this::
-
- from backports.ssl_match_hostname import match_hostname, CertificateError
- [...]
- sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv23,
- cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
- try:
- match_hostname(sslsock.getpeercert(), hostname)
- except CertificateError, ce:
- ...
-
-Brandon Craig Rhodes is merely the packager of this distribution;
-the actual code inside comes from Python 3.5 with small changes for
-portability.
-
-
-Requirements
-------------
-
-* If you want to verify hosts match with certificates via ServerAltname
- IPAddress fields, you need to install the `ipaddress module`_.
- backports.ssl_match_hostname will continue to work without ipaddress but
- will only be able to handle ServerAltName DNSName fields, not IPAddress.
- System packagers (Linux distributions, et al) are encouraged to add
- this as a hard dependency in their packages.
-
-* If you need to use this on Python versions earlier than 2.6 you will need to
- install the `ssl module`_. From Python 2.6 upwards ``ssl`` is included in
- the Python Standard Library so you do not need to install it separately.
-
-.. _`ipaddress module`:: https://pypi.python.org/pypi/ipaddress
-.. _`ssl module`:: https://pypi.python.org/pypi/ssl
-
-History
--------
-
-* This function was introduced in python-3.2
-* It was updated for python-3.4a1 for a CVE
- (backports-ssl_match_hostname-3.4.0.1)
-* It was updated from RFC2818 to RFC 6125 compliance in order to fix another
- security flaw for python-3.3.3 and python-3.4a5
- (backports-ssl_match_hostname-3.4.0.2)
-* It was updated in python-3.5 to handle IPAddresses in ServerAltName fields
- (something that backports.ssl_match_hostname will do if you also install the
- ipaddress library from pypi).
-
-
-.. _RFC2818: http://tools.ietf.org/html/rfc2818.html
-
-
-
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER
deleted file mode 100644
index a1b589e..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER
+++ /dev/null
@@ -1 +0,0 @@
-pip
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA
deleted file mode 100644
index 550988e..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA
+++ /dev/null
@@ -1,90 +0,0 @@
-Metadata-Version: 2.0
-Name: backports.ssl-match-hostname
-Version: 3.5.0.1
-Summary: The ssl.match_hostname() function from Python 3.5
-Home-page: http://bitbucket.org/brandon/backports.ssl_match_hostname
-Author: Toshio Kuratomi
-Author-email: toshio@fedoraproject.org
-License: Python Software Foundation License
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: License :: OSI Approved :: Python Software Foundation License
-Classifier: Programming Language :: Python :: 2.4
-Classifier: Programming Language :: Python :: 2.5
-Classifier: Programming Language :: Python :: 2.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.0
-Classifier: Programming Language :: Python :: 3.1
-Classifier: Topic :: Security :: Cryptography
-
-The ssl.match_hostname() function from Python 3.5
-=================================================
-
-The Secure Sockets Layer is only actually *secure*
-if you check the hostname in the certificate returned
-by the server to which you are connecting,
-and verify that it matches to hostname
-that you are trying to reach.
-
-But the matching logic, defined in `RFC2818`_,
-can be a bit tricky to implement on your own.
-So the ``ssl`` package in the Standard Library of Python 3.2
-and greater now includes a ``match_hostname()`` function
-for performing this check instead of requiring every application
-to implement the check separately.
-
-This backport brings ``match_hostname()`` to users
-of earlier versions of Python.
-Simply make this distribution a dependency of your package,
-and then use it like this::
-
- from backports.ssl_match_hostname import match_hostname, CertificateError
- [...]
- sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv23,
- cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
- try:
- match_hostname(sslsock.getpeercert(), hostname)
- except CertificateError, ce:
- ...
-
-Brandon Craig Rhodes is merely the packager of this distribution;
-the actual code inside comes from Python 3.5 with small changes for
-portability.
-
-
-Requirements
-------------
-
-* If you want to verify hosts match with certificates via ServerAltname
- IPAddress fields, you need to install the `ipaddress module`_.
- backports.ssl_match_hostname will continue to work without ipaddress but
- will only be able to handle ServerAltName DNSName fields, not IPAddress.
- System packagers (Linux distributions, et al) are encouraged to add
- this as a hard dependency in their packages.
-
-* If you need to use this on Python versions earlier than 2.6 you will need to
- install the `ssl module`_. From Python 2.6 upwards ``ssl`` is included in
- the Python Standard Library so you do not need to install it separately.
-
-.. _`ipaddress module`:: https://pypi.python.org/pypi/ipaddress
-.. _`ssl module`:: https://pypi.python.org/pypi/ssl
-
-History
--------
-
-* This function was introduced in python-3.2
-* It was updated for python-3.4a1 for a CVE
- (backports-ssl_match_hostname-3.4.0.1)
-* It was updated from RFC2818 to RFC 6125 compliance in order to fix another
- security flaw for python-3.3.3 and python-3.4a5
- (backports-ssl_match_hostname-3.4.0.2)
-* It was updated in python-3.5 to handle IPAddresses in ServerAltName fields
- (something that backports.ssl_match_hostname will do if you also install the
- ipaddress library from pypi).
-
-
-.. _RFC2818: http://tools.ietf.org/html/rfc2818.html
-
-
-
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD
deleted file mode 100644
index 0b501a8..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD
+++ /dev/null
@@ -1,11 +0,0 @@
-backports/__init__.py,sha256=1Mf6P1hIdW75vC992JfI0YyknVYpv1dH3_DZzUShnS0,155
-backports/ssl_match_hostname/__init__.py,sha256=hjwZEix1F_V1qLqTRRxypradJ9tKqTvrjW3FOOvNfXc,5574
-backports.ssl_match_hostname-3.5.0.1.dist-info/DESCRIPTION.rst,sha256=0zIPlb6puJyjxvzmHnKDMmgMASFn8UknYAeEOX02Hb4,2635
-backports.ssl_match_hostname-3.5.0.1.dist-info/METADATA,sha256=qTHOOSgi0oj9E_kwdUFJzj9zJ77v-SCDv0i7k39tiSM,3487
-backports.ssl_match_hostname-3.5.0.1.dist-info/RECORD,,
-backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL,sha256=BtVfdXUcEYLcFjOkbIrCFRyXU4qszVPt-E9o3RWkSNw,93
-backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json,sha256=u8N-bnr7EwOGQ2JEy5ytSx7vWWH3aNiu3PhTdanaK4U,965
-backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt,sha256=cGjaLMOoBR1FK0ApojtzWVmViTtJ7JGIK_HwXiEsvtU,10
-backports.ssl_match_hostname-3.5.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-backports/__init__.pyc,,
-backports/ssl_match_hostname/__init__.pyc,,
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL
deleted file mode 100644
index 5a93381..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/WHEEL
+++ /dev/null
@@ -1,5 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.29.0)
-Root-Is-Purelib: true
-Tag: cp27-none-any
-
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json
deleted file mode 100644
index 1511aca..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"classifiers": ["Development Status :: 5 - Production/Stable", "License :: OSI Approved :: Python Software Foundation License", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Topic :: Security :: Cryptography"], "extensions": {"python.details": {"contacts": [{"email": "toshio@fedoraproject.org", "name": "Toshio Kuratomi", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "http://bitbucket.org/brandon/backports.ssl_match_hostname"}}}, "generator": "bdist_wheel (0.29.0)", "license": "Python Software Foundation License", "metadata_version": "2.0", "name": "backports.ssl-match-hostname", "summary": "The ssl.match_hostname() function from Python 3.5", "version": "3.5.0.1"}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt b/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt
deleted file mode 100644
index 99d2be5..0000000
--- a/env2/lib/python2.7/site-packages/backports.ssl_match_hostname-3.5.0.1.dist-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-backports
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports/__init__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports/__init__.py b/env2/lib/python2.7/site-packages/backports/__init__.py
deleted file mode 100644
index 612d328..0000000
--- a/env2/lib/python2.7/site-packages/backports/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# This is a Python "namespace package" http://www.python.org/dev/peps/pep-0382/
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/backports/ssl_match_hostname/__init__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/backports/ssl_match_hostname/__init__.py b/env2/lib/python2.7/site-packages/backports/ssl_match_hostname/__init__.py
deleted file mode 100644
index 06538ec..0000000
--- a/env2/lib/python2.7/site-packages/backports/ssl_match_hostname/__init__.py
+++ /dev/null
@@ -1,154 +0,0 @@
-"""The match_hostname() function from Python 3.3.3, essential when using SSL."""
-
-import re
-import sys
-
-# ipaddress has been backported to 2.6+ in pypi. If it is installed on the
-# system, use it to handle IPAddress ServerAltnames (this was added in
-# python-3.5) otherwise only do DNS matching. This allows
-# backports.ssl_match_hostname to continue to be used all the way back to
-# python-2.4.
-try:
- import ipaddress
-except ImportError:
- ipaddress = None
-
-__version__ = '3.5.0.1'
-
-
-class CertificateError(ValueError):
- pass
-
-
-def _dnsname_match(dn, hostname, max_wildcards=1):
- """Matching according to RFC 6125, section 6.4.3
-
- http://tools.ietf.org/html/rfc6125#section-6.4.3
- """
- pats = []
- if not dn:
- return False
-
- # Ported from python3-syntax:
- # leftmost, *remainder = dn.split(r'.')
- parts = dn.split(r'.')
- leftmost = parts[0]
- remainder = parts[1:]
-
- wildcards = leftmost.count('*')
- if wildcards > max_wildcards:
- # Issue #17980: avoid denials of service by refusing more
- # than one wildcard per fragment. A survey of established
- # policy among SSL implementations showed it to be a
- # reasonable choice.
- raise CertificateError(
- "too many wildcards in certificate DNS name: " + repr(dn))
-
- # speed up common case w/o wildcards
- if not wildcards:
- return dn.lower() == hostname.lower()
-
- # RFC 6125, section 6.4.3, subitem 1.
- # The client SHOULD NOT attempt to match a presented identifier in which
- # the wildcard character comprises a label other than the left-most label.
- if leftmost == '*':
- # When '*' is a fragment by itself, it matches a non-empty dotless
- # fragment.
- pats.append('[^.]+')
- elif leftmost.startswith('xn--') or hostname.startswith('xn--'):
- # RFC 6125, section 6.4.3, subitem 3.
- # The client SHOULD NOT attempt to match a presented identifier
- # where the wildcard character is embedded within an A-label or
- # U-label of an internationalized domain name.
- pats.append(re.escape(leftmost))
- else:
- # Otherwise, '*' matches any dotless string, e.g. www*
- pats.append(re.escape(leftmost).replace(r'\*', '[^.]*'))
-
- # add the remaining fragments, ignore any wildcards
- for frag in remainder:
- pats.append(re.escape(frag))
-
- pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE)
- return pat.match(hostname)
-
-
-def _to_unicode(obj):
- if isinstance(obj, str) and sys.version_info < (3,):
- obj = unicode(obj, encoding='ascii', errors='strict')
- return obj
-
-def _ipaddress_match(ipname, host_ip):
- """Exact matching of IP addresses.
-
- RFC 6125 explicitly doesn't define an algorithm for this
- (section 1.7.2 - "Out of Scope").
- """
- # OpenSSL may add a trailing newline to a subjectAltName's IP address
- # Divergence from upstream: ipaddress can't handle byte str
- ip = ipaddress.ip_address(_to_unicode(ipname).rstrip())
- return ip == host_ip
-
-
-def match_hostname(cert, hostname):
- """Verify that *cert* (in decoded format as returned by
- SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125
- rules are followed, but IP addresses are not accepted for *hostname*.
-
- CertificateError is raised on failure. On success, the function
- returns nothing.
- """
- if not cert:
- raise ValueError("empty or no certificate, match_hostname needs a "
- "SSL socket or SSL context with either "
- "CERT_OPTIONAL or CERT_REQUIRED")
- try:
- # Divergence from upstream: ipaddress can't handle byte str
- host_ip = ipaddress.ip_address(_to_unicode(hostname))
- except ValueError:
- # Not an IP address (common case)
- host_ip = None
- except UnicodeError:
- # Divergence from upstream: Have to deal with ipaddress not taking
- # byte strings. addresses should be all ascii, so we consider it not
- # an ipaddress in this case
- host_ip = None
- except AttributeError:
- # Divergence from upstream: Make ipaddress library optional
- if ipaddress is None:
- host_ip = None
- else:
- raise
- dnsnames = []
- san = cert.get('subjectAltName', ())
- for key, value in san:
- if key == 'DNS':
- if host_ip is None and _dnsname_match(value, hostname):
- return
- dnsnames.append(value)
- elif key == 'IP Address':
- if host_ip is not None and _ipaddress_match(value, host_ip):
- return
- dnsnames.append(value)
- if not dnsnames:
- # The subject is only checked when there is no dNSName entry
- # in subjectAltName
- for sub in cert.get('subject', ()):
- for key, value in sub:
- # XXX according to RFC 2818, the most specific Common Name
- # must be used.
- if key == 'commonName':
- if _dnsname_match(value, hostname):
- return
- dnsnames.append(value)
- if len(dnsnames) > 1:
- raise CertificateError("hostname %r "
- "doesn't match either of %s"
- % (hostname, ', '.join(map(repr, dnsnames))))
- elif len(dnsnames) == 1:
- raise CertificateError("hostname %r "
- "doesn't match %r"
- % (hostname, dnsnames[0]))
- else:
- raise CertificateError("no appropriate commonName or "
- "subjectAltName fields were found")
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/DESCRIPTION.rst
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/DESCRIPTION.rst b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/DESCRIPTION.rst
deleted file mode 100644
index 0387194..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/DESCRIPTION.rst
+++ /dev/null
@@ -1,264 +0,0 @@
-===============================
-cached-property
-===============================
-
-.. image:: https://img.shields.io/pypi/v/cached-property.svg
- :target: https://pypi.python.org/pypi/cached-property
-
-.. image:: https://img.shields.io/travis/pydanny/cached-property/master.svg
- :target: https://travis-ci.org/pydanny/cached-property
-
-
-A decorator for caching properties in classes.
-
-Why?
------
-
-* Makes caching of time or computational expensive properties quick and easy.
-* Because I got tired of copy/pasting this code from non-web project to non-web project.
-* I needed something really simple that worked in Python 2 and 3.
-
-How to use it
---------------
-
-Let's define a class with an expensive property. Every time you stay there the
-price goes up by $50!
-
-.. code-block:: python
-
- class Monopoly(object):
-
- def __init__(self):
- self.boardwalk_price = 500
-
- @property
- def boardwalk(self):
- # In reality, this might represent a database call or time
- # intensive task like calling a third-party API.
- self.boardwalk_price += 50
- return self.boardwalk_price
-
-Now run it:
-
-.. code-block:: python
-
- >>> monopoly = Monopoly()
- >>> monopoly.boardwalk
- 550
- >>> monopoly.boardwalk
- 600
-
-Let's convert the boardwalk property into a ``cached_property``.
-
-.. code-block:: python
-
- from cached_property import cached_property
-
- class Monopoly(object):
-
- def __init__(self):
- self.boardwalk_price = 500
-
- @cached_property
- def boardwalk(self):
- # Again, this is a silly example. Don't worry about it, this is
- # just an example for clarity.
- self.boardwalk_price += 50
- return self.boardwalk_price
-
-Now when we run it the price stays at $550.
-
-.. code-block:: python
-
- >>> monopoly = Monopoly()
- >>> monopoly.boardwalk
- 550
- >>> monopoly.boardwalk
- 550
- >>> monopoly.boardwalk
- 550
-
-Why doesn't the value of ``monopoly.boardwalk`` change? Because it's a **cached property**!
-
-Invalidating the Cache
-----------------------
-
-Results of cached functions can be invalidated by outside forces. Let's demonstrate how to force the cache to invalidate:
-
-.. code-block:: python
-
- >>> monopoly = Monopoly()
- >>> monopoly.boardwalk
- 550
- >>> monopoly.boardwalk
- 550
- >>> # invalidate the cache
- >>> del monopoly.__dict__['boardwalk']
- >>> # request the boardwalk property again
- >>> monopoly.boardwalk
- 600
- >>> monopoly.boardwalk
- 600
-
-Working with Threads
----------------------
-
-What if a whole bunch of people want to stay at Boardwalk all at once? This means using threads, which
-unfortunately causes problems with the standard ``cached_property``. In this case, switch to using the
-``threaded_cached_property``:
-
-.. code-block:: python
-
- from cached_property import threaded_cached_property
-
- class Monopoly(object):
-
- def __init__(self):
- self.boardwalk_price = 500
-
- @threaded_cached_property
- def boardwalk(self):
- """threaded_cached_property is really nice for when no one waits
- for other people to finish their turn and rudely start rolling
- dice and moving their pieces."""
-
- sleep(1)
- self.boardwalk_price += 50
- return self.boardwalk_price
-
-Now use it:
-
-.. code-block:: python
-
- >>> from threading import Thread
- >>> from monopoly import Monopoly
- >>> monopoly = Monopoly()
- >>> threads = []
- >>> for x in range(10):
- >>> thread = Thread(target=lambda: monopoly.boardwalk)
- >>> thread.start()
- >>> threads.append(thread)
-
- >>> for thread in threads:
- >>> thread.join()
-
- >>> self.assertEqual(m.boardwalk, 550)
-
-
-Timing out the cache
---------------------
-
-Sometimes you want the price of things to reset after a time. Use the ``ttl``
-versions of ``cached_property`` and ``threaded_cached_property``.
-
-.. code-block:: python
-
- import random
- from cached_property import cached_property_with_ttl
-
- class Monopoly(object):
-
- @cached_property_with_ttl(ttl=5) # cache invalidates after 5 seconds
- def dice(self):
- # I dare the reader to implement a game using this method of 'rolling dice'.
- return random.randint(2,12)
-
-Now use it:
-
-.. code-block:: python
-
- >>> monopoly = Monopoly()
- >>> monopoly.dice
- 10
- >>> monopoly.dice
- 10
- >>> from time import sleep
- >>> sleep(6) # Sleeps long enough to expire the cache
- >>> monopoly.dice
- 3
- >>> monopoly.dice
- 3
-
-**Note:** The ``ttl`` tools do not reliably allow the clearing of the cache. This
-is why they are broken out into seperate tools. See https://github.com/pydanny/cached-property/issues/16.
-
-Credits
---------
-
-* Pip, Django, Werkzueg, Bottle, Pyramid, and Zope for having their own implementations. This package uses an implementation that matches the Bottle version.
-* Reinout Van Rees for pointing out the `cached_property` decorator to me.
-* My awesome wife `@audreyr`_ who created `cookiecutter`_, which meant rolling this out took me just 15 minutes.
-* @tinche for pointing out the threading issue and providing a solution.
-* @bcho for providing the time-to-expire feature
-
-.. _`@audreyr`: https://github.com/audreyr
-.. _`cookiecutter`: https://github.com/audreyr/cookiecutter
-
-
-
-
-History
--------
-
-1.3.0 (2015-11-24)
-++++++++++++++++++
-
-* Added official support for Python 3.5, thanks to @pydanny and @audreyr
-* Removed confusingly placed lock from example, thanks to @ionelmc
-* Corrected invalidation cache documentation, thanks to @proofit404
-* Updated to latest Travis-CI environment, thanks to @audreyr
-
-1.2.0 (2015-04-28)
-++++++++++++++++++
-
-* Overall code and test refactoring, thanks to @gsakkis
-* Allow the del statement for resetting cached properties with ttl instead of del obj._cache[attr], thanks to @gsakkis.
-* Uncovered a bug in PyPy, https://bitbucket.org/pypy/pypy/issue/2033/attributeerror-object-attribute-is-read, thanks to @gsakkis
-* Fixed threaded_cached_property_with_ttl to actually be thread-safe, thanks to @gsakkis
-
-1.1.0 (2015-04-04)
-++++++++++++++++++
-
-* Regression: As the cache was not always clearing, we've broken out the time to expire feature to its own set of specific tools, thanks to @pydanny
-* Fixed typo in README, thanks to @zoidbergwill
-
-1.0.0 (2015-02-13)
-++++++++++++++++++
-
-* Added timed to expire feature to ``cached_property`` decorator.
-* **Backwards incompatiblity**: Changed ``del monopoly.boardwalk`` to ``del monopoly['boardwalk']`` in order to support the new TTL feature.
-
-0.1.5 (2014-05-20)
-++++++++++++++++++
-
-* Added threading support with new ``threaded_cached_property`` decorator
-* Documented cache invalidation
-* Updated credits
-* Sourced the bottle implementation
-
-0.1.4 (2014-05-17)
-++++++++++++++++++
-
-* Fix the dang-blarged py_modules argument.
-
-0.1.3 (2014-05-17)
-++++++++++++++++++
-
-* Removed import of package into ``setup.py``
-
-0.1.2 (2014-05-17)
-++++++++++++++++++
-
-* Documentation fixes. Not opening up a RTFD instance for this because it's so simple to use.
-
-0.1.1 (2014-05-17)
-++++++++++++++++++
-
-* setup.py fix. Whoops!
-
-0.1.0 (2014-05-17)
-++++++++++++++++++
-
-* First release on PyPI.
-
-
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/INSTALLER
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/INSTALLER b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/INSTALLER
deleted file mode 100644
index a1b589e..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/INSTALLER
+++ /dev/null
@@ -1 +0,0 @@
-pip
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/METADATA
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/METADATA b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/METADATA
deleted file mode 100644
index e5764e7..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/METADATA
+++ /dev/null
@@ -1,286 +0,0 @@
-Metadata-Version: 2.0
-Name: cached-property
-Version: 1.3.0
-Summary: A decorator for caching properties in classes.
-Home-page: https://github.com/pydanny/cached-property
-Author: Daniel Greenfeld
-Author-email: pydanny@gmail.com
-License: BSD
-Keywords: cached-property
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Natural Language :: English
-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
-
-===============================
-cached-property
-===============================
-
-.. image:: https://img.shields.io/pypi/v/cached-property.svg
- :target: https://pypi.python.org/pypi/cached-property
-
-.. image:: https://img.shields.io/travis/pydanny/cached-property/master.svg
- :target: https://travis-ci.org/pydanny/cached-property
-
-
-A decorator for caching properties in classes.
-
-Why?
------
-
-* Makes caching of time or computational expensive properties quick and easy.
-* Because I got tired of copy/pasting this code from non-web project to non-web project.
-* I needed something really simple that worked in Python 2 and 3.
-
-How to use it
---------------
-
-Let's define a class with an expensive property. Every time you stay there the
-price goes up by $50!
-
-.. code-block:: python
-
- class Monopoly(object):
-
- def __init__(self):
- self.boardwalk_price = 500
-
- @property
- def boardwalk(self):
- # In reality, this might represent a database call or time
- # intensive task like calling a third-party API.
- self.boardwalk_price += 50
- return self.boardwalk_price
-
-Now run it:
-
-.. code-block:: python
-
- >>> monopoly = Monopoly()
- >>> monopoly.boardwalk
- 550
- >>> monopoly.boardwalk
- 600
-
-Let's convert the boardwalk property into a ``cached_property``.
-
-.. code-block:: python
-
- from cached_property import cached_property
-
- class Monopoly(object):
-
- def __init__(self):
- self.boardwalk_price = 500
-
- @cached_property
- def boardwalk(self):
- # Again, this is a silly example. Don't worry about it, this is
- # just an example for clarity.
- self.boardwalk_price += 50
- return self.boardwalk_price
-
-Now when we run it the price stays at $550.
-
-.. code-block:: python
-
- >>> monopoly = Monopoly()
- >>> monopoly.boardwalk
- 550
- >>> monopoly.boardwalk
- 550
- >>> monopoly.boardwalk
- 550
-
-Why doesn't the value of ``monopoly.boardwalk`` change? Because it's a **cached property**!
-
-Invalidating the Cache
-----------------------
-
-Results of cached functions can be invalidated by outside forces. Let's demonstrate how to force the cache to invalidate:
-
-.. code-block:: python
-
- >>> monopoly = Monopoly()
- >>> monopoly.boardwalk
- 550
- >>> monopoly.boardwalk
- 550
- >>> # invalidate the cache
- >>> del monopoly.__dict__['boardwalk']
- >>> # request the boardwalk property again
- >>> monopoly.boardwalk
- 600
- >>> monopoly.boardwalk
- 600
-
-Working with Threads
----------------------
-
-What if a whole bunch of people want to stay at Boardwalk all at once? This means using threads, which
-unfortunately causes problems with the standard ``cached_property``. In this case, switch to using the
-``threaded_cached_property``:
-
-.. code-block:: python
-
- from cached_property import threaded_cached_property
-
- class Monopoly(object):
-
- def __init__(self):
- self.boardwalk_price = 500
-
- @threaded_cached_property
- def boardwalk(self):
- """threaded_cached_property is really nice for when no one waits
- for other people to finish their turn and rudely start rolling
- dice and moving their pieces."""
-
- sleep(1)
- self.boardwalk_price += 50
- return self.boardwalk_price
-
-Now use it:
-
-.. code-block:: python
-
- >>> from threading import Thread
- >>> from monopoly import Monopoly
- >>> monopoly = Monopoly()
- >>> threads = []
- >>> for x in range(10):
- >>> thread = Thread(target=lambda: monopoly.boardwalk)
- >>> thread.start()
- >>> threads.append(thread)
-
- >>> for thread in threads:
- >>> thread.join()
-
- >>> self.assertEqual(m.boardwalk, 550)
-
-
-Timing out the cache
---------------------
-
-Sometimes you want the price of things to reset after a time. Use the ``ttl``
-versions of ``cached_property`` and ``threaded_cached_property``.
-
-.. code-block:: python
-
- import random
- from cached_property import cached_property_with_ttl
-
- class Monopoly(object):
-
- @cached_property_with_ttl(ttl=5) # cache invalidates after 5 seconds
- def dice(self):
- # I dare the reader to implement a game using this method of 'rolling dice'.
- return random.randint(2,12)
-
-Now use it:
-
-.. code-block:: python
-
- >>> monopoly = Monopoly()
- >>> monopoly.dice
- 10
- >>> monopoly.dice
- 10
- >>> from time import sleep
- >>> sleep(6) # Sleeps long enough to expire the cache
- >>> monopoly.dice
- 3
- >>> monopoly.dice
- 3
-
-**Note:** The ``ttl`` tools do not reliably allow the clearing of the cache. This
-is why they are broken out into seperate tools. See https://github.com/pydanny/cached-property/issues/16.
-
-Credits
---------
-
-* Pip, Django, Werkzueg, Bottle, Pyramid, and Zope for having their own implementations. This package uses an implementation that matches the Bottle version.
-* Reinout Van Rees for pointing out the `cached_property` decorator to me.
-* My awesome wife `@audreyr`_ who created `cookiecutter`_, which meant rolling this out took me just 15 minutes.
-* @tinche for pointing out the threading issue and providing a solution.
-* @bcho for providing the time-to-expire feature
-
-.. _`@audreyr`: https://github.com/audreyr
-.. _`cookiecutter`: https://github.com/audreyr/cookiecutter
-
-
-
-
-History
--------
-
-1.3.0 (2015-11-24)
-++++++++++++++++++
-
-* Added official support for Python 3.5, thanks to @pydanny and @audreyr
-* Removed confusingly placed lock from example, thanks to @ionelmc
-* Corrected invalidation cache documentation, thanks to @proofit404
-* Updated to latest Travis-CI environment, thanks to @audreyr
-
-1.2.0 (2015-04-28)
-++++++++++++++++++
-
-* Overall code and test refactoring, thanks to @gsakkis
-* Allow the del statement for resetting cached properties with ttl instead of del obj._cache[attr], thanks to @gsakkis.
-* Uncovered a bug in PyPy, https://bitbucket.org/pypy/pypy/issue/2033/attributeerror-object-attribute-is-read, thanks to @gsakkis
-* Fixed threaded_cached_property_with_ttl to actually be thread-safe, thanks to @gsakkis
-
-1.1.0 (2015-04-04)
-++++++++++++++++++
-
-* Regression: As the cache was not always clearing, we've broken out the time to expire feature to its own set of specific tools, thanks to @pydanny
-* Fixed typo in README, thanks to @zoidbergwill
-
-1.0.0 (2015-02-13)
-++++++++++++++++++
-
-* Added timed to expire feature to ``cached_property`` decorator.
-* **Backwards incompatiblity**: Changed ``del monopoly.boardwalk`` to ``del monopoly['boardwalk']`` in order to support the new TTL feature.
-
-0.1.5 (2014-05-20)
-++++++++++++++++++
-
-* Added threading support with new ``threaded_cached_property`` decorator
-* Documented cache invalidation
-* Updated credits
-* Sourced the bottle implementation
-
-0.1.4 (2014-05-17)
-++++++++++++++++++
-
-* Fix the dang-blarged py_modules argument.
-
-0.1.3 (2014-05-17)
-++++++++++++++++++
-
-* Removed import of package into ``setup.py``
-
-0.1.2 (2014-05-17)
-++++++++++++++++++
-
-* Documentation fixes. Not opening up a RTFD instance for this because it's so simple to use.
-
-0.1.1 (2014-05-17)
-++++++++++++++++++
-
-* setup.py fix. Whoops!
-
-0.1.0 (2014-05-17)
-++++++++++++++++++
-
-* First release on PyPI.
-
-
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/RECORD
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/RECORD b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/RECORD
deleted file mode 100644
index b764fa9..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/RECORD
+++ /dev/null
@@ -1,9 +0,0 @@
-cached_property.py,sha256=eL8h26nf5AKH37NqxcFQrCj1n9eWQ-QEUxO0HUXpThQ,3900
-cached_property-1.3.0.dist-info/DESCRIPTION.rst,sha256=CsyB7KnTiNEfAvDLhcg88JtLLedX_mQ94LaRCzZjHDA,7293
-cached_property-1.3.0.dist-info/METADATA,sha256=OF00ShiPHaabB6TussjxZ3bkdulyzCT4wWbwxzDw55M,8114
-cached_property-1.3.0.dist-info/RECORD,,
-cached_property-1.3.0.dist-info/WHEEL,sha256=GrqQvamwgBV4nLoJe0vhYRSWzWsx7xjlt74FT0SWYfE,110
-cached_property-1.3.0.dist-info/metadata.json,sha256=0Z7QJmhQLcCRzDaIKB3CKSfAQvxriQKDiVG4rJdkgEc,932
-cached_property-1.3.0.dist-info/top_level.txt,sha256=Pst93XQ2enhlPVfCIpc4Kv38f6JXEYuki96hkyh-1JE,16
-cached_property-1.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
-cached_property.pyc,,
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/WHEEL
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/WHEEL b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/WHEEL
deleted file mode 100644
index 0de529b..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/WHEEL
+++ /dev/null
@@ -1,6 +0,0 @@
-Wheel-Version: 1.0
-Generator: bdist_wheel (0.26.0)
-Root-Is-Purelib: true
-Tag: py2-none-any
-Tag: py3-none-any
-
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/metadata.json
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/metadata.json b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/metadata.json
deleted file mode 100644
index 8196b43..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/metadata.json
+++ /dev/null
@@ -1 +0,0 @@
-{"generator": "bdist_wheel (0.26.0)", "summary": "A decorator for caching properties in classes.", "classifiers": ["Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "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": {"project_urls": {"Home": "https://github.com/pydanny/cached-property"}, "contacts": [{"email": "pydanny@gmail.com", "name": "Daniel Greenfeld", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}}}, "keywords": ["cached-property"], "license": "BSD", "metadata_version": "2.0", "name": "cached-property", "version": "1.3.0"}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/top_level.txt
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/top_level.txt b/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/top_level.txt
deleted file mode 100644
index 05a3432..0000000
--- a/env2/lib/python2.7/site-packages/cached_property-1.3.0.dist-info/top_level.txt
+++ /dev/null
@@ -1 +0,0 @@
-cached_property
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/cached_property.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/cached_property.py b/env2/lib/python2.7/site-packages/cached_property.py
deleted file mode 100644
index 6a342d5..0000000
--- a/env2/lib/python2.7/site-packages/cached_property.py
+++ /dev/null
@@ -1,131 +0,0 @@
-# -*- coding: utf-8 -*-
-
-__author__ = 'Daniel Greenfeld'
-__email__ = 'pydanny@gmail.com'
-__version__ = '1.3.0'
-__license__ = 'BSD'
-
-from time import time
-import threading
-
-
-class cached_property(object):
- """
- A property that is only computed once per instance and then replaces itself
- with an ordinary attribute. Deleting the attribute resets the property.
- Source: https://github.com/bottlepy/bottle/commit/fa7733e075da0d790d809aa3d2f53071897e6f76
- """ # noqa
-
- def __init__(self, func):
- self.__doc__ = getattr(func, '__doc__')
- self.func = func
-
- def __get__(self, obj, cls):
- if obj is None:
- return self
- value = obj.__dict__[self.func.__name__] = self.func(obj)
- return value
-
-
-class threaded_cached_property(object):
- """
- A cached_property version for use in environments where multiple threads
- might concurrently try to access the property.
- """
-
- def __init__(self, func):
- self.__doc__ = getattr(func, '__doc__')
- self.func = func
- self.lock = threading.RLock()
-
- def __get__(self, obj, cls):
- if obj is None:
- return self
-
- obj_dict = obj.__dict__
- name = self.func.__name__
- with self.lock:
- try:
- # check if the value was computed before the lock was acquired
- return obj_dict[name]
- except KeyError:
- # if not, do the calculation and release the lock
- return obj_dict.setdefault(name, self.func(obj))
-
-
-class cached_property_with_ttl(object):
- """
- A property that is only computed once per instance and then replaces itself
- with an ordinary attribute. Setting the ttl to a number expresses how long
- the property will last before being timed out.
- """
-
- def __init__(self, ttl=None):
- if callable(ttl):
- func = ttl
- ttl = None
- else:
- func = None
- self.ttl = ttl
- self._prepare_func(func)
-
- def __call__(self, func):
- self._prepare_func(func)
- return self
-
- def __get__(self, obj, cls):
- if obj is None:
- return self
-
- now = time()
- obj_dict = obj.__dict__
- name = self.__name__
- try:
- value, last_updated = obj_dict[name]
- except KeyError:
- pass
- else:
- ttl_expired = self.ttl and self.ttl < now - last_updated
- if not ttl_expired:
- return value
-
- value = self.func(obj)
- obj_dict[name] = (value, now)
- return value
-
- def __delete__(self, obj):
- obj.__dict__.pop(self.__name__, None)
-
- def __set__(self, obj, value):
- obj.__dict__[self.__name__] = (value, time())
-
- def _prepare_func(self, func):
- self.func = func
- if func:
- self.__doc__ = func.__doc__
- self.__name__ = func.__name__
- self.__module__ = func.__module__
-
-# Aliases to make cached_property_with_ttl easier to use
-cached_property_ttl = cached_property_with_ttl
-timed_cached_property = cached_property_with_ttl
-
-
-class threaded_cached_property_with_ttl(cached_property_with_ttl):
- """
- A cached_property version for use in environments where multiple threads
- might concurrently try to access the property.
- """
-
- def __init__(self, ttl=None):
- super(threaded_cached_property_with_ttl, self).__init__(ttl)
- self.lock = threading.RLock()
-
- def __get__(self, obj, cls):
- with self.lock:
- return super(threaded_cached_property_with_ttl, self).__get__(obj,
- cls)
-
-# Alias to make threaded_cached_property_with_ttl easier to use
-threaded_cached_property_ttl = threaded_cached_property_with_ttl
-timed_threaded_cached_property = threaded_cached_property_with_ttl
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/GITSHA
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/GITSHA b/env2/lib/python2.7/site-packages/compose/GITSHA
deleted file mode 100644
index 0b6e76f..0000000
--- a/env2/lib/python2.7/site-packages/compose/GITSHA
+++ /dev/null
@@ -1 +0,0 @@
-94f7016
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/__init__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/__init__.py b/env2/lib/python2.7/site-packages/compose/__init__.py
deleted file mode 100644
index c550f99..0000000
--- a/env2/lib/python2.7/site-packages/compose/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-__version__ = '1.8.0'
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/__main__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/__main__.py b/env2/lib/python2.7/site-packages/compose/__main__.py
deleted file mode 100644
index 27a7acb..0000000
--- a/env2/lib/python2.7/site-packages/compose/__main__.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-from compose.cli.main import main
-
-main()
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/bundle.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/bundle.py b/env2/lib/python2.7/site-packages/compose/bundle.py
deleted file mode 100644
index afbdabf..0000000
--- a/env2/lib/python2.7/site-packages/compose/bundle.py
+++ /dev/null
@@ -1,257 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import json
-import logging
-
-import six
-from docker.utils import split_command
-from docker.utils.ports import split_port
-
-from .cli.errors import UserError
-from .config.serialize import denormalize_config
-from .network import get_network_defs_for_service
-from .service import format_environment
-from .service import NoSuchImageError
-from .service import parse_repository_tag
-
-
-log = logging.getLogger(__name__)
-
-
-SERVICE_KEYS = {
- 'working_dir': 'WorkingDir',
- 'user': 'User',
- 'labels': 'Labels',
-}
-
-IGNORED_KEYS = {'build'}
-
-SUPPORTED_KEYS = {
- 'image',
- 'ports',
- 'expose',
- 'networks',
- 'command',
- 'environment',
- 'entrypoint',
-} | set(SERVICE_KEYS)
-
-VERSION = '0.1'
-
-
-class NeedsPush(Exception):
- def __init__(self, image_name):
- self.image_name = image_name
-
-
-class NeedsPull(Exception):
- def __init__(self, image_name):
- self.image_name = image_name
-
-
-class MissingDigests(Exception):
- def __init__(self, needs_push, needs_pull):
- self.needs_push = needs_push
- self.needs_pull = needs_pull
-
-
-def serialize_bundle(config, image_digests):
- return json.dumps(to_bundle(config, image_digests), indent=2, sort_keys=True)
-
-
-def get_image_digests(project, allow_push=False):
- digests = {}
- needs_push = set()
- needs_pull = set()
-
- for service in project.services:
- try:
- digests[service.name] = get_image_digest(
- service,
- allow_push=allow_push,
- )
- except NeedsPush as e:
- needs_push.add(e.image_name)
- except NeedsPull as e:
- needs_pull.add(e.image_name)
-
- if needs_push or needs_pull:
- raise MissingDigests(needs_push, needs_pull)
-
- return digests
-
-
-def get_image_digest(service, allow_push=False):
- if 'image' not in service.options:
- raise UserError(
- "Service '{s.name}' doesn't define an image tag. An image name is "
- "required to generate a proper image digest for the bundle. Specify "
- "an image repo and tag with the 'image' option.".format(s=service))
-
- _, _, separator = parse_repository_tag(service.options['image'])
- # Compose file already uses a digest, no lookup required
- if separator == '@':
- return service.options['image']
-
- try:
- image = service.image()
- except NoSuchImageError:
- action = 'build' if 'build' in service.options else 'pull'
- raise UserError(
- "Image not found for service '{service}'. "
- "You might need to run `docker-compose {action} {service}`."
- .format(service=service.name, action=action))
-
- if image['RepoDigests']:
- # TODO: pick a digest based on the image tag if there are multiple
- # digests
- return image['RepoDigests'][0]
-
- if 'build' not in service.options:
- raise NeedsPull(service.image_name)
-
- if not allow_push:
- raise NeedsPush(service.image_name)
-
- return push_image(service)
-
-
-def push_image(service):
- try:
- digest = service.push()
- except:
- log.error(
- "Failed to push image for service '{s.name}'. Please use an "
- "image tag that can be pushed to a Docker "
- "registry.".format(s=service))
- raise
-
- if not digest:
- raise ValueError("Failed to get digest for %s" % service.name)
-
- repo, _, _ = parse_repository_tag(service.options['image'])
- identifier = '{repo}@{digest}'.format(repo=repo, digest=digest)
-
- # only do this if RepoDigests isn't already populated
- image = service.image()
- if not image['RepoDigests']:
- # Pull by digest so that image['RepoDigests'] is populated for next time
- # and we don't have to pull/push again
- service.client.pull(identifier)
- log.info("Stored digest for {}".format(service.image_name))
-
- return identifier
-
-
-def to_bundle(config, image_digests):
- if config.networks:
- log.warn("Unsupported top level key 'networks' - ignoring")
-
- if config.volumes:
- log.warn("Unsupported top level key 'volumes' - ignoring")
-
- config = denormalize_config(config)
-
- return {
- 'Version': VERSION,
- 'Services': {
- name: convert_service_to_bundle(
- name,
- service_dict,
- image_digests[name],
- )
- for name, service_dict in config['services'].items()
- },
- }
-
-
-def convert_service_to_bundle(name, service_dict, image_digest):
- container_config = {'Image': image_digest}
-
- for key, value in service_dict.items():
- if key in IGNORED_KEYS:
- continue
-
- if key not in SUPPORTED_KEYS:
- log.warn("Unsupported key '{}' in services.{} - ignoring".format(key, name))
- continue
-
- if key == 'environment':
- container_config['Env'] = format_environment({
- envkey: envvalue for envkey, envvalue in value.items()
- if envvalue
- })
- continue
-
- if key in SERVICE_KEYS:
- container_config[SERVICE_KEYS[key]] = value
- continue
-
- set_command_and_args(
- container_config,
- service_dict.get('entrypoint', []),
- service_dict.get('command', []))
- container_config['Networks'] = make_service_networks(name, service_dict)
-
- ports = make_port_specs(service_dict)
- if ports:
- container_config['Ports'] = ports
-
- return container_config
-
-
-# See https://github.com/docker/swarmkit/blob//agent/exec/container/container.go#L95
-def set_command_and_args(config, entrypoint, command):
- if isinstance(entrypoint, six.string_types):
- entrypoint = split_command(entrypoint)
- if isinstance(command, six.string_types):
- command = split_command(command)
-
- if entrypoint:
- config['Command'] = entrypoint + command
- return
-
- if command:
- config['Args'] = command
-
-
-def make_service_networks(name, service_dict):
- networks = []
-
- for network_name, network_def in get_network_defs_for_service(service_dict).items():
- for key in network_def.keys():
- log.warn(
- "Unsupported key '{}' in services.{}.networks.{} - ignoring"
- .format(key, name, network_name))
-
- networks.append(network_name)
-
- return networks
-
-
-def make_port_specs(service_dict):
- ports = []
-
- internal_ports = [
- internal_port
- for port_def in service_dict.get('ports', [])
- for internal_port in split_port(port_def)[0]
- ]
-
- internal_ports += service_dict.get('expose', [])
-
- for internal_port in internal_ports:
- spec = make_port_spec(internal_port)
- if spec not in ports:
- ports.append(spec)
-
- return ports
-
-
-def make_port_spec(value):
- components = six.text_type(value).partition('/')
- return {
- 'Protocol': components[2] or 'tcp',
- 'Port': int(components[0]),
- }
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/__init__.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/__init__.py b/env2/lib/python2.7/site-packages/compose/cli/__init__.py
deleted file mode 100644
index e69de29..0000000
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/colors.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/colors.py b/env2/lib/python2.7/site-packages/compose/cli/colors.py
deleted file mode 100644
index 3c18886..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/colors.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-NAMES = [
- 'grey',
- 'red',
- 'green',
- 'yellow',
- 'blue',
- 'magenta',
- 'cyan',
- 'white'
-]
-
-
-def get_pairs():
- for i, name in enumerate(NAMES):
- yield(name, str(30 + i))
- yield('intense_' + name, str(30 + i) + ';1')
-
-
-def ansi(code):
- return '\033[{0}m'.format(code)
-
-
-def ansi_color(code, s):
- return '{0}{1}{2}'.format(ansi(code), s, ansi(0))
-
-
-def make_color_fn(code):
- return lambda s: ansi_color(code, s)
-
-
-for (name, code) in get_pairs():
- globals()[name] = make_color_fn(code)
-
-
-def rainbow():
- cs = ['cyan', 'yellow', 'green', 'magenta', 'red', 'blue',
- 'intense_cyan', 'intense_yellow', 'intense_green',
- 'intense_magenta', 'intense_red', 'intense_blue']
-
- for c in cs:
- yield globals()[c]
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/command.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/command.py b/env2/lib/python2.7/site-packages/compose/cli/command.py
deleted file mode 100644
index 2c70d31..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/command.py
+++ /dev/null
@@ -1,130 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import logging
-import os
-import re
-import ssl
-
-import six
-
-from . import verbose_proxy
-from .. import config
-from ..config.environment import Environment
-from ..const import API_VERSIONS
-from ..project import Project
-from .docker_client import docker_client
-from .docker_client import tls_config_from_options
-from .utils import get_version_info
-
-log = logging.getLogger(__name__)
-
-
-def project_from_options(project_dir, options):
- environment = Environment.from_env_file(project_dir)
- host = options.get('--host')
- if host is not None:
- host = host.lstrip('=')
- return get_project(
- project_dir,
- get_config_path_from_options(project_dir, options, environment),
- project_name=options.get('--project-name'),
- verbose=options.get('--verbose'),
- host=host,
- tls_config=tls_config_from_options(options),
- environment=environment
- )
-
-
-def get_config_from_options(base_dir, options):
- environment = Environment.from_env_file(base_dir)
- config_path = get_config_path_from_options(
- base_dir, options, environment
- )
- return config.load(
- config.find(base_dir, config_path, environment)
- )
-
-
-def get_config_path_from_options(base_dir, options, environment):
- file_option = options.get('--file')
- if file_option:
- return file_option
-
- config_files = environment.get('COMPOSE_FILE')
- if config_files:
- return config_files.split(os.pathsep)
- return None
-
-
-def get_tls_version(environment):
- compose_tls_version = environment.get('COMPOSE_TLS_VERSION', None)
- if not compose_tls_version:
- return None
-
- tls_attr_name = "PROTOCOL_{}".format(compose_tls_version)
- if not hasattr(ssl, tls_attr_name):
- log.warn(
- 'The "{}" protocol is unavailable. You may need to update your '
- 'version of Python or OpenSSL. Falling back to TLSv1 (default).'
- .format(compose_tls_version)
- )
- return None
-
- return getattr(ssl, tls_attr_name)
-
-
-def get_client(environment, verbose=False, version=None, tls_config=None, host=None,
- tls_version=None):
-
- client = docker_client(
- version=version, tls_config=tls_config, host=host,
- environment=environment, tls_version=get_tls_version(environment)
- )
- if verbose:
- version_info = six.iteritems(client.version())
- log.info(get_version_info('full'))
- log.info("Docker base_url: %s", client.base_url)
- log.info("Docker version: %s",
- ", ".join("%s=%s" % item for item in version_info))
- return verbose_proxy.VerboseProxy('docker', client)
- return client
-
-
-def get_project(project_dir, config_path=None, project_name=None, verbose=False,
- host=None, tls_config=None, environment=None):
- if not environment:
- environment = Environment.from_env_file(project_dir)
- config_details = config.find(project_dir, config_path, environment)
- project_name = get_project_name(
- config_details.working_dir, project_name, environment
- )
- config_data = config.load(config_details)
-
- api_version = environment.get(
- 'COMPOSE_API_VERSION',
- API_VERSIONS[config_data.version])
-
- client = get_client(
- verbose=verbose, version=api_version, tls_config=tls_config,
- host=host, environment=environment
- )
-
- return Project.from_config(project_name, config_data, client)
-
-
-def get_project_name(working_dir, project_name=None, environment=None):
- def normalize_name(name):
- return re.sub(r'[^a-z0-9]', '', name.lower())
-
- if not environment:
- environment = Environment.from_env_file(working_dir)
- project_name = project_name or environment.get('COMPOSE_PROJECT_NAME')
- if project_name:
- return normalize_name(project_name)
-
- project = os.path.basename(os.path.abspath(working_dir))
- if project:
- return normalize_name(project)
-
- return 'default'
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/docker_client.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/docker_client.py b/env2/lib/python2.7/site-packages/compose/cli/docker_client.py
deleted file mode 100644
index ce191fb..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/docker_client.py
+++ /dev/null
@@ -1,73 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import logging
-
-from docker import Client
-from docker.errors import TLSParameterError
-from docker.tls import TLSConfig
-from docker.utils import kwargs_from_env
-
-from ..const import HTTP_TIMEOUT
-from .errors import UserError
-from .utils import generate_user_agent
-
-log = logging.getLogger(__name__)
-
-
-def tls_config_from_options(options):
- tls = options.get('--tls', False)
- ca_cert = options.get('--tlscacert')
- cert = options.get('--tlscert')
- key = options.get('--tlskey')
- verify = options.get('--tlsverify')
- skip_hostname_check = options.get('--skip-hostname-check', False)
-
- advanced_opts = any([ca_cert, cert, key, verify])
-
- if tls is True and not advanced_opts:
- return True
- elif advanced_opts: # --tls is a noop
- client_cert = None
- if cert or key:
- client_cert = (cert, key)
-
- return TLSConfig(
- client_cert=client_cert, verify=verify, ca_cert=ca_cert,
- assert_hostname=False if skip_hostname_check else None
- )
-
- return None
-
-
-def docker_client(environment, version=None, tls_config=None, host=None,
- tls_version=None):
- """
- Returns a docker-py client configured using environment variables
- according to the same logic as the official Docker client.
- """
- try:
- kwargs = kwargs_from_env(environment=environment, ssl_version=tls_version)
- except TLSParameterError:
- raise UserError(
- "TLS configuration is invalid - make sure your DOCKER_TLS_VERIFY "
- "and DOCKER_CERT_PATH are set correctly.\n"
- "You might need to run `eval \"$(docker-machine env default)\"`")
-
- if host:
- kwargs['base_url'] = host
- if tls_config:
- kwargs['tls'] = tls_config
-
- if version:
- kwargs['version'] = version
-
- timeout = environment.get('COMPOSE_HTTP_TIMEOUT')
- if timeout:
- kwargs['timeout'] = int(timeout)
- else:
- kwargs['timeout'] = HTTP_TIMEOUT
-
- kwargs['user_agent'] = generate_user_agent()
-
- return Client(**kwargs)
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/docopt_command.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/docopt_command.py b/env2/lib/python2.7/site-packages/compose/cli/docopt_command.py
deleted file mode 100644
index 809a4b7..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/docopt_command.py
+++ /dev/null
@@ -1,59 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-from inspect import getdoc
-
-from docopt import docopt
-from docopt import DocoptExit
-
-
-def docopt_full_help(docstring, *args, **kwargs):
- try:
- return docopt(docstring, *args, **kwargs)
- except DocoptExit:
- raise SystemExit(docstring)
-
-
-class DocoptDispatcher(object):
-
- def __init__(self, command_class, options):
- self.command_class = command_class
- self.options = options
-
- def parse(self, argv):
- command_help = getdoc(self.command_class)
- options = docopt_full_help(command_help, argv, **self.options)
- command = options['COMMAND']
-
- if command is None:
- raise SystemExit(command_help)
-
- handler = get_handler(self.command_class, command)
- docstring = getdoc(handler)
-
- if docstring is None:
- raise NoSuchCommand(command, self)
-
- command_options = docopt_full_help(docstring, options['ARGS'], options_first=True)
- return options, handler, command_options
-
-
-def get_handler(command_class, command):
- command = command.replace('-', '_')
- # we certainly want to have "exec" command, since that's what docker client has
- # but in python exec is a keyword
- if command == "exec":
- command = "exec_command"
-
- if not hasattr(command_class, command):
- raise NoSuchCommand(command, command_class)
-
- return getattr(command_class, command)
-
-
-class NoSuchCommand(Exception):
- def __init__(self, command, supercommand):
- super(NoSuchCommand, self).__init__("No such command: %s" % command)
-
- self.command = command
- self.supercommand = supercommand
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/errors.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/errors.py b/env2/lib/python2.7/site-packages/compose/cli/errors.py
deleted file mode 100644
index 5af3ede..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/errors.py
+++ /dev/null
@@ -1,139 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import contextlib
-import logging
-import socket
-from textwrap import dedent
-
-from docker.errors import APIError
-from requests.exceptions import ConnectionError as RequestsConnectionError
-from requests.exceptions import ReadTimeout
-from requests.exceptions import SSLError
-from requests.packages.urllib3.exceptions import ReadTimeoutError
-
-from ..const import API_VERSION_TO_ENGINE_VERSION
-from .utils import call_silently
-from .utils import is_docker_for_mac_installed
-from .utils import is_mac
-from .utils import is_ubuntu
-
-
-log = logging.getLogger(__name__)
-
-
-class UserError(Exception):
-
- def __init__(self, msg):
- self.msg = dedent(msg).strip()
-
- def __unicode__(self):
- return self.msg
-
- __str__ = __unicode__
-
-
-class ConnectionError(Exception):
- pass
-
-
-@contextlib.contextmanager
-def handle_connection_errors(client):
- try:
- yield
- except SSLError as e:
- log.error('SSL error: %s' % e)
- raise ConnectionError()
- except RequestsConnectionError as e:
- if e.args and isinstance(e.args[0], ReadTimeoutError):
- log_timeout_error(client.timeout)
- raise ConnectionError()
- exit_with_error(get_conn_error_message(client.base_url))
- except APIError as e:
- log_api_error(e, client.api_version)
- raise ConnectionError()
- except (ReadTimeout, socket.timeout) as e:
- log_timeout_error()
- raise ConnectionError()
-
-
-def log_timeout_error(timeout):
- log.error(
- "An HTTP request took too long to complete. Retry with --verbose to "
- "obtain debug information.\n"
- "If you encounter this issue regularly because of slow network "
- "conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher "
- "value (current value: %s)." % timeout)
-
-
-def log_api_error(e, client_version):
- if b'client is newer than server' not in e.explanation:
- log.error(e.explanation)
- return
-
- version = API_VERSION_TO_ENGINE_VERSION.get(client_version)
- if not version:
- # They've set a custom API version
- log.error(e.explanation)
- return
-
- log.error(
- "The Docker Engine version is less than the minimum required by "
- "Compose. Your current project requires a Docker Engine of "
- "version {version} or greater.".format(version=version))
-
-
-def exit_with_error(msg):
- log.error(dedent(msg).strip())
- raise ConnectionError()
-
-
-def get_conn_error_message(url):
- if call_silently(['which', 'docker']) != 0:
- if is_mac():
- return docker_not_found_mac
- if is_ubuntu():
- return docker_not_found_ubuntu
- return docker_not_found_generic
- if is_docker_for_mac_installed():
- return conn_error_docker_for_mac
- if call_silently(['which', 'docker-machine']) == 0:
- return conn_error_docker_machine
- return conn_error_generic.format(url=url)
-
-
-docker_not_found_mac = """
- Couldn't connect to Docker daemon. You might need to install Docker:
-
- https://docs.docker.com/engine/installation/mac/
-"""
-
-
-docker_not_found_ubuntu = """
- Couldn't connect to Docker daemon. You might need to install Docker:
-
- https://docs.docker.com/engine/installation/ubuntulinux/
-"""
-
-
-docker_not_found_generic = """
- Couldn't connect to Docker daemon. You might need to install Docker:
-
- https://docs.docker.com/engine/installation/
-"""
-
-
-conn_error_docker_machine = """
- Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
-"""
-
-conn_error_docker_for_mac = """
- Couldn't connect to Docker daemon. You might need to start Docker for Mac.
-"""
-
-
-conn_error_generic = """
- Couldn't connect to Docker daemon at {url} - is it running?
-
- If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
-"""
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/formatter.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/formatter.py b/env2/lib/python2.7/site-packages/compose/cli/formatter.py
deleted file mode 100644
index d0ed0f8..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/formatter.py
+++ /dev/null
@@ -1,48 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import logging
-import os
-
-import texttable
-
-from compose.cli import colors
-
-
-def get_tty_width():
- tty_size = os.popen('stty size', 'r').read().split()
- if len(tty_size) != 2:
- return 0
- _, width = tty_size
- return int(width)
-
-
-class Formatter(object):
- """Format tabular data for printing."""
- def table(self, headers, rows):
- table = texttable.Texttable(max_width=get_tty_width())
- table.set_cols_dtype(['t' for h in headers])
- table.add_rows([headers] + rows)
- table.set_deco(table.HEADER)
- table.set_chars(['-', '|', '+', '-'])
-
- return table.draw()
-
-
-class ConsoleWarningFormatter(logging.Formatter):
- """A logging.Formatter which prints WARNING and ERROR messages with
- a prefix of the log level colored appropriate for the log level.
- """
-
- def get_level_message(self, record):
- separator = ': '
- if record.levelno == logging.WARNING:
- return colors.yellow(record.levelname) + separator
- if record.levelno == logging.ERROR:
- return colors.red(record.levelname) + separator
-
- return ''
-
- def format(self, record):
- message = super(ConsoleWarningFormatter, self).format(record)
- return self.get_level_message(record) + message
http://git-wip-us.apache.org/repos/asf/incubator-senssoft-tap/blob/6a81d1e7/env2/lib/python2.7/site-packages/compose/cli/log_printer.py
----------------------------------------------------------------------
diff --git a/env2/lib/python2.7/site-packages/compose/cli/log_printer.py b/env2/lib/python2.7/site-packages/compose/cli/log_printer.py
deleted file mode 100644
index b48462f..0000000
--- a/env2/lib/python2.7/site-packages/compose/cli/log_printer.py
+++ /dev/null
@@ -1,230 +0,0 @@
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-import sys
-from collections import namedtuple
-from itertools import cycle
-from threading import Thread
-
-from six.moves import _thread as thread
-from six.moves.queue import Empty
-from six.moves.queue import Queue
-
-from . import colors
-from compose import utils
-from compose.cli.signals import ShutdownException
-from compose.utils import split_buffer
-
-
-class LogPresenter(object):
-
- def __init__(self, prefix_width, color_func):
- self.prefix_width = prefix_width
- self.color_func = color_func
-
- def present(self, container, line):
- prefix = container.name_without_project.ljust(self.prefix_width)
- return '{prefix} {line}'.format(
- prefix=self.color_func(prefix + ' |'),
- line=line)
-
-
-def build_log_presenters(service_names, monochrome):
- """Return an iterable of functions.
-
- Each function can be used to format the logs output of a container.
- """
- prefix_width = max_name_width(service_names)
-
- def no_color(text):
- return text
-
- for color_func in cycle([no_color] if monochrome else colors.rainbow()):
- yield LogPresenter(prefix_width, color_func)
-
-
-def max_name_width(service_names, max_index_width=3):
- """Calculate the maximum width of container names so we can make the log
- prefixes line up like so:
-
- db_1 | Listening
- web_1 | Listening
- """
- return max(len(name) for name in service_names) + max_index_width
-
-
-class LogPrinter(object):
- """Print logs from many containers to a single output stream."""
-
- def __init__(self,
- containers,
- presenters,
- event_stream,
- output=sys.stdout,
- cascade_stop=False,
- log_args=None):
- self.containers = containers
- self.presenters = presenters
- self.event_stream = event_stream
- self.output = utils.get_output_stream(output)
- self.cascade_stop = cascade_stop
- self.log_args = log_args or {}
-
- def run(self):
- if not self.containers:
- return
-
- queue = Queue()
- thread_args = queue, self.log_args
- thread_map = build_thread_map(self.containers, self.presenters, thread_args)
- start_producer_thread((
- thread_map,
- self.event_stream,
- self.presenters,
- thread_args))
-
- for line in consume_queue(queue, self.cascade_stop):
- remove_stopped_threads(thread_map)
-
- if not line:
- if not thread_map:
- # There are no running containers left to tail, so exit
- return
- # We got an empty line because of a timeout, but there are still
- # active containers to tail, so continue
- continue
-
- self.output.write(line)
- self.output.flush()
-
-
-def remove_stopped_threads(thread_map):
- for container_id, tailer_thread in list(thread_map.items()):
- if not tailer_thread.is_alive():
- thread_map.pop(container_id, None)
-
-
-def build_thread(container, presenter, queue, log_args):
- tailer = Thread(
- target=tail_container_logs,
- args=(container, presenter, queue, log_args))
- tailer.daemon = True
- tailer.start()
- return tailer
-
-
-def build_thread_map(initial_containers, presenters, thread_args):
- return {
- container.id: build_thread(container, next(presenters), *thread_args)
- for container in initial_containers
- }
-
-
-class QueueItem(namedtuple('_QueueItem', 'item is_stop exc')):
-
- @classmethod
- def new(cls, item):
- return cls(item, None, None)
-
- @classmethod
- def exception(cls, exc):
- return cls(None, None, exc)
-
- @classmethod
- def stop(cls):
- return cls(None, True, None)
-
-
-def tail_container_logs(container, presenter, queue, log_args):
- generator = get_log_generator(container)
-
- try:
- for item in generator(container, log_args):
- queue.put(QueueItem.new(presenter.present(container, item)))
- except Exception as e:
- queue.put(QueueItem.exception(e))
- return
-
- if log_args.get('follow'):
- queue.put(QueueItem.new(presenter.color_func(wait_on_exit(container))))
- queue.put(QueueItem.stop())
-
-
-def get_log_generator(container):
- if container.has_api_logs:
- return build_log_generator
- return build_no_log_generator
-
-
-def build_no_log_generator(container, log_args):
- """Return a generator that prints a warning about logs and waits for
- container to exit.
- """
- yield "WARNING: no logs are available with the '{}' log driver\n".format(
- container.log_driver)
-
-
-def build_log_generator(container, log_args):
- # if the container doesn't have a log_stream we need to attach to container
- # before log printer starts running
- if container.log_stream is None:
- stream = container.logs(stdout=True, stderr=True, stream=True, **log_args)
- else:
- stream = container.log_stream
-
- return split_buffer(stream)
-
-
-def wait_on_exit(container):
- exit_code = container.wait()
- return "%s exited with code %s\n" % (container.name, exit_code)
-
-
-def start_producer_thread(thread_args):
- producer = Thread(target=watch_events, args=thread_args)
- producer.daemon = True
- producer.start()
-
-
-def watch_events(thread_map, event_stream, presenters, thread_args):
- for event in event_stream:
- if event['action'] == 'stop':
- thread_map.pop(event['id'], None)
-
- if event['action'] != 'start':
- continue
-
- if event['id'] in thread_map:
- if thread_map[event['id']].is_alive():
- continue
- # Container was stopped and started, we need a new thread
- thread_map.pop(event['id'], None)
-
- thread_map[event['id']] = build_thread(
- event['container'],
- next(presenters),
- *thread_args)
-
-
-def consume_queue(queue, cascade_stop):
- """Consume the queue by reading lines off of it and yielding them."""
- while True:
- try:
- item = queue.get(timeout=0.1)
- except Empty:
- yield None
- continue
- # See https://github.com/docker/compose/issues/189
- except thread.error:
- raise ShutdownException()
-
- if item.exc:
- raise item.exc
-
- if item.is_stop:
- if cascade_stop:
- raise StopIteration
- else:
- continue
-
- yield item.item