rigid 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/bin/rigid +4 -0
- data/rigid +16 -0
- data/vendor/PyYAML-3.12.dist-info/DESCRIPTION.rst +12 -0
- data/vendor/PyYAML-3.12.dist-info/INSTALLER +1 -0
- data/vendor/PyYAML-3.12.dist-info/METADATA +35 -0
- data/vendor/PyYAML-3.12.dist-info/RECORD +42 -0
- data/vendor/PyYAML-3.12.dist-info/WHEEL +5 -0
- data/vendor/PyYAML-3.12.dist-info/metadata.json +1 -0
- data/vendor/PyYAML-3.12.dist-info/top_level.txt +2 -0
- data/vendor/_yaml.so +0 -0
- data/vendor/click/__init__.py +98 -0
- data/vendor/click/__init__.pyc +0 -0
- data/vendor/click/_bashcomplete.py +83 -0
- data/vendor/click/_bashcomplete.pyc +0 -0
- data/vendor/click/_compat.py +642 -0
- data/vendor/click/_compat.pyc +0 -0
- data/vendor/click/_termui_impl.py +547 -0
- data/vendor/click/_termui_impl.pyc +0 -0
- data/vendor/click/_textwrap.py +38 -0
- data/vendor/click/_textwrap.pyc +0 -0
- data/vendor/click/_unicodefun.py +119 -0
- data/vendor/click/_unicodefun.pyc +0 -0
- data/vendor/click/_winconsole.py +273 -0
- data/vendor/click/_winconsole.pyc +0 -0
- data/vendor/click/core.py +1738 -0
- data/vendor/click/core.pyc +0 -0
- data/vendor/click/decorators.py +304 -0
- data/vendor/click/decorators.pyc +0 -0
- data/vendor/click/exceptions.py +201 -0
- data/vendor/click/exceptions.pyc +0 -0
- data/vendor/click/formatting.py +256 -0
- data/vendor/click/formatting.pyc +0 -0
- data/vendor/click/globals.py +48 -0
- data/vendor/click/globals.pyc +0 -0
- data/vendor/click/parser.py +426 -0
- data/vendor/click/parser.pyc +0 -0
- data/vendor/click/termui.py +539 -0
- data/vendor/click/termui.pyc +0 -0
- data/vendor/click/testing.py +322 -0
- data/vendor/click/testing.pyc +0 -0
- data/vendor/click/types.py +550 -0
- data/vendor/click/types.pyc +0 -0
- data/vendor/click/utils.py +415 -0
- data/vendor/click/utils.pyc +0 -0
- data/vendor/click-6.6.dist-info/DESCRIPTION.rst +3 -0
- data/vendor/click-6.6.dist-info/INSTALLER +1 -0
- data/vendor/click-6.6.dist-info/METADATA +16 -0
- data/vendor/click-6.6.dist-info/RECORD +41 -0
- data/vendor/click-6.6.dist-info/WHEEL +6 -0
- data/vendor/click-6.6.dist-info/metadata.json +1 -0
- data/vendor/click-6.6.dist-info/top_level.txt +1 -0
- data/vendor/easy_install.py +5 -0
- data/vendor/easy_install.pyc +0 -0
- data/vendor/pip-9.0.1.dist-info/DESCRIPTION.rst +39 -0
- data/vendor/pip-9.0.1.dist-info/INSTALLER +1 -0
- data/vendor/pip-9.0.1.dist-info/METADATA +69 -0
- data/vendor/pip-9.0.1.dist-info/RECORD +501 -0
- data/vendor/pip-9.0.1.dist-info/WHEEL +6 -0
- data/vendor/pip-9.0.1.dist-info/entry_points.txt +5 -0
- data/vendor/pip-9.0.1.dist-info/metadata.json +1 -0
- data/vendor/pip-9.0.1.dist-info/top_level.txt +1 -0
- data/vendor/pkg_resources/__init__.py +3051 -0
- data/vendor/pkg_resources/__init__.pyc +0 -0
- data/vendor/pkg_resources/_vendor/__init__.py +0 -0
- data/vendor/pkg_resources/_vendor/__init__.pyc +0 -0
- data/vendor/pkg_resources/_vendor/appdirs.py +552 -0
- data/vendor/pkg_resources/_vendor/appdirs.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/__about__.py +21 -0
- data/vendor/pkg_resources/_vendor/packaging/__about__.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/__init__.py +14 -0
- data/vendor/pkg_resources/_vendor/packaging/__init__.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/_compat.py +30 -0
- data/vendor/pkg_resources/_vendor/packaging/_compat.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/_structures.py +68 -0
- data/vendor/pkg_resources/_vendor/packaging/_structures.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/markers.py +287 -0
- data/vendor/pkg_resources/_vendor/packaging/markers.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/requirements.py +127 -0
- data/vendor/pkg_resources/_vendor/packaging/requirements.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/specifiers.py +774 -0
- data/vendor/pkg_resources/_vendor/packaging/specifiers.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/utils.py +14 -0
- data/vendor/pkg_resources/_vendor/packaging/utils.pyc +0 -0
- data/vendor/pkg_resources/_vendor/packaging/version.py +393 -0
- data/vendor/pkg_resources/_vendor/packaging/version.pyc +0 -0
- data/vendor/pkg_resources/_vendor/pyparsing.py +5696 -0
- data/vendor/pkg_resources/_vendor/pyparsing.pyc +0 -0
- data/vendor/pkg_resources/_vendor/six.py +868 -0
- data/vendor/pkg_resources/_vendor/six.pyc +0 -0
- data/vendor/pkg_resources/extern/__init__.py +73 -0
- data/vendor/pkg_resources/extern/__init__.pyc +0 -0
- data/vendor/requests/__init__.py +86 -0
- data/vendor/requests/__init__.pyc +0 -0
- data/vendor/requests/adapters.py +503 -0
- data/vendor/requests/adapters.pyc +0 -0
- data/vendor/requests/api.py +148 -0
- data/vendor/requests/api.pyc +0 -0
- data/vendor/requests/auth.py +252 -0
- data/vendor/requests/auth.pyc +0 -0
- data/vendor/requests/cacert.pem +5616 -0
- data/vendor/requests/certs.py +25 -0
- data/vendor/requests/certs.pyc +0 -0
- data/vendor/requests/compat.py +66 -0
- data/vendor/requests/compat.pyc +0 -0
- data/vendor/requests/cookies.py +540 -0
- data/vendor/requests/cookies.pyc +0 -0
- data/vendor/requests/exceptions.py +114 -0
- data/vendor/requests/exceptions.pyc +0 -0
- data/vendor/requests/hooks.py +34 -0
- data/vendor/requests/hooks.pyc +0 -0
- data/vendor/requests/models.py +873 -0
- data/vendor/requests/models.pyc +0 -0
- data/vendor/requests/packages/__init__.py +36 -0
- data/vendor/requests/packages/__init__.pyc +0 -0
- data/vendor/requests/packages/chardet/__init__.py +32 -0
- data/vendor/requests/packages/chardet/__init__.pyc +0 -0
- data/vendor/requests/packages/chardet/big5freq.py +925 -0
- data/vendor/requests/packages/chardet/big5freq.pyc +0 -0
- data/vendor/requests/packages/chardet/big5prober.py +42 -0
- data/vendor/requests/packages/chardet/big5prober.pyc +0 -0
- data/vendor/requests/packages/chardet/chardetect.py +80 -0
- data/vendor/requests/packages/chardet/chardetect.pyc +0 -0
- data/vendor/requests/packages/chardet/chardistribution.py +231 -0
- data/vendor/requests/packages/chardet/chardistribution.pyc +0 -0
- data/vendor/requests/packages/chardet/charsetgroupprober.py +106 -0
- data/vendor/requests/packages/chardet/charsetgroupprober.pyc +0 -0
- data/vendor/requests/packages/chardet/charsetprober.py +62 -0
- data/vendor/requests/packages/chardet/charsetprober.pyc +0 -0
- data/vendor/requests/packages/chardet/codingstatemachine.py +61 -0
- data/vendor/requests/packages/chardet/codingstatemachine.pyc +0 -0
- data/vendor/requests/packages/chardet/compat.py +34 -0
- data/vendor/requests/packages/chardet/compat.pyc +0 -0
- data/vendor/requests/packages/chardet/constants.py +39 -0
- data/vendor/requests/packages/chardet/constants.pyc +0 -0
- data/vendor/requests/packages/chardet/cp949prober.py +44 -0
- data/vendor/requests/packages/chardet/cp949prober.pyc +0 -0
- data/vendor/requests/packages/chardet/escprober.py +86 -0
- data/vendor/requests/packages/chardet/escprober.pyc +0 -0
- data/vendor/requests/packages/chardet/escsm.py +242 -0
- data/vendor/requests/packages/chardet/escsm.pyc +0 -0
- data/vendor/requests/packages/chardet/eucjpprober.py +90 -0
- data/vendor/requests/packages/chardet/eucjpprober.pyc +0 -0
- data/vendor/requests/packages/chardet/euckrfreq.py +596 -0
- data/vendor/requests/packages/chardet/euckrfreq.pyc +0 -0
- data/vendor/requests/packages/chardet/euckrprober.py +42 -0
- data/vendor/requests/packages/chardet/euckrprober.pyc +0 -0
- data/vendor/requests/packages/chardet/euctwfreq.py +428 -0
- data/vendor/requests/packages/chardet/euctwfreq.pyc +0 -0
- data/vendor/requests/packages/chardet/euctwprober.py +41 -0
- data/vendor/requests/packages/chardet/euctwprober.pyc +0 -0
- data/vendor/requests/packages/chardet/gb2312freq.py +472 -0
- data/vendor/requests/packages/chardet/gb2312freq.pyc +0 -0
- data/vendor/requests/packages/chardet/gb2312prober.py +41 -0
- data/vendor/requests/packages/chardet/gb2312prober.pyc +0 -0
- data/vendor/requests/packages/chardet/hebrewprober.py +283 -0
- data/vendor/requests/packages/chardet/hebrewprober.pyc +0 -0
- data/vendor/requests/packages/chardet/jisfreq.py +569 -0
- data/vendor/requests/packages/chardet/jisfreq.pyc +0 -0
- data/vendor/requests/packages/chardet/jpcntx.py +227 -0
- data/vendor/requests/packages/chardet/jpcntx.pyc +0 -0
- data/vendor/requests/packages/chardet/langbulgarianmodel.py +229 -0
- data/vendor/requests/packages/chardet/langbulgarianmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langcyrillicmodel.py +329 -0
- data/vendor/requests/packages/chardet/langcyrillicmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langgreekmodel.py +225 -0
- data/vendor/requests/packages/chardet/langgreekmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langhebrewmodel.py +201 -0
- data/vendor/requests/packages/chardet/langhebrewmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langhungarianmodel.py +225 -0
- data/vendor/requests/packages/chardet/langhungarianmodel.pyc +0 -0
- data/vendor/requests/packages/chardet/langthaimodel.py +200 -0
- data/vendor/requests/packages/chardet/langthaimodel.pyc +0 -0
- data/vendor/requests/packages/chardet/latin1prober.py +139 -0
- data/vendor/requests/packages/chardet/latin1prober.pyc +0 -0
- data/vendor/requests/packages/chardet/mbcharsetprober.py +86 -0
- data/vendor/requests/packages/chardet/mbcharsetprober.pyc +0 -0
- data/vendor/requests/packages/chardet/mbcsgroupprober.py +54 -0
- data/vendor/requests/packages/chardet/mbcsgroupprober.pyc +0 -0
- data/vendor/requests/packages/chardet/mbcssm.py +572 -0
- data/vendor/requests/packages/chardet/mbcssm.pyc +0 -0
- data/vendor/requests/packages/chardet/sbcharsetprober.py +120 -0
- data/vendor/requests/packages/chardet/sbcharsetprober.pyc +0 -0
- data/vendor/requests/packages/chardet/sbcsgroupprober.py +69 -0
- data/vendor/requests/packages/chardet/sbcsgroupprober.pyc +0 -0
- data/vendor/requests/packages/chardet/sjisprober.py +91 -0
- data/vendor/requests/packages/chardet/sjisprober.pyc +0 -0
- data/vendor/requests/packages/chardet/universaldetector.py +170 -0
- data/vendor/requests/packages/chardet/universaldetector.pyc +0 -0
- data/vendor/requests/packages/chardet/utf8prober.py +76 -0
- data/vendor/requests/packages/chardet/utf8prober.pyc +0 -0
- data/vendor/requests/packages/urllib3/__init__.py +96 -0
- data/vendor/requests/packages/urllib3/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/_collections.py +324 -0
- data/vendor/requests/packages/urllib3/_collections.pyc +0 -0
- data/vendor/requests/packages/urllib3/connection.py +330 -0
- data/vendor/requests/packages/urllib3/connection.pyc +0 -0
- data/vendor/requests/packages/urllib3/connectionpool.py +866 -0
- data/vendor/requests/packages/urllib3/connectionpool.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/__init__.py +0 -0
- data/vendor/requests/packages/urllib3/contrib/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/appengine.py +231 -0
- data/vendor/requests/packages/urllib3/contrib/appengine.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/ntlmpool.py +115 -0
- data/vendor/requests/packages/urllib3/contrib/ntlmpool.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/pyopenssl.py +358 -0
- data/vendor/requests/packages/urllib3/contrib/pyopenssl.pyc +0 -0
- data/vendor/requests/packages/urllib3/contrib/socks.py +172 -0
- data/vendor/requests/packages/urllib3/contrib/socks.pyc +0 -0
- data/vendor/requests/packages/urllib3/exceptions.py +209 -0
- data/vendor/requests/packages/urllib3/exceptions.pyc +0 -0
- data/vendor/requests/packages/urllib3/fields.py +178 -0
- data/vendor/requests/packages/urllib3/fields.pyc +0 -0
- data/vendor/requests/packages/urllib3/filepost.py +94 -0
- data/vendor/requests/packages/urllib3/filepost.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/__init__.py +5 -0
- data/vendor/requests/packages/urllib3/packages/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/ordered_dict.py +259 -0
- data/vendor/requests/packages/urllib3/packages/ordered_dict.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/six.py +868 -0
- data/vendor/requests/packages/urllib3/packages/six.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py +13 -0
- data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py +105 -0
- data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyc +0 -0
- data/vendor/requests/packages/urllib3/poolmanager.py +367 -0
- data/vendor/requests/packages/urllib3/poolmanager.pyc +0 -0
- data/vendor/requests/packages/urllib3/request.py +151 -0
- data/vendor/requests/packages/urllib3/request.pyc +0 -0
- data/vendor/requests/packages/urllib3/response.py +530 -0
- data/vendor/requests/packages/urllib3/response.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/__init__.py +46 -0
- data/vendor/requests/packages/urllib3/util/__init__.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/connection.py +144 -0
- data/vendor/requests/packages/urllib3/util/connection.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/request.py +72 -0
- data/vendor/requests/packages/urllib3/util/request.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/response.py +74 -0
- data/vendor/requests/packages/urllib3/util/response.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/retry.py +300 -0
- data/vendor/requests/packages/urllib3/util/retry.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/ssl_.py +320 -0
- data/vendor/requests/packages/urllib3/util/ssl_.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/timeout.py +242 -0
- data/vendor/requests/packages/urllib3/util/timeout.pyc +0 -0
- data/vendor/requests/packages/urllib3/util/url.py +217 -0
- data/vendor/requests/packages/urllib3/util/url.pyc +0 -0
- data/vendor/requests/sessions.py +712 -0
- data/vendor/requests/sessions.pyc +0 -0
- data/vendor/requests/status_codes.py +91 -0
- data/vendor/requests/status_codes.pyc +0 -0
- data/vendor/requests/structures.py +105 -0
- data/vendor/requests/structures.pyc +0 -0
- data/vendor/requests/utils.py +817 -0
- data/vendor/requests/utils.pyc +0 -0
- data/vendor/requests-2.11.1.dist-info/DESCRIPTION.rst +1294 -0
- data/vendor/requests-2.11.1.dist-info/INSTALLER +1 -0
- data/vendor/requests-2.11.1.dist-info/METADATA +1323 -0
- data/vendor/requests-2.11.1.dist-info/RECORD +170 -0
- data/vendor/requests-2.11.1.dist-info/WHEEL +6 -0
- data/vendor/requests-2.11.1.dist-info/metadata.json +1 -0
- data/vendor/requests-2.11.1.dist-info/top_level.txt +1 -0
- data/vendor/rigid/__init__.py +1 -0
- data/vendor/rigid/__init__.pyc +0 -0
- data/vendor/rigid/api.py +129 -0
- data/vendor/rigid/api.pyc +0 -0
- data/vendor/rigid/commands/__init__.py +260 -0
- data/vendor/rigid/commands/__init__.pyc +0 -0
- data/vendor/rigid/commands/deploy.py +0 -0
- data/vendor/rigid/commands/deploy.pyc +0 -0
- data/vendor/rigid/deploy.py +70 -0
- data/vendor/rigid/deploy.pyc +0 -0
- data/vendor/rigid/file_scanner.py +63 -0
- data/vendor/rigid/file_scanner.pyc +0 -0
- data/vendor/rigid/utils.py +17 -0
- data/vendor/rigid/utils.pyc +0 -0
- data/vendor/rigid-0.2.0.dist-info/DESCRIPTION.rst +3 -0
- data/vendor/rigid-0.2.0.dist-info/INSTALLER +1 -0
- data/vendor/rigid-0.2.0.dist-info/METADATA +23 -0
- data/vendor/rigid-0.2.0.dist-info/RECORD +49 -0
- data/vendor/rigid-0.2.0.dist-info/WHEEL +5 -0
- data/vendor/rigid-0.2.0.dist-info/entry_points.txt +3 -0
- data/vendor/rigid-0.2.0.dist-info/metadata.json +1 -0
- data/vendor/rigid-0.2.0.dist-info/top_level.txt +2 -0
- data/vendor/setuptools-28.8.0.dist-info/DESCRIPTION.rst +243 -0
- data/vendor/setuptools-28.8.0.dist-info/INSTALLER +1 -0
- data/vendor/setuptools-28.8.0.dist-info/METADATA +272 -0
- data/vendor/setuptools-28.8.0.dist-info/RECORD +143 -0
- data/vendor/setuptools-28.8.0.dist-info/WHEEL +6 -0
- data/vendor/setuptools-28.8.0.dist-info/dependency_links.txt +2 -0
- data/vendor/setuptools-28.8.0.dist-info/entry_points.txt +63 -0
- data/vendor/setuptools-28.8.0.dist-info/metadata.json +1 -0
- data/vendor/setuptools-28.8.0.dist-info/top_level.txt +3 -0
- data/vendor/setuptools-28.8.0.dist-info/zip-safe +1 -0
- data/vendor/tests/__init__.py +0 -0
- data/vendor/tests/__init__.pyc +0 -0
- data/vendor/tests/integration/__init__.py +0 -0
- data/vendor/tests/integration/__init__.pyc +0 -0
- data/vendor/tests/integration/test_app.py +63 -0
- data/vendor/tests/integration/test_app.pyc +0 -0
- data/vendor/tests/integration/test_apps.py +27 -0
- data/vendor/tests/integration/test_apps.pyc +0 -0
- data/vendor/tests/integration/test_deploy.py +128 -0
- data/vendor/tests/integration/test_deploy.pyc +0 -0
- data/vendor/tests/integration/test_domains.py +35 -0
- data/vendor/tests/integration/test_domains.pyc +0 -0
- data/vendor/tests/integration/test_login.py +37 -0
- data/vendor/tests/integration/test_login.pyc +0 -0
- data/vendor/tests/integration/test_promote.py +24 -0
- data/vendor/tests/integration/test_promote.pyc +0 -0
- data/vendor/tests/integration/test_token.py +33 -0
- data/vendor/tests/integration/test_token.pyc +0 -0
- data/vendor/tests/integration/test_whoami.py +24 -0
- data/vendor/tests/integration/test_whoami.pyc +0 -0
- data/vendor/tests/test_deploy.py +33 -0
- data/vendor/tests/test_deploy.pyc +0 -0
- data/vendor/tests/test_file_scanner.py +89 -0
- data/vendor/tests/test_file_scanner.pyc +0 -0
- data/vendor/tests/utils.py +78 -0
- data/vendor/tests/utils.pyc +0 -0
- data/vendor/wheel-0.30.0a0.dist-info/DESCRIPTION.rst +325 -0
- data/vendor/wheel-0.30.0a0.dist-info/INSTALLER +1 -0
- data/vendor/wheel-0.30.0a0.dist-info/LICENSE.txt +22 -0
- data/vendor/wheel-0.30.0a0.dist-info/METADATA +357 -0
- data/vendor/wheel-0.30.0a0.dist-info/RECORD +86 -0
- data/vendor/wheel-0.30.0a0.dist-info/WHEEL +6 -0
- data/vendor/wheel-0.30.0a0.dist-info/entry_points.txt +6 -0
- data/vendor/wheel-0.30.0a0.dist-info/metadata.json +1 -0
- data/vendor/wheel-0.30.0a0.dist-info/top_level.txt +1 -0
- data/vendor/yaml/__init__.py +315 -0
- data/vendor/yaml/__init__.pyc +0 -0
- data/vendor/yaml/composer.py +139 -0
- data/vendor/yaml/composer.pyc +0 -0
- data/vendor/yaml/constructor.py +675 -0
- data/vendor/yaml/constructor.pyc +0 -0
- data/vendor/yaml/cyaml.py +85 -0
- data/vendor/yaml/cyaml.pyc +0 -0
- data/vendor/yaml/dumper.py +62 -0
- data/vendor/yaml/dumper.pyc +0 -0
- data/vendor/yaml/emitter.py +1140 -0
- data/vendor/yaml/emitter.pyc +0 -0
- data/vendor/yaml/error.py +75 -0
- data/vendor/yaml/error.pyc +0 -0
- data/vendor/yaml/events.py +86 -0
- data/vendor/yaml/events.pyc +0 -0
- data/vendor/yaml/loader.py +40 -0
- data/vendor/yaml/loader.pyc +0 -0
- data/vendor/yaml/nodes.py +49 -0
- data/vendor/yaml/nodes.pyc +0 -0
- data/vendor/yaml/parser.py +589 -0
- data/vendor/yaml/parser.pyc +0 -0
- data/vendor/yaml/reader.py +190 -0
- data/vendor/yaml/reader.pyc +0 -0
- data/vendor/yaml/representer.py +486 -0
- data/vendor/yaml/representer.pyc +0 -0
- data/vendor/yaml/resolver.py +227 -0
- data/vendor/yaml/resolver.pyc +0 -0
- data/vendor/yaml/scanner.py +1453 -0
- data/vendor/yaml/scanner.pyc +0 -0
- data/vendor/yaml/serializer.py +111 -0
- data/vendor/yaml/serializer.pyc +0 -0
- data/vendor/yaml/tokens.py +104 -0
- data/vendor/yaml/tokens.pyc +0 -0
- metadata +407 -0
Binary file
|
@@ -0,0 +1,304 @@
|
|
1
|
+
import sys
|
2
|
+
import inspect
|
3
|
+
|
4
|
+
from functools import update_wrapper
|
5
|
+
|
6
|
+
from ._compat import iteritems
|
7
|
+
from ._unicodefun import _check_for_unicode_literals
|
8
|
+
from .utils import echo
|
9
|
+
from .globals import get_current_context
|
10
|
+
|
11
|
+
|
12
|
+
def pass_context(f):
|
13
|
+
"""Marks a callback as wanting to receive the current context
|
14
|
+
object as first argument.
|
15
|
+
"""
|
16
|
+
def new_func(*args, **kwargs):
|
17
|
+
return f(get_current_context(), *args, **kwargs)
|
18
|
+
return update_wrapper(new_func, f)
|
19
|
+
|
20
|
+
|
21
|
+
def pass_obj(f):
|
22
|
+
"""Similar to :func:`pass_context`, but only pass the object on the
|
23
|
+
context onwards (:attr:`Context.obj`). This is useful if that object
|
24
|
+
represents the state of a nested system.
|
25
|
+
"""
|
26
|
+
def new_func(*args, **kwargs):
|
27
|
+
return f(get_current_context().obj, *args, **kwargs)
|
28
|
+
return update_wrapper(new_func, f)
|
29
|
+
|
30
|
+
|
31
|
+
def make_pass_decorator(object_type, ensure=False):
|
32
|
+
"""Given an object type this creates a decorator that will work
|
33
|
+
similar to :func:`pass_obj` but instead of passing the object of the
|
34
|
+
current context, it will find the innermost context of type
|
35
|
+
:func:`object_type`.
|
36
|
+
|
37
|
+
This generates a decorator that works roughly like this::
|
38
|
+
|
39
|
+
from functools import update_wrapper
|
40
|
+
|
41
|
+
def decorator(f):
|
42
|
+
@pass_context
|
43
|
+
def new_func(ctx, *args, **kwargs):
|
44
|
+
obj = ctx.find_object(object_type)
|
45
|
+
return ctx.invoke(f, obj, *args, **kwargs)
|
46
|
+
return update_wrapper(new_func, f)
|
47
|
+
return decorator
|
48
|
+
|
49
|
+
:param object_type: the type of the object to pass.
|
50
|
+
:param ensure: if set to `True`, a new object will be created and
|
51
|
+
remembered on the context if it's not there yet.
|
52
|
+
"""
|
53
|
+
def decorator(f):
|
54
|
+
def new_func(*args, **kwargs):
|
55
|
+
ctx = get_current_context()
|
56
|
+
if ensure:
|
57
|
+
obj = ctx.ensure_object(object_type)
|
58
|
+
else:
|
59
|
+
obj = ctx.find_object(object_type)
|
60
|
+
if obj is None:
|
61
|
+
raise RuntimeError('Managed to invoke callback without a '
|
62
|
+
'context object of type %r existing'
|
63
|
+
% object_type.__name__)
|
64
|
+
return ctx.invoke(f, obj, *args[1:], **kwargs)
|
65
|
+
return update_wrapper(new_func, f)
|
66
|
+
return decorator
|
67
|
+
|
68
|
+
|
69
|
+
def _make_command(f, name, attrs, cls):
|
70
|
+
if isinstance(f, Command):
|
71
|
+
raise TypeError('Attempted to convert a callback into a '
|
72
|
+
'command twice.')
|
73
|
+
try:
|
74
|
+
params = f.__click_params__
|
75
|
+
params.reverse()
|
76
|
+
del f.__click_params__
|
77
|
+
except AttributeError:
|
78
|
+
params = []
|
79
|
+
help = attrs.get('help')
|
80
|
+
if help is None:
|
81
|
+
help = inspect.getdoc(f)
|
82
|
+
if isinstance(help, bytes):
|
83
|
+
help = help.decode('utf-8')
|
84
|
+
else:
|
85
|
+
help = inspect.cleandoc(help)
|
86
|
+
attrs['help'] = help
|
87
|
+
_check_for_unicode_literals()
|
88
|
+
return cls(name=name or f.__name__.lower(),
|
89
|
+
callback=f, params=params, **attrs)
|
90
|
+
|
91
|
+
|
92
|
+
def command(name=None, cls=None, **attrs):
|
93
|
+
"""Creates a new :class:`Command` and uses the decorated function as
|
94
|
+
callback. This will also automatically attach all decorated
|
95
|
+
:func:`option`\s and :func:`argument`\s as parameters to the command.
|
96
|
+
|
97
|
+
The name of the command defaults to the name of the function. If you
|
98
|
+
want to change that, you can pass the intended name as the first
|
99
|
+
argument.
|
100
|
+
|
101
|
+
All keyword arguments are forwarded to the underlying command class.
|
102
|
+
|
103
|
+
Once decorated the function turns into a :class:`Command` instance
|
104
|
+
that can be invoked as a command line utility or be attached to a
|
105
|
+
command :class:`Group`.
|
106
|
+
|
107
|
+
:param name: the name of the command. This defaults to the function
|
108
|
+
name.
|
109
|
+
:param cls: the command class to instantiate. This defaults to
|
110
|
+
:class:`Command`.
|
111
|
+
"""
|
112
|
+
if cls is None:
|
113
|
+
cls = Command
|
114
|
+
def decorator(f):
|
115
|
+
cmd = _make_command(f, name, attrs, cls)
|
116
|
+
cmd.__doc__ = f.__doc__
|
117
|
+
return cmd
|
118
|
+
return decorator
|
119
|
+
|
120
|
+
|
121
|
+
def group(name=None, **attrs):
|
122
|
+
"""Creates a new :class:`Group` with a function as callback. This
|
123
|
+
works otherwise the same as :func:`command` just that the `cls`
|
124
|
+
parameter is set to :class:`Group`.
|
125
|
+
"""
|
126
|
+
attrs.setdefault('cls', Group)
|
127
|
+
return command(name, **attrs)
|
128
|
+
|
129
|
+
|
130
|
+
def _param_memo(f, param):
|
131
|
+
if isinstance(f, Command):
|
132
|
+
f.params.append(param)
|
133
|
+
else:
|
134
|
+
if not hasattr(f, '__click_params__'):
|
135
|
+
f.__click_params__ = []
|
136
|
+
f.__click_params__.append(param)
|
137
|
+
|
138
|
+
|
139
|
+
def argument(*param_decls, **attrs):
|
140
|
+
"""Attaches an argument to the command. All positional arguments are
|
141
|
+
passed as parameter declarations to :class:`Argument`; all keyword
|
142
|
+
arguments are forwarded unchanged (except ``cls``).
|
143
|
+
This is equivalent to creating an :class:`Argument` instance manually
|
144
|
+
and attaching it to the :attr:`Command.params` list.
|
145
|
+
|
146
|
+
:param cls: the argument class to instantiate. This defaults to
|
147
|
+
:class:`Argument`.
|
148
|
+
"""
|
149
|
+
def decorator(f):
|
150
|
+
ArgumentClass = attrs.pop('cls', Argument)
|
151
|
+
_param_memo(f, ArgumentClass(param_decls, **attrs))
|
152
|
+
return f
|
153
|
+
return decorator
|
154
|
+
|
155
|
+
|
156
|
+
def option(*param_decls, **attrs):
|
157
|
+
"""Attaches an option to the command. All positional arguments are
|
158
|
+
passed as parameter declarations to :class:`Option`; all keyword
|
159
|
+
arguments are forwarded unchanged (except ``cls``).
|
160
|
+
This is equivalent to creating an :class:`Option` instance manually
|
161
|
+
and attaching it to the :attr:`Command.params` list.
|
162
|
+
|
163
|
+
:param cls: the option class to instantiate. This defaults to
|
164
|
+
:class:`Option`.
|
165
|
+
"""
|
166
|
+
def decorator(f):
|
167
|
+
if 'help' in attrs:
|
168
|
+
attrs['help'] = inspect.cleandoc(attrs['help'])
|
169
|
+
OptionClass = attrs.pop('cls', Option)
|
170
|
+
_param_memo(f, OptionClass(param_decls, **attrs))
|
171
|
+
return f
|
172
|
+
return decorator
|
173
|
+
|
174
|
+
|
175
|
+
def confirmation_option(*param_decls, **attrs):
|
176
|
+
"""Shortcut for confirmation prompts that can be ignored by passing
|
177
|
+
``--yes`` as parameter.
|
178
|
+
|
179
|
+
This is equivalent to decorating a function with :func:`option` with
|
180
|
+
the following parameters::
|
181
|
+
|
182
|
+
def callback(ctx, param, value):
|
183
|
+
if not value:
|
184
|
+
ctx.abort()
|
185
|
+
|
186
|
+
@click.command()
|
187
|
+
@click.option('--yes', is_flag=True, callback=callback,
|
188
|
+
expose_value=False, prompt='Do you want to continue?')
|
189
|
+
def dropdb():
|
190
|
+
pass
|
191
|
+
"""
|
192
|
+
def decorator(f):
|
193
|
+
def callback(ctx, param, value):
|
194
|
+
if not value:
|
195
|
+
ctx.abort()
|
196
|
+
attrs.setdefault('is_flag', True)
|
197
|
+
attrs.setdefault('callback', callback)
|
198
|
+
attrs.setdefault('expose_value', False)
|
199
|
+
attrs.setdefault('prompt', 'Do you want to continue?')
|
200
|
+
attrs.setdefault('help', 'Confirm the action without prompting.')
|
201
|
+
return option(*(param_decls or ('--yes',)), **attrs)(f)
|
202
|
+
return decorator
|
203
|
+
|
204
|
+
|
205
|
+
def password_option(*param_decls, **attrs):
|
206
|
+
"""Shortcut for password prompts.
|
207
|
+
|
208
|
+
This is equivalent to decorating a function with :func:`option` with
|
209
|
+
the following parameters::
|
210
|
+
|
211
|
+
@click.command()
|
212
|
+
@click.option('--password', prompt=True, confirmation_prompt=True,
|
213
|
+
hide_input=True)
|
214
|
+
def changeadmin(password):
|
215
|
+
pass
|
216
|
+
"""
|
217
|
+
def decorator(f):
|
218
|
+
attrs.setdefault('prompt', True)
|
219
|
+
attrs.setdefault('confirmation_prompt', True)
|
220
|
+
attrs.setdefault('hide_input', True)
|
221
|
+
return option(*(param_decls or ('--password',)), **attrs)(f)
|
222
|
+
return decorator
|
223
|
+
|
224
|
+
|
225
|
+
def version_option(version=None, *param_decls, **attrs):
|
226
|
+
"""Adds a ``--version`` option which immediately ends the program
|
227
|
+
printing out the version number. This is implemented as an eager
|
228
|
+
option that prints the version and exits the program in the callback.
|
229
|
+
|
230
|
+
:param version: the version number to show. If not provided Click
|
231
|
+
attempts an auto discovery via setuptools.
|
232
|
+
:param prog_name: the name of the program (defaults to autodetection)
|
233
|
+
:param message: custom message to show instead of the default
|
234
|
+
(``'%(prog)s, version %(version)s'``)
|
235
|
+
:param others: everything else is forwarded to :func:`option`.
|
236
|
+
"""
|
237
|
+
if version is None:
|
238
|
+
module = sys._getframe(1).f_globals.get('__name__')
|
239
|
+
def decorator(f):
|
240
|
+
prog_name = attrs.pop('prog_name', None)
|
241
|
+
message = attrs.pop('message', '%(prog)s, version %(version)s')
|
242
|
+
|
243
|
+
def callback(ctx, param, value):
|
244
|
+
if not value or ctx.resilient_parsing:
|
245
|
+
return
|
246
|
+
prog = prog_name
|
247
|
+
if prog is None:
|
248
|
+
prog = ctx.find_root().info_name
|
249
|
+
ver = version
|
250
|
+
if ver is None:
|
251
|
+
try:
|
252
|
+
import pkg_resources
|
253
|
+
except ImportError:
|
254
|
+
pass
|
255
|
+
else:
|
256
|
+
for dist in pkg_resources.working_set:
|
257
|
+
scripts = dist.get_entry_map().get('console_scripts') or {}
|
258
|
+
for script_name, entry_point in iteritems(scripts):
|
259
|
+
if entry_point.module_name == module:
|
260
|
+
ver = dist.version
|
261
|
+
break
|
262
|
+
if ver is None:
|
263
|
+
raise RuntimeError('Could not determine version')
|
264
|
+
echo(message % {
|
265
|
+
'prog': prog,
|
266
|
+
'version': ver,
|
267
|
+
}, color=ctx.color)
|
268
|
+
ctx.exit()
|
269
|
+
|
270
|
+
attrs.setdefault('is_flag', True)
|
271
|
+
attrs.setdefault('expose_value', False)
|
272
|
+
attrs.setdefault('is_eager', True)
|
273
|
+
attrs.setdefault('help', 'Show the version and exit.')
|
274
|
+
attrs['callback'] = callback
|
275
|
+
return option(*(param_decls or ('--version',)), **attrs)(f)
|
276
|
+
return decorator
|
277
|
+
|
278
|
+
|
279
|
+
def help_option(*param_decls, **attrs):
|
280
|
+
"""Adds a ``--help`` option which immediately ends the program
|
281
|
+
printing out the help page. This is usually unnecessary to add as
|
282
|
+
this is added by default to all commands unless suppressed.
|
283
|
+
|
284
|
+
Like :func:`version_option`, this is implemented as eager option that
|
285
|
+
prints in the callback and exits.
|
286
|
+
|
287
|
+
All arguments are forwarded to :func:`option`.
|
288
|
+
"""
|
289
|
+
def decorator(f):
|
290
|
+
def callback(ctx, param, value):
|
291
|
+
if value and not ctx.resilient_parsing:
|
292
|
+
echo(ctx.get_help(), color=ctx.color)
|
293
|
+
ctx.exit()
|
294
|
+
attrs.setdefault('is_flag', True)
|
295
|
+
attrs.setdefault('expose_value', False)
|
296
|
+
attrs.setdefault('help', 'Show this message and exit.')
|
297
|
+
attrs.setdefault('is_eager', True)
|
298
|
+
attrs['callback'] = callback
|
299
|
+
return option(*(param_decls or ('--help',)), **attrs)(f)
|
300
|
+
return decorator
|
301
|
+
|
302
|
+
|
303
|
+
# Circular dependencies between core and decorators
|
304
|
+
from .core import Command, Group, Argument, Option
|
Binary file
|
@@ -0,0 +1,201 @@
|
|
1
|
+
from ._compat import PY2, filename_to_ui, get_text_stderr
|
2
|
+
from .utils import echo
|
3
|
+
|
4
|
+
|
5
|
+
class ClickException(Exception):
|
6
|
+
"""An exception that Click can handle and show to the user."""
|
7
|
+
|
8
|
+
#: The exit code for this exception
|
9
|
+
exit_code = 1
|
10
|
+
|
11
|
+
def __init__(self, message):
|
12
|
+
if PY2:
|
13
|
+
if message is not None:
|
14
|
+
message = message.encode('utf-8')
|
15
|
+
Exception.__init__(self, message)
|
16
|
+
self.message = message
|
17
|
+
|
18
|
+
def format_message(self):
|
19
|
+
return self.message
|
20
|
+
|
21
|
+
def show(self, file=None):
|
22
|
+
if file is None:
|
23
|
+
file = get_text_stderr()
|
24
|
+
echo('Error: %s' % self.format_message(), file=file)
|
25
|
+
|
26
|
+
|
27
|
+
class UsageError(ClickException):
|
28
|
+
"""An internal exception that signals a usage error. This typically
|
29
|
+
aborts any further handling.
|
30
|
+
|
31
|
+
:param message: the error message to display.
|
32
|
+
:param ctx: optionally the context that caused this error. Click will
|
33
|
+
fill in the context automatically in some situations.
|
34
|
+
"""
|
35
|
+
exit_code = 2
|
36
|
+
|
37
|
+
def __init__(self, message, ctx=None):
|
38
|
+
ClickException.__init__(self, message)
|
39
|
+
self.ctx = ctx
|
40
|
+
|
41
|
+
def show(self, file=None):
|
42
|
+
if file is None:
|
43
|
+
file = get_text_stderr()
|
44
|
+
color = None
|
45
|
+
if self.ctx is not None:
|
46
|
+
color = self.ctx.color
|
47
|
+
echo(self.ctx.get_usage() + '\n', file=file, color=color)
|
48
|
+
echo('Error: %s' % self.format_message(), file=file, color=color)
|
49
|
+
|
50
|
+
|
51
|
+
class BadParameter(UsageError):
|
52
|
+
"""An exception that formats out a standardized error message for a
|
53
|
+
bad parameter. This is useful when thrown from a callback or type as
|
54
|
+
Click will attach contextual information to it (for instance, which
|
55
|
+
parameter it is).
|
56
|
+
|
57
|
+
.. versionadded:: 2.0
|
58
|
+
|
59
|
+
:param param: the parameter object that caused this error. This can
|
60
|
+
be left out, and Click will attach this info itself
|
61
|
+
if possible.
|
62
|
+
:param param_hint: a string that shows up as parameter name. This
|
63
|
+
can be used as alternative to `param` in cases
|
64
|
+
where custom validation should happen. If it is
|
65
|
+
a string it's used as such, if it's a list then
|
66
|
+
each item is quoted and separated.
|
67
|
+
"""
|
68
|
+
|
69
|
+
def __init__(self, message, ctx=None, param=None,
|
70
|
+
param_hint=None):
|
71
|
+
UsageError.__init__(self, message, ctx)
|
72
|
+
self.param = param
|
73
|
+
self.param_hint = param_hint
|
74
|
+
|
75
|
+
def format_message(self):
|
76
|
+
if self.param_hint is not None:
|
77
|
+
param_hint = self.param_hint
|
78
|
+
elif self.param is not None:
|
79
|
+
param_hint = self.param.opts or [self.param.human_readable_name]
|
80
|
+
else:
|
81
|
+
return 'Invalid value: %s' % self.message
|
82
|
+
if isinstance(param_hint, (tuple, list)):
|
83
|
+
param_hint = ' / '.join('"%s"' % x for x in param_hint)
|
84
|
+
return 'Invalid value for %s: %s' % (param_hint, self.message)
|
85
|
+
|
86
|
+
|
87
|
+
class MissingParameter(BadParameter):
|
88
|
+
"""Raised if click required an option or argument but it was not
|
89
|
+
provided when invoking the script.
|
90
|
+
|
91
|
+
.. versionadded:: 4.0
|
92
|
+
|
93
|
+
:param param_type: a string that indicates the type of the parameter.
|
94
|
+
The default is to inherit the parameter type from
|
95
|
+
the given `param`. Valid values are ``'parameter'``,
|
96
|
+
``'option'`` or ``'argument'``.
|
97
|
+
"""
|
98
|
+
|
99
|
+
def __init__(self, message=None, ctx=None, param=None,
|
100
|
+
param_hint=None, param_type=None):
|
101
|
+
BadParameter.__init__(self, message, ctx, param, param_hint)
|
102
|
+
self.param_type = param_type
|
103
|
+
|
104
|
+
def format_message(self):
|
105
|
+
if self.param_hint is not None:
|
106
|
+
param_hint = self.param_hint
|
107
|
+
elif self.param is not None:
|
108
|
+
param_hint = self.param.opts or [self.param.human_readable_name]
|
109
|
+
else:
|
110
|
+
param_hint = None
|
111
|
+
if isinstance(param_hint, (tuple, list)):
|
112
|
+
param_hint = ' / '.join('"%s"' % x for x in param_hint)
|
113
|
+
|
114
|
+
param_type = self.param_type
|
115
|
+
if param_type is None and self.param is not None:
|
116
|
+
param_type = self.param.param_type_name
|
117
|
+
|
118
|
+
msg = self.message
|
119
|
+
if self.param is not None:
|
120
|
+
msg_extra = self.param.type.get_missing_message(self.param)
|
121
|
+
if msg_extra:
|
122
|
+
if msg:
|
123
|
+
msg += '. ' + msg_extra
|
124
|
+
else:
|
125
|
+
msg = msg_extra
|
126
|
+
|
127
|
+
return 'Missing %s%s%s%s' % (
|
128
|
+
param_type,
|
129
|
+
param_hint and ' %s' % param_hint or '',
|
130
|
+
msg and '. ' or '.',
|
131
|
+
msg or '',
|
132
|
+
)
|
133
|
+
|
134
|
+
|
135
|
+
class NoSuchOption(UsageError):
|
136
|
+
"""Raised if click attempted to handle an option that does not
|
137
|
+
exist.
|
138
|
+
|
139
|
+
.. versionadded:: 4.0
|
140
|
+
"""
|
141
|
+
|
142
|
+
def __init__(self, option_name, message=None, possibilities=None,
|
143
|
+
ctx=None):
|
144
|
+
if message is None:
|
145
|
+
message = 'no such option: %s' % option_name
|
146
|
+
UsageError.__init__(self, message, ctx)
|
147
|
+
self.option_name = option_name
|
148
|
+
self.possibilities = possibilities
|
149
|
+
|
150
|
+
def format_message(self):
|
151
|
+
bits = [self.message]
|
152
|
+
if self.possibilities:
|
153
|
+
if len(self.possibilities) == 1:
|
154
|
+
bits.append('Did you mean %s?' % self.possibilities[0])
|
155
|
+
else:
|
156
|
+
possibilities = sorted(self.possibilities)
|
157
|
+
bits.append('(Possible options: %s)' % ', '.join(possibilities))
|
158
|
+
return ' '.join(bits)
|
159
|
+
|
160
|
+
|
161
|
+
class BadOptionUsage(UsageError):
|
162
|
+
"""Raised if an option is generally supplied but the use of the option
|
163
|
+
was incorrect. This is for instance raised if the number of arguments
|
164
|
+
for an option is not correct.
|
165
|
+
|
166
|
+
.. versionadded:: 4.0
|
167
|
+
"""
|
168
|
+
|
169
|
+
def __init__(self, message, ctx=None):
|
170
|
+
UsageError.__init__(self, message, ctx)
|
171
|
+
|
172
|
+
|
173
|
+
class BadArgumentUsage(UsageError):
|
174
|
+
"""Raised if an argument is generally supplied but the use of the argument
|
175
|
+
was incorrect. This is for instance raised if the number of values
|
176
|
+
for an argument is not correct.
|
177
|
+
|
178
|
+
.. versionadded:: 6.0
|
179
|
+
"""
|
180
|
+
|
181
|
+
def __init__(self, message, ctx=None):
|
182
|
+
UsageError.__init__(self, message, ctx)
|
183
|
+
|
184
|
+
|
185
|
+
class FileError(ClickException):
|
186
|
+
"""Raised if a file cannot be opened."""
|
187
|
+
|
188
|
+
def __init__(self, filename, hint=None):
|
189
|
+
ui_filename = filename_to_ui(filename)
|
190
|
+
if hint is None:
|
191
|
+
hint = 'unknown error'
|
192
|
+
ClickException.__init__(self, hint)
|
193
|
+
self.ui_filename = ui_filename
|
194
|
+
self.filename = filename
|
195
|
+
|
196
|
+
def format_message(self):
|
197
|
+
return 'Could not open file %s: %s' % (self.ui_filename, self.message)
|
198
|
+
|
199
|
+
|
200
|
+
class Abort(RuntimeError):
|
201
|
+
"""An internal signalling exception that signals Click to abort."""
|
Binary file
|