rigid 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|