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
@@ -0,0 +1,86 @@
|
|
1
|
+
wheel/__init__.py,sha256=dmboUDfpbWxercVXbbQELsT1L4ZQyOHQvJKjvcAKYtc,99
|
2
|
+
wheel/__main__.py,sha256=LbDDGId08qTxuhLYqX5mXO1MUs9D-Hhxb5NVc53ej0k,416
|
3
|
+
wheel/archive.py,sha256=O6uXk-zJ8y4Y-0rCoHP7CLKlPpWQBH44zeRegaK8FJo,2247
|
4
|
+
wheel/bdist_wheel.py,sha256=usdFkZvQopK-Sx_3l0TEM2Zm33Bw1C_obTIUz7JM7pI,18408
|
5
|
+
wheel/decorator.py,sha256=U2K77ZZ8x3x5vSIGCcEeh8GAxB6rABB7AlDwRukaoCk,541
|
6
|
+
wheel/egg2wheel.py,sha256=-7M2JFi23kZ-khbNwk1iVL8P14NFdbAhMc1SHhnZ2fA,3027
|
7
|
+
wheel/eggnames.txt,sha256=X6LYsOjMd8llrzLo3SB3FwJ-uN9IskJqYKJDq2zIcbs,2490
|
8
|
+
wheel/install.py,sha256=dCR7IHmeArLjgb0yF9YmMh3_qIj-C9j1p3uPSrpzZO8,18098
|
9
|
+
wheel/metadata.py,sha256=Oz8x2VD0xLbaWH06yTRCb3vSdWnWvpPOwY2o9D8iFGU,11676
|
10
|
+
wheel/paths.py,sha256=6AmG-MKx-NeJOC9zUJoSSZjYhZYGmX1UHG_N0IbkplI,1130
|
11
|
+
wheel/pep425tags.py,sha256=pA1eyb1HOAmwSiXTmfQhmAckfknhtEelLDZOcVKZaE0,5829
|
12
|
+
wheel/pkginfo.py,sha256=-gLOTuQrkRf4geOD04qm0IUkdYAbjg81j-5zNtvWA9A,1225
|
13
|
+
wheel/util.py,sha256=Pe2JZ9grNjmAcRRJay20FlDVJUbePWaR5ltySo3c6zQ,4890
|
14
|
+
wheel/wininst2wheel.py,sha256=xVfEEKbS4hMpv-wgOQib4n0pSpgrpjnrBDH2JDSNcrE,7863
|
15
|
+
wheel/signatures/__init__.py,sha256=kZpKNsmxBDZhuXf85_uyy5qBH40AxVT_0utbAiTp_yg,3779
|
16
|
+
wheel/signatures/djbec.py,sha256=53HTnlNlfqOHFDf8OY_6KL8sxR4swiLsWhUjtw3W3nI,6755
|
17
|
+
wheel/signatures/ed25519py.py,sha256=SeTxiMZ7kmoMdIurBSaKb8Ku-amGnf6ZTRGElLzV8iI,1695
|
18
|
+
wheel/signatures/keys.py,sha256=Q8FLVy5dixDiy-5o_RmlsDhgYdErTCp5c3Z8x70X1sg,3316
|
19
|
+
wheel/test/__init__.py,sha256=M0NZuQ7-112l8K2h1eayVvSmvQrufrOcD5AYKgIf_Is,1
|
20
|
+
wheel/test/conftest.py,sha256=S73nHtotRr6_OGBXmeWPVdjVmVKZaz4ui4LPYd0aP9U,1689
|
21
|
+
wheel/test/pydist-schema.json,sha256=ynEvNvThC1zRa7FioMsW3k-9nl98ytEoo1_3xbOP2eo,11483
|
22
|
+
wheel/test/test-1.0-py2.py3-none-win32.whl,sha256=JC_UXTN5KlLrdu43uH4caZSUyzrtPcUsRe-vTMunplE,5226
|
23
|
+
wheel/test/test_basic.py,sha256=a1uRu4MZPbEEKyUsKYvGtz4qj4KX3E77V6JmXJLdX-k,6509
|
24
|
+
wheel/test/test_install.py,sha256=c0EECXPkVIGhCD9V5ad2qsBPRPYb1ehhaS0k6Gv5JQc,1866
|
25
|
+
wheel/test/test_keys.py,sha256=5mBc9tf2TwC3TCpx1ySTYsCe5yvd6kMK64AlUUCcKEY,2575
|
26
|
+
wheel/test/test_paths.py,sha256=-QOVUDFJIpF9OPNRzCJ-Xf4nBibKlUe_g4aaZ6sm3wE,172
|
27
|
+
wheel/test/test_ranking.py,sha256=FSAQX4oHZ476jLddqVMlGmQFtbEel9a8SzOngJ03TJw,1496
|
28
|
+
wheel/test/test_signatures.py,sha256=Z4REXj62p28gbSDB2D_OxopA-TTXICTZ5e2yZ3ejEVc,1120
|
29
|
+
wheel/test/test_tagopt.py,sha256=t7A-iRbe3bH2Iz6NKdSEOpFFIFSF9I4ATmlrRBXoCcQ,5927
|
30
|
+
wheel/test/test_tool.py,sha256=yt5dAr8mp51WoDzt0MmlwPk0xf7FvXAedy-YlNZXv1I,656
|
31
|
+
wheel/test/test_wheelfile.py,sha256=x4exzQYuQB48YHqhU2NZyN76k-BSK6784-7rye0q6Ss,4585
|
32
|
+
wheel/test/complex-dist/setup.py,sha256=4i1_AJoJxo4i6ik-mvydo23AF8BHzjmAEQYa5J4YPK4,855
|
33
|
+
wheel/test/complex-dist/complexdist/__init__.py,sha256=PGDJWQTxjLXqnNrbqmTKK_yk6DVQBNeRp-YpP7w1rVk,23
|
34
|
+
wheel/test/extension.dist/setup.py,sha256=pdRl-wvq5OVMG043XrWZwz4fivFZWdWMNwL8dyKbT0c,456
|
35
|
+
wheel/test/headers.dist/header.h,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
36
|
+
wheel/test/headers.dist/headersdist.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
37
|
+
wheel/test/headers.dist/setup.py,sha256=p3d9TGy7NLX6TnkBHnNHzedqYoOkdGQvwheyDQjf-JQ,324
|
38
|
+
wheel/test/simple.dist/setup.py,sha256=8zWen71Um-iN_A5thot6VFogrkWs_RGVO-jr_MxkFog,383
|
39
|
+
wheel/test/simple.dist/simpledist/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
|
+
wheel/tool/__init__.py,sha256=p0unl9MgrbkZYVODVxEKMWRI9Ya1M_uXcqXnXHzI4Dk,13217
|
41
|
+
wheel-0.30.0a0.dist-info/DESCRIPTION.rst,sha256=JH6mogUIatQVQewIh4GB1ywCxuWbm7G4TjI_63dURp8,9813
|
42
|
+
wheel-0.30.0a0.dist-info/LICENSE.txt,sha256=zKniDGrx_Pv2lAjzd3aShsvuvN7TNhAMm0o_NfvmNeQ,1125
|
43
|
+
wheel-0.30.0a0.dist-info/METADATA,sha256=ix9zN5fa4jeODQrn64fUAQa_ulrmRphi4SKHAYUqtNw,11021
|
44
|
+
wheel-0.30.0a0.dist-info/RECORD,,
|
45
|
+
wheel-0.30.0a0.dist-info/WHEEL,sha256=5wvfB7GvgZAbKBSE9uX9Zbi6LCL-_KgezgHblXhCRnM,113
|
46
|
+
wheel-0.30.0a0.dist-info/entry_points.txt,sha256=pTyeGVsucyfr_BXe5OQKuA1Bp5YKaIAWy5pejkq4Qx0,109
|
47
|
+
wheel-0.30.0a0.dist-info/metadata.json,sha256=x_mZjLzOaYcezmnrSvG67d07ShpcRFdrgWeUe6zpL5Y,1626
|
48
|
+
wheel-0.30.0a0.dist-info/top_level.txt,sha256=HxSBIbgEstMPe4eFawhA66Mq-QYHMopXVoAncfjb_1c,6
|
49
|
+
/Users/kyle/Projects/cocode/static/cli/packages/venv/bin/wheel,sha256=apvD-3TtvJYI4UJ2KgSZIU7Sn0j3isN7oABa9YUVdd0,262
|
50
|
+
/Users/kyle/Projects/cocode/static/cli/packages/venv/lib/python2.7/site-packages/wheel-0.30.0a0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
51
|
+
wheel/test/test_install.pyc,,
|
52
|
+
wheel/test/complex-dist/setup.pyc,,
|
53
|
+
wheel/signatures/__init__.pyc,,
|
54
|
+
wheel/egg2wheel.pyc,,
|
55
|
+
wheel/util.pyc,,
|
56
|
+
wheel/test/test_wheelfile.pyc,,
|
57
|
+
wheel/test/simple.dist/simpledist/__init__.pyc,,
|
58
|
+
wheel/install.pyc,,
|
59
|
+
wheel/test/extension.dist/setup.pyc,,
|
60
|
+
wheel/test/__init__.pyc,,
|
61
|
+
wheel/test/test_signatures.pyc,,
|
62
|
+
wheel/paths.pyc,,
|
63
|
+
wheel/wininst2wheel.pyc,,
|
64
|
+
wheel/test/test_ranking.pyc,,
|
65
|
+
wheel/__init__.pyc,,
|
66
|
+
wheel/signatures/djbec.pyc,,
|
67
|
+
wheel/test/test_basic.pyc,,
|
68
|
+
wheel/archive.pyc,,
|
69
|
+
wheel/test/headers.dist/setup.pyc,,
|
70
|
+
wheel/metadata.pyc,,
|
71
|
+
wheel/test/test_keys.pyc,,
|
72
|
+
wheel/bdist_wheel.pyc,,
|
73
|
+
wheel/__main__.pyc,,
|
74
|
+
wheel/pep425tags.pyc,,
|
75
|
+
wheel/test/conftest.pyc,,
|
76
|
+
wheel/signatures/ed25519py.pyc,,
|
77
|
+
wheel/signatures/keys.pyc,,
|
78
|
+
wheel/test/test_tool.pyc,,
|
79
|
+
wheel/decorator.pyc,,
|
80
|
+
wheel/test/headers.dist/headersdist.pyc,,
|
81
|
+
wheel/tool/__init__.pyc,,
|
82
|
+
wheel/test/test_paths.pyc,,
|
83
|
+
wheel/test/test_tagopt.pyc,,
|
84
|
+
wheel/test/complex-dist/complexdist/__init__.pyc,,
|
85
|
+
wheel/test/simple.dist/setup.pyc,,
|
86
|
+
wheel/pkginfo.pyc,,
|
@@ -0,0 +1 @@
|
|
1
|
+
{"classifiers": ["Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4"], "extensions": {"python.commands": {"wrap_console": {"wheel": "wheel.tool:main"}}, "python.details": {"contacts": [{"email": "dholth@fastmail.fm", "name": "Daniel Holth", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://bitbucket.org/pypa/wheel/"}}, "python.exports": {"console_scripts": {"wheel": "wheel.tool:main"}, "distutils.commands": {"bdist_wheel": "wheel.bdist_wheel:bdist_wheel"}}}, "extras": ["faster-signatures", "signatures", "tool"], "generator": "bdist_wheel (0.30.0.a0)", "keywords": ["wheel", "packaging"], "license": "MIT", "metadata_version": "2.0", "name": "wheel", "run_requires": [{"extra": "faster-signatures", "requires": ["ed25519ll"]}, {"extra": "signatures", "requires": ["keyring", "keyrings.alt"]}, {"environment": "python_version==\"2.6\"", "requires": ["argparse"]}, {"environment": "python_version==\"2.6\"", "extra": "signatures", "requires": ["importlib"]}, {"environment": "sys_platform!=\"win32\"", "extra": "signatures", "requires": ["pyxdg"]}], "summary": "A built-package format for Python.", "test_requires": [{"requires": ["coverage", "jsonschema", "pytest", "pytest-cov"]}], "version": "0.30.0a0"}
|
@@ -0,0 +1 @@
|
|
1
|
+
wheel
|
@@ -0,0 +1,315 @@
|
|
1
|
+
|
2
|
+
from error import *
|
3
|
+
|
4
|
+
from tokens import *
|
5
|
+
from events import *
|
6
|
+
from nodes import *
|
7
|
+
|
8
|
+
from loader import *
|
9
|
+
from dumper import *
|
10
|
+
|
11
|
+
__version__ = '3.12'
|
12
|
+
|
13
|
+
try:
|
14
|
+
from cyaml import *
|
15
|
+
__with_libyaml__ = True
|
16
|
+
except ImportError:
|
17
|
+
__with_libyaml__ = False
|
18
|
+
|
19
|
+
def scan(stream, Loader=Loader):
|
20
|
+
"""
|
21
|
+
Scan a YAML stream and produce scanning tokens.
|
22
|
+
"""
|
23
|
+
loader = Loader(stream)
|
24
|
+
try:
|
25
|
+
while loader.check_token():
|
26
|
+
yield loader.get_token()
|
27
|
+
finally:
|
28
|
+
loader.dispose()
|
29
|
+
|
30
|
+
def parse(stream, Loader=Loader):
|
31
|
+
"""
|
32
|
+
Parse a YAML stream and produce parsing events.
|
33
|
+
"""
|
34
|
+
loader = Loader(stream)
|
35
|
+
try:
|
36
|
+
while loader.check_event():
|
37
|
+
yield loader.get_event()
|
38
|
+
finally:
|
39
|
+
loader.dispose()
|
40
|
+
|
41
|
+
def compose(stream, Loader=Loader):
|
42
|
+
"""
|
43
|
+
Parse the first YAML document in a stream
|
44
|
+
and produce the corresponding representation tree.
|
45
|
+
"""
|
46
|
+
loader = Loader(stream)
|
47
|
+
try:
|
48
|
+
return loader.get_single_node()
|
49
|
+
finally:
|
50
|
+
loader.dispose()
|
51
|
+
|
52
|
+
def compose_all(stream, Loader=Loader):
|
53
|
+
"""
|
54
|
+
Parse all YAML documents in a stream
|
55
|
+
and produce corresponding representation trees.
|
56
|
+
"""
|
57
|
+
loader = Loader(stream)
|
58
|
+
try:
|
59
|
+
while loader.check_node():
|
60
|
+
yield loader.get_node()
|
61
|
+
finally:
|
62
|
+
loader.dispose()
|
63
|
+
|
64
|
+
def load(stream, Loader=Loader):
|
65
|
+
"""
|
66
|
+
Parse the first YAML document in a stream
|
67
|
+
and produce the corresponding Python object.
|
68
|
+
"""
|
69
|
+
loader = Loader(stream)
|
70
|
+
try:
|
71
|
+
return loader.get_single_data()
|
72
|
+
finally:
|
73
|
+
loader.dispose()
|
74
|
+
|
75
|
+
def load_all(stream, Loader=Loader):
|
76
|
+
"""
|
77
|
+
Parse all YAML documents in a stream
|
78
|
+
and produce corresponding Python objects.
|
79
|
+
"""
|
80
|
+
loader = Loader(stream)
|
81
|
+
try:
|
82
|
+
while loader.check_data():
|
83
|
+
yield loader.get_data()
|
84
|
+
finally:
|
85
|
+
loader.dispose()
|
86
|
+
|
87
|
+
def safe_load(stream):
|
88
|
+
"""
|
89
|
+
Parse the first YAML document in a stream
|
90
|
+
and produce the corresponding Python object.
|
91
|
+
Resolve only basic YAML tags.
|
92
|
+
"""
|
93
|
+
return load(stream, SafeLoader)
|
94
|
+
|
95
|
+
def safe_load_all(stream):
|
96
|
+
"""
|
97
|
+
Parse all YAML documents in a stream
|
98
|
+
and produce corresponding Python objects.
|
99
|
+
Resolve only basic YAML tags.
|
100
|
+
"""
|
101
|
+
return load_all(stream, SafeLoader)
|
102
|
+
|
103
|
+
def emit(events, stream=None, Dumper=Dumper,
|
104
|
+
canonical=None, indent=None, width=None,
|
105
|
+
allow_unicode=None, line_break=None):
|
106
|
+
"""
|
107
|
+
Emit YAML parsing events into a stream.
|
108
|
+
If stream is None, return the produced string instead.
|
109
|
+
"""
|
110
|
+
getvalue = None
|
111
|
+
if stream is None:
|
112
|
+
from StringIO import StringIO
|
113
|
+
stream = StringIO()
|
114
|
+
getvalue = stream.getvalue
|
115
|
+
dumper = Dumper(stream, canonical=canonical, indent=indent, width=width,
|
116
|
+
allow_unicode=allow_unicode, line_break=line_break)
|
117
|
+
try:
|
118
|
+
for event in events:
|
119
|
+
dumper.emit(event)
|
120
|
+
finally:
|
121
|
+
dumper.dispose()
|
122
|
+
if getvalue:
|
123
|
+
return getvalue()
|
124
|
+
|
125
|
+
def serialize_all(nodes, stream=None, Dumper=Dumper,
|
126
|
+
canonical=None, indent=None, width=None,
|
127
|
+
allow_unicode=None, line_break=None,
|
128
|
+
encoding='utf-8', explicit_start=None, explicit_end=None,
|
129
|
+
version=None, tags=None):
|
130
|
+
"""
|
131
|
+
Serialize a sequence of representation trees into a YAML stream.
|
132
|
+
If stream is None, return the produced string instead.
|
133
|
+
"""
|
134
|
+
getvalue = None
|
135
|
+
if stream is None:
|
136
|
+
if encoding is None:
|
137
|
+
from StringIO import StringIO
|
138
|
+
else:
|
139
|
+
from cStringIO import StringIO
|
140
|
+
stream = StringIO()
|
141
|
+
getvalue = stream.getvalue
|
142
|
+
dumper = Dumper(stream, canonical=canonical, indent=indent, width=width,
|
143
|
+
allow_unicode=allow_unicode, line_break=line_break,
|
144
|
+
encoding=encoding, version=version, tags=tags,
|
145
|
+
explicit_start=explicit_start, explicit_end=explicit_end)
|
146
|
+
try:
|
147
|
+
dumper.open()
|
148
|
+
for node in nodes:
|
149
|
+
dumper.serialize(node)
|
150
|
+
dumper.close()
|
151
|
+
finally:
|
152
|
+
dumper.dispose()
|
153
|
+
if getvalue:
|
154
|
+
return getvalue()
|
155
|
+
|
156
|
+
def serialize(node, stream=None, Dumper=Dumper, **kwds):
|
157
|
+
"""
|
158
|
+
Serialize a representation tree into a YAML stream.
|
159
|
+
If stream is None, return the produced string instead.
|
160
|
+
"""
|
161
|
+
return serialize_all([node], stream, Dumper=Dumper, **kwds)
|
162
|
+
|
163
|
+
def dump_all(documents, stream=None, Dumper=Dumper,
|
164
|
+
default_style=None, default_flow_style=None,
|
165
|
+
canonical=None, indent=None, width=None,
|
166
|
+
allow_unicode=None, line_break=None,
|
167
|
+
encoding='utf-8', explicit_start=None, explicit_end=None,
|
168
|
+
version=None, tags=None):
|
169
|
+
"""
|
170
|
+
Serialize a sequence of Python objects into a YAML stream.
|
171
|
+
If stream is None, return the produced string instead.
|
172
|
+
"""
|
173
|
+
getvalue = None
|
174
|
+
if stream is None:
|
175
|
+
if encoding is None:
|
176
|
+
from StringIO import StringIO
|
177
|
+
else:
|
178
|
+
from cStringIO import StringIO
|
179
|
+
stream = StringIO()
|
180
|
+
getvalue = stream.getvalue
|
181
|
+
dumper = Dumper(stream, default_style=default_style,
|
182
|
+
default_flow_style=default_flow_style,
|
183
|
+
canonical=canonical, indent=indent, width=width,
|
184
|
+
allow_unicode=allow_unicode, line_break=line_break,
|
185
|
+
encoding=encoding, version=version, tags=tags,
|
186
|
+
explicit_start=explicit_start, explicit_end=explicit_end)
|
187
|
+
try:
|
188
|
+
dumper.open()
|
189
|
+
for data in documents:
|
190
|
+
dumper.represent(data)
|
191
|
+
dumper.close()
|
192
|
+
finally:
|
193
|
+
dumper.dispose()
|
194
|
+
if getvalue:
|
195
|
+
return getvalue()
|
196
|
+
|
197
|
+
def dump(data, stream=None, Dumper=Dumper, **kwds):
|
198
|
+
"""
|
199
|
+
Serialize a Python object into a YAML stream.
|
200
|
+
If stream is None, return the produced string instead.
|
201
|
+
"""
|
202
|
+
return dump_all([data], stream, Dumper=Dumper, **kwds)
|
203
|
+
|
204
|
+
def safe_dump_all(documents, stream=None, **kwds):
|
205
|
+
"""
|
206
|
+
Serialize a sequence of Python objects into a YAML stream.
|
207
|
+
Produce only basic YAML tags.
|
208
|
+
If stream is None, return the produced string instead.
|
209
|
+
"""
|
210
|
+
return dump_all(documents, stream, Dumper=SafeDumper, **kwds)
|
211
|
+
|
212
|
+
def safe_dump(data, stream=None, **kwds):
|
213
|
+
"""
|
214
|
+
Serialize a Python object into a YAML stream.
|
215
|
+
Produce only basic YAML tags.
|
216
|
+
If stream is None, return the produced string instead.
|
217
|
+
"""
|
218
|
+
return dump_all([data], stream, Dumper=SafeDumper, **kwds)
|
219
|
+
|
220
|
+
def add_implicit_resolver(tag, regexp, first=None,
|
221
|
+
Loader=Loader, Dumper=Dumper):
|
222
|
+
"""
|
223
|
+
Add an implicit scalar detector.
|
224
|
+
If an implicit scalar value matches the given regexp,
|
225
|
+
the corresponding tag is assigned to the scalar.
|
226
|
+
first is a sequence of possible initial characters or None.
|
227
|
+
"""
|
228
|
+
Loader.add_implicit_resolver(tag, regexp, first)
|
229
|
+
Dumper.add_implicit_resolver(tag, regexp, first)
|
230
|
+
|
231
|
+
def add_path_resolver(tag, path, kind=None, Loader=Loader, Dumper=Dumper):
|
232
|
+
"""
|
233
|
+
Add a path based resolver for the given tag.
|
234
|
+
A path is a list of keys that forms a path
|
235
|
+
to a node in the representation tree.
|
236
|
+
Keys can be string values, integers, or None.
|
237
|
+
"""
|
238
|
+
Loader.add_path_resolver(tag, path, kind)
|
239
|
+
Dumper.add_path_resolver(tag, path, kind)
|
240
|
+
|
241
|
+
def add_constructor(tag, constructor, Loader=Loader):
|
242
|
+
"""
|
243
|
+
Add a constructor for the given tag.
|
244
|
+
Constructor is a function that accepts a Loader instance
|
245
|
+
and a node object and produces the corresponding Python object.
|
246
|
+
"""
|
247
|
+
Loader.add_constructor(tag, constructor)
|
248
|
+
|
249
|
+
def add_multi_constructor(tag_prefix, multi_constructor, Loader=Loader):
|
250
|
+
"""
|
251
|
+
Add a multi-constructor for the given tag prefix.
|
252
|
+
Multi-constructor is called for a node if its tag starts with tag_prefix.
|
253
|
+
Multi-constructor accepts a Loader instance, a tag suffix,
|
254
|
+
and a node object and produces the corresponding Python object.
|
255
|
+
"""
|
256
|
+
Loader.add_multi_constructor(tag_prefix, multi_constructor)
|
257
|
+
|
258
|
+
def add_representer(data_type, representer, Dumper=Dumper):
|
259
|
+
"""
|
260
|
+
Add a representer for the given type.
|
261
|
+
Representer is a function accepting a Dumper instance
|
262
|
+
and an instance of the given data type
|
263
|
+
and producing the corresponding representation node.
|
264
|
+
"""
|
265
|
+
Dumper.add_representer(data_type, representer)
|
266
|
+
|
267
|
+
def add_multi_representer(data_type, multi_representer, Dumper=Dumper):
|
268
|
+
"""
|
269
|
+
Add a representer for the given type.
|
270
|
+
Multi-representer is a function accepting a Dumper instance
|
271
|
+
and an instance of the given data type or subtype
|
272
|
+
and producing the corresponding representation node.
|
273
|
+
"""
|
274
|
+
Dumper.add_multi_representer(data_type, multi_representer)
|
275
|
+
|
276
|
+
class YAMLObjectMetaclass(type):
|
277
|
+
"""
|
278
|
+
The metaclass for YAMLObject.
|
279
|
+
"""
|
280
|
+
def __init__(cls, name, bases, kwds):
|
281
|
+
super(YAMLObjectMetaclass, cls).__init__(name, bases, kwds)
|
282
|
+
if 'yaml_tag' in kwds and kwds['yaml_tag'] is not None:
|
283
|
+
cls.yaml_loader.add_constructor(cls.yaml_tag, cls.from_yaml)
|
284
|
+
cls.yaml_dumper.add_representer(cls, cls.to_yaml)
|
285
|
+
|
286
|
+
class YAMLObject(object):
|
287
|
+
"""
|
288
|
+
An object that can dump itself to a YAML stream
|
289
|
+
and load itself from a YAML stream.
|
290
|
+
"""
|
291
|
+
|
292
|
+
__metaclass__ = YAMLObjectMetaclass
|
293
|
+
__slots__ = () # no direct instantiation, so allow immutable subclasses
|
294
|
+
|
295
|
+
yaml_loader = Loader
|
296
|
+
yaml_dumper = Dumper
|
297
|
+
|
298
|
+
yaml_tag = None
|
299
|
+
yaml_flow_style = None
|
300
|
+
|
301
|
+
def from_yaml(cls, loader, node):
|
302
|
+
"""
|
303
|
+
Convert a representation node to a Python object.
|
304
|
+
"""
|
305
|
+
return loader.construct_yaml_object(node, cls)
|
306
|
+
from_yaml = classmethod(from_yaml)
|
307
|
+
|
308
|
+
def to_yaml(cls, dumper, data):
|
309
|
+
"""
|
310
|
+
Convert a Python object to a representation node.
|
311
|
+
"""
|
312
|
+
return dumper.represent_yaml_object(cls.yaml_tag, data, cls,
|
313
|
+
flow_style=cls.yaml_flow_style)
|
314
|
+
to_yaml = classmethod(to_yaml)
|
315
|
+
|
Binary file
|
@@ -0,0 +1,139 @@
|
|
1
|
+
|
2
|
+
__all__ = ['Composer', 'ComposerError']
|
3
|
+
|
4
|
+
from error import MarkedYAMLError
|
5
|
+
from events import *
|
6
|
+
from nodes import *
|
7
|
+
|
8
|
+
class ComposerError(MarkedYAMLError):
|
9
|
+
pass
|
10
|
+
|
11
|
+
class Composer(object):
|
12
|
+
|
13
|
+
def __init__(self):
|
14
|
+
self.anchors = {}
|
15
|
+
|
16
|
+
def check_node(self):
|
17
|
+
# Drop the STREAM-START event.
|
18
|
+
if self.check_event(StreamStartEvent):
|
19
|
+
self.get_event()
|
20
|
+
|
21
|
+
# If there are more documents available?
|
22
|
+
return not self.check_event(StreamEndEvent)
|
23
|
+
|
24
|
+
def get_node(self):
|
25
|
+
# Get the root node of the next document.
|
26
|
+
if not self.check_event(StreamEndEvent):
|
27
|
+
return self.compose_document()
|
28
|
+
|
29
|
+
def get_single_node(self):
|
30
|
+
# Drop the STREAM-START event.
|
31
|
+
self.get_event()
|
32
|
+
|
33
|
+
# Compose a document if the stream is not empty.
|
34
|
+
document = None
|
35
|
+
if not self.check_event(StreamEndEvent):
|
36
|
+
document = self.compose_document()
|
37
|
+
|
38
|
+
# Ensure that the stream contains no more documents.
|
39
|
+
if not self.check_event(StreamEndEvent):
|
40
|
+
event = self.get_event()
|
41
|
+
raise ComposerError("expected a single document in the stream",
|
42
|
+
document.start_mark, "but found another document",
|
43
|
+
event.start_mark)
|
44
|
+
|
45
|
+
# Drop the STREAM-END event.
|
46
|
+
self.get_event()
|
47
|
+
|
48
|
+
return document
|
49
|
+
|
50
|
+
def compose_document(self):
|
51
|
+
# Drop the DOCUMENT-START event.
|
52
|
+
self.get_event()
|
53
|
+
|
54
|
+
# Compose the root node.
|
55
|
+
node = self.compose_node(None, None)
|
56
|
+
|
57
|
+
# Drop the DOCUMENT-END event.
|
58
|
+
self.get_event()
|
59
|
+
|
60
|
+
self.anchors = {}
|
61
|
+
return node
|
62
|
+
|
63
|
+
def compose_node(self, parent, index):
|
64
|
+
if self.check_event(AliasEvent):
|
65
|
+
event = self.get_event()
|
66
|
+
anchor = event.anchor
|
67
|
+
if anchor not in self.anchors:
|
68
|
+
raise ComposerError(None, None, "found undefined alias %r"
|
69
|
+
% anchor.encode('utf-8'), event.start_mark)
|
70
|
+
return self.anchors[anchor]
|
71
|
+
event = self.peek_event()
|
72
|
+
anchor = event.anchor
|
73
|
+
if anchor is not None:
|
74
|
+
if anchor in self.anchors:
|
75
|
+
raise ComposerError("found duplicate anchor %r; first occurence"
|
76
|
+
% anchor.encode('utf-8'), self.anchors[anchor].start_mark,
|
77
|
+
"second occurence", event.start_mark)
|
78
|
+
self.descend_resolver(parent, index)
|
79
|
+
if self.check_event(ScalarEvent):
|
80
|
+
node = self.compose_scalar_node(anchor)
|
81
|
+
elif self.check_event(SequenceStartEvent):
|
82
|
+
node = self.compose_sequence_node(anchor)
|
83
|
+
elif self.check_event(MappingStartEvent):
|
84
|
+
node = self.compose_mapping_node(anchor)
|
85
|
+
self.ascend_resolver()
|
86
|
+
return node
|
87
|
+
|
88
|
+
def compose_scalar_node(self, anchor):
|
89
|
+
event = self.get_event()
|
90
|
+
tag = event.tag
|
91
|
+
if tag is None or tag == u'!':
|
92
|
+
tag = self.resolve(ScalarNode, event.value, event.implicit)
|
93
|
+
node = ScalarNode(tag, event.value,
|
94
|
+
event.start_mark, event.end_mark, style=event.style)
|
95
|
+
if anchor is not None:
|
96
|
+
self.anchors[anchor] = node
|
97
|
+
return node
|
98
|
+
|
99
|
+
def compose_sequence_node(self, anchor):
|
100
|
+
start_event = self.get_event()
|
101
|
+
tag = start_event.tag
|
102
|
+
if tag is None or tag == u'!':
|
103
|
+
tag = self.resolve(SequenceNode, None, start_event.implicit)
|
104
|
+
node = SequenceNode(tag, [],
|
105
|
+
start_event.start_mark, None,
|
106
|
+
flow_style=start_event.flow_style)
|
107
|
+
if anchor is not None:
|
108
|
+
self.anchors[anchor] = node
|
109
|
+
index = 0
|
110
|
+
while not self.check_event(SequenceEndEvent):
|
111
|
+
node.value.append(self.compose_node(node, index))
|
112
|
+
index += 1
|
113
|
+
end_event = self.get_event()
|
114
|
+
node.end_mark = end_event.end_mark
|
115
|
+
return node
|
116
|
+
|
117
|
+
def compose_mapping_node(self, anchor):
|
118
|
+
start_event = self.get_event()
|
119
|
+
tag = start_event.tag
|
120
|
+
if tag is None or tag == u'!':
|
121
|
+
tag = self.resolve(MappingNode, None, start_event.implicit)
|
122
|
+
node = MappingNode(tag, [],
|
123
|
+
start_event.start_mark, None,
|
124
|
+
flow_style=start_event.flow_style)
|
125
|
+
if anchor is not None:
|
126
|
+
self.anchors[anchor] = node
|
127
|
+
while not self.check_event(MappingEndEvent):
|
128
|
+
#key_event = self.peek_event()
|
129
|
+
item_key = self.compose_node(node, None)
|
130
|
+
#if item_key in node.value:
|
131
|
+
# raise ComposerError("while composing a mapping", start_event.start_mark,
|
132
|
+
# "found duplicate key", key_event.start_mark)
|
133
|
+
item_value = self.compose_node(node, item_key)
|
134
|
+
#node.value[item_key] = item_value
|
135
|
+
node.value.append((item_key, item_value))
|
136
|
+
end_event = self.get_event()
|
137
|
+
node.end_mark = end_event.end_mark
|
138
|
+
return node
|
139
|
+
|
Binary file
|