rigid 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (364) hide show
  1. checksums.yaml +7 -0
  2. data/bin/rigid +4 -0
  3. data/rigid +16 -0
  4. data/vendor/PyYAML-3.12.dist-info/DESCRIPTION.rst +12 -0
  5. data/vendor/PyYAML-3.12.dist-info/INSTALLER +1 -0
  6. data/vendor/PyYAML-3.12.dist-info/METADATA +35 -0
  7. data/vendor/PyYAML-3.12.dist-info/RECORD +42 -0
  8. data/vendor/PyYAML-3.12.dist-info/WHEEL +5 -0
  9. data/vendor/PyYAML-3.12.dist-info/metadata.json +1 -0
  10. data/vendor/PyYAML-3.12.dist-info/top_level.txt +2 -0
  11. data/vendor/_yaml.so +0 -0
  12. data/vendor/click/__init__.py +98 -0
  13. data/vendor/click/__init__.pyc +0 -0
  14. data/vendor/click/_bashcomplete.py +83 -0
  15. data/vendor/click/_bashcomplete.pyc +0 -0
  16. data/vendor/click/_compat.py +642 -0
  17. data/vendor/click/_compat.pyc +0 -0
  18. data/vendor/click/_termui_impl.py +547 -0
  19. data/vendor/click/_termui_impl.pyc +0 -0
  20. data/vendor/click/_textwrap.py +38 -0
  21. data/vendor/click/_textwrap.pyc +0 -0
  22. data/vendor/click/_unicodefun.py +119 -0
  23. data/vendor/click/_unicodefun.pyc +0 -0
  24. data/vendor/click/_winconsole.py +273 -0
  25. data/vendor/click/_winconsole.pyc +0 -0
  26. data/vendor/click/core.py +1738 -0
  27. data/vendor/click/core.pyc +0 -0
  28. data/vendor/click/decorators.py +304 -0
  29. data/vendor/click/decorators.pyc +0 -0
  30. data/vendor/click/exceptions.py +201 -0
  31. data/vendor/click/exceptions.pyc +0 -0
  32. data/vendor/click/formatting.py +256 -0
  33. data/vendor/click/formatting.pyc +0 -0
  34. data/vendor/click/globals.py +48 -0
  35. data/vendor/click/globals.pyc +0 -0
  36. data/vendor/click/parser.py +426 -0
  37. data/vendor/click/parser.pyc +0 -0
  38. data/vendor/click/termui.py +539 -0
  39. data/vendor/click/termui.pyc +0 -0
  40. data/vendor/click/testing.py +322 -0
  41. data/vendor/click/testing.pyc +0 -0
  42. data/vendor/click/types.py +550 -0
  43. data/vendor/click/types.pyc +0 -0
  44. data/vendor/click/utils.py +415 -0
  45. data/vendor/click/utils.pyc +0 -0
  46. data/vendor/click-6.6.dist-info/DESCRIPTION.rst +3 -0
  47. data/vendor/click-6.6.dist-info/INSTALLER +1 -0
  48. data/vendor/click-6.6.dist-info/METADATA +16 -0
  49. data/vendor/click-6.6.dist-info/RECORD +41 -0
  50. data/vendor/click-6.6.dist-info/WHEEL +6 -0
  51. data/vendor/click-6.6.dist-info/metadata.json +1 -0
  52. data/vendor/click-6.6.dist-info/top_level.txt +1 -0
  53. data/vendor/easy_install.py +5 -0
  54. data/vendor/easy_install.pyc +0 -0
  55. data/vendor/pip-9.0.1.dist-info/DESCRIPTION.rst +39 -0
  56. data/vendor/pip-9.0.1.dist-info/INSTALLER +1 -0
  57. data/vendor/pip-9.0.1.dist-info/METADATA +69 -0
  58. data/vendor/pip-9.0.1.dist-info/RECORD +501 -0
  59. data/vendor/pip-9.0.1.dist-info/WHEEL +6 -0
  60. data/vendor/pip-9.0.1.dist-info/entry_points.txt +5 -0
  61. data/vendor/pip-9.0.1.dist-info/metadata.json +1 -0
  62. data/vendor/pip-9.0.1.dist-info/top_level.txt +1 -0
  63. data/vendor/pkg_resources/__init__.py +3051 -0
  64. data/vendor/pkg_resources/__init__.pyc +0 -0
  65. data/vendor/pkg_resources/_vendor/__init__.py +0 -0
  66. data/vendor/pkg_resources/_vendor/__init__.pyc +0 -0
  67. data/vendor/pkg_resources/_vendor/appdirs.py +552 -0
  68. data/vendor/pkg_resources/_vendor/appdirs.pyc +0 -0
  69. data/vendor/pkg_resources/_vendor/packaging/__about__.py +21 -0
  70. data/vendor/pkg_resources/_vendor/packaging/__about__.pyc +0 -0
  71. data/vendor/pkg_resources/_vendor/packaging/__init__.py +14 -0
  72. data/vendor/pkg_resources/_vendor/packaging/__init__.pyc +0 -0
  73. data/vendor/pkg_resources/_vendor/packaging/_compat.py +30 -0
  74. data/vendor/pkg_resources/_vendor/packaging/_compat.pyc +0 -0
  75. data/vendor/pkg_resources/_vendor/packaging/_structures.py +68 -0
  76. data/vendor/pkg_resources/_vendor/packaging/_structures.pyc +0 -0
  77. data/vendor/pkg_resources/_vendor/packaging/markers.py +287 -0
  78. data/vendor/pkg_resources/_vendor/packaging/markers.pyc +0 -0
  79. data/vendor/pkg_resources/_vendor/packaging/requirements.py +127 -0
  80. data/vendor/pkg_resources/_vendor/packaging/requirements.pyc +0 -0
  81. data/vendor/pkg_resources/_vendor/packaging/specifiers.py +774 -0
  82. data/vendor/pkg_resources/_vendor/packaging/specifiers.pyc +0 -0
  83. data/vendor/pkg_resources/_vendor/packaging/utils.py +14 -0
  84. data/vendor/pkg_resources/_vendor/packaging/utils.pyc +0 -0
  85. data/vendor/pkg_resources/_vendor/packaging/version.py +393 -0
  86. data/vendor/pkg_resources/_vendor/packaging/version.pyc +0 -0
  87. data/vendor/pkg_resources/_vendor/pyparsing.py +5696 -0
  88. data/vendor/pkg_resources/_vendor/pyparsing.pyc +0 -0
  89. data/vendor/pkg_resources/_vendor/six.py +868 -0
  90. data/vendor/pkg_resources/_vendor/six.pyc +0 -0
  91. data/vendor/pkg_resources/extern/__init__.py +73 -0
  92. data/vendor/pkg_resources/extern/__init__.pyc +0 -0
  93. data/vendor/requests/__init__.py +86 -0
  94. data/vendor/requests/__init__.pyc +0 -0
  95. data/vendor/requests/adapters.py +503 -0
  96. data/vendor/requests/adapters.pyc +0 -0
  97. data/vendor/requests/api.py +148 -0
  98. data/vendor/requests/api.pyc +0 -0
  99. data/vendor/requests/auth.py +252 -0
  100. data/vendor/requests/auth.pyc +0 -0
  101. data/vendor/requests/cacert.pem +5616 -0
  102. data/vendor/requests/certs.py +25 -0
  103. data/vendor/requests/certs.pyc +0 -0
  104. data/vendor/requests/compat.py +66 -0
  105. data/vendor/requests/compat.pyc +0 -0
  106. data/vendor/requests/cookies.py +540 -0
  107. data/vendor/requests/cookies.pyc +0 -0
  108. data/vendor/requests/exceptions.py +114 -0
  109. data/vendor/requests/exceptions.pyc +0 -0
  110. data/vendor/requests/hooks.py +34 -0
  111. data/vendor/requests/hooks.pyc +0 -0
  112. data/vendor/requests/models.py +873 -0
  113. data/vendor/requests/models.pyc +0 -0
  114. data/vendor/requests/packages/__init__.py +36 -0
  115. data/vendor/requests/packages/__init__.pyc +0 -0
  116. data/vendor/requests/packages/chardet/__init__.py +32 -0
  117. data/vendor/requests/packages/chardet/__init__.pyc +0 -0
  118. data/vendor/requests/packages/chardet/big5freq.py +925 -0
  119. data/vendor/requests/packages/chardet/big5freq.pyc +0 -0
  120. data/vendor/requests/packages/chardet/big5prober.py +42 -0
  121. data/vendor/requests/packages/chardet/big5prober.pyc +0 -0
  122. data/vendor/requests/packages/chardet/chardetect.py +80 -0
  123. data/vendor/requests/packages/chardet/chardetect.pyc +0 -0
  124. data/vendor/requests/packages/chardet/chardistribution.py +231 -0
  125. data/vendor/requests/packages/chardet/chardistribution.pyc +0 -0
  126. data/vendor/requests/packages/chardet/charsetgroupprober.py +106 -0
  127. data/vendor/requests/packages/chardet/charsetgroupprober.pyc +0 -0
  128. data/vendor/requests/packages/chardet/charsetprober.py +62 -0
  129. data/vendor/requests/packages/chardet/charsetprober.pyc +0 -0
  130. data/vendor/requests/packages/chardet/codingstatemachine.py +61 -0
  131. data/vendor/requests/packages/chardet/codingstatemachine.pyc +0 -0
  132. data/vendor/requests/packages/chardet/compat.py +34 -0
  133. data/vendor/requests/packages/chardet/compat.pyc +0 -0
  134. data/vendor/requests/packages/chardet/constants.py +39 -0
  135. data/vendor/requests/packages/chardet/constants.pyc +0 -0
  136. data/vendor/requests/packages/chardet/cp949prober.py +44 -0
  137. data/vendor/requests/packages/chardet/cp949prober.pyc +0 -0
  138. data/vendor/requests/packages/chardet/escprober.py +86 -0
  139. data/vendor/requests/packages/chardet/escprober.pyc +0 -0
  140. data/vendor/requests/packages/chardet/escsm.py +242 -0
  141. data/vendor/requests/packages/chardet/escsm.pyc +0 -0
  142. data/vendor/requests/packages/chardet/eucjpprober.py +90 -0
  143. data/vendor/requests/packages/chardet/eucjpprober.pyc +0 -0
  144. data/vendor/requests/packages/chardet/euckrfreq.py +596 -0
  145. data/vendor/requests/packages/chardet/euckrfreq.pyc +0 -0
  146. data/vendor/requests/packages/chardet/euckrprober.py +42 -0
  147. data/vendor/requests/packages/chardet/euckrprober.pyc +0 -0
  148. data/vendor/requests/packages/chardet/euctwfreq.py +428 -0
  149. data/vendor/requests/packages/chardet/euctwfreq.pyc +0 -0
  150. data/vendor/requests/packages/chardet/euctwprober.py +41 -0
  151. data/vendor/requests/packages/chardet/euctwprober.pyc +0 -0
  152. data/vendor/requests/packages/chardet/gb2312freq.py +472 -0
  153. data/vendor/requests/packages/chardet/gb2312freq.pyc +0 -0
  154. data/vendor/requests/packages/chardet/gb2312prober.py +41 -0
  155. data/vendor/requests/packages/chardet/gb2312prober.pyc +0 -0
  156. data/vendor/requests/packages/chardet/hebrewprober.py +283 -0
  157. data/vendor/requests/packages/chardet/hebrewprober.pyc +0 -0
  158. data/vendor/requests/packages/chardet/jisfreq.py +569 -0
  159. data/vendor/requests/packages/chardet/jisfreq.pyc +0 -0
  160. data/vendor/requests/packages/chardet/jpcntx.py +227 -0
  161. data/vendor/requests/packages/chardet/jpcntx.pyc +0 -0
  162. data/vendor/requests/packages/chardet/langbulgarianmodel.py +229 -0
  163. data/vendor/requests/packages/chardet/langbulgarianmodel.pyc +0 -0
  164. data/vendor/requests/packages/chardet/langcyrillicmodel.py +329 -0
  165. data/vendor/requests/packages/chardet/langcyrillicmodel.pyc +0 -0
  166. data/vendor/requests/packages/chardet/langgreekmodel.py +225 -0
  167. data/vendor/requests/packages/chardet/langgreekmodel.pyc +0 -0
  168. data/vendor/requests/packages/chardet/langhebrewmodel.py +201 -0
  169. data/vendor/requests/packages/chardet/langhebrewmodel.pyc +0 -0
  170. data/vendor/requests/packages/chardet/langhungarianmodel.py +225 -0
  171. data/vendor/requests/packages/chardet/langhungarianmodel.pyc +0 -0
  172. data/vendor/requests/packages/chardet/langthaimodel.py +200 -0
  173. data/vendor/requests/packages/chardet/langthaimodel.pyc +0 -0
  174. data/vendor/requests/packages/chardet/latin1prober.py +139 -0
  175. data/vendor/requests/packages/chardet/latin1prober.pyc +0 -0
  176. data/vendor/requests/packages/chardet/mbcharsetprober.py +86 -0
  177. data/vendor/requests/packages/chardet/mbcharsetprober.pyc +0 -0
  178. data/vendor/requests/packages/chardet/mbcsgroupprober.py +54 -0
  179. data/vendor/requests/packages/chardet/mbcsgroupprober.pyc +0 -0
  180. data/vendor/requests/packages/chardet/mbcssm.py +572 -0
  181. data/vendor/requests/packages/chardet/mbcssm.pyc +0 -0
  182. data/vendor/requests/packages/chardet/sbcharsetprober.py +120 -0
  183. data/vendor/requests/packages/chardet/sbcharsetprober.pyc +0 -0
  184. data/vendor/requests/packages/chardet/sbcsgroupprober.py +69 -0
  185. data/vendor/requests/packages/chardet/sbcsgroupprober.pyc +0 -0
  186. data/vendor/requests/packages/chardet/sjisprober.py +91 -0
  187. data/vendor/requests/packages/chardet/sjisprober.pyc +0 -0
  188. data/vendor/requests/packages/chardet/universaldetector.py +170 -0
  189. data/vendor/requests/packages/chardet/universaldetector.pyc +0 -0
  190. data/vendor/requests/packages/chardet/utf8prober.py +76 -0
  191. data/vendor/requests/packages/chardet/utf8prober.pyc +0 -0
  192. data/vendor/requests/packages/urllib3/__init__.py +96 -0
  193. data/vendor/requests/packages/urllib3/__init__.pyc +0 -0
  194. data/vendor/requests/packages/urllib3/_collections.py +324 -0
  195. data/vendor/requests/packages/urllib3/_collections.pyc +0 -0
  196. data/vendor/requests/packages/urllib3/connection.py +330 -0
  197. data/vendor/requests/packages/urllib3/connection.pyc +0 -0
  198. data/vendor/requests/packages/urllib3/connectionpool.py +866 -0
  199. data/vendor/requests/packages/urllib3/connectionpool.pyc +0 -0
  200. data/vendor/requests/packages/urllib3/contrib/__init__.py +0 -0
  201. data/vendor/requests/packages/urllib3/contrib/__init__.pyc +0 -0
  202. data/vendor/requests/packages/urllib3/contrib/appengine.py +231 -0
  203. data/vendor/requests/packages/urllib3/contrib/appengine.pyc +0 -0
  204. data/vendor/requests/packages/urllib3/contrib/ntlmpool.py +115 -0
  205. data/vendor/requests/packages/urllib3/contrib/ntlmpool.pyc +0 -0
  206. data/vendor/requests/packages/urllib3/contrib/pyopenssl.py +358 -0
  207. data/vendor/requests/packages/urllib3/contrib/pyopenssl.pyc +0 -0
  208. data/vendor/requests/packages/urllib3/contrib/socks.py +172 -0
  209. data/vendor/requests/packages/urllib3/contrib/socks.pyc +0 -0
  210. data/vendor/requests/packages/urllib3/exceptions.py +209 -0
  211. data/vendor/requests/packages/urllib3/exceptions.pyc +0 -0
  212. data/vendor/requests/packages/urllib3/fields.py +178 -0
  213. data/vendor/requests/packages/urllib3/fields.pyc +0 -0
  214. data/vendor/requests/packages/urllib3/filepost.py +94 -0
  215. data/vendor/requests/packages/urllib3/filepost.pyc +0 -0
  216. data/vendor/requests/packages/urllib3/packages/__init__.py +5 -0
  217. data/vendor/requests/packages/urllib3/packages/__init__.pyc +0 -0
  218. data/vendor/requests/packages/urllib3/packages/ordered_dict.py +259 -0
  219. data/vendor/requests/packages/urllib3/packages/ordered_dict.pyc +0 -0
  220. data/vendor/requests/packages/urllib3/packages/six.py +868 -0
  221. data/vendor/requests/packages/urllib3/packages/six.pyc +0 -0
  222. data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py +13 -0
  223. data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/__init__.pyc +0 -0
  224. data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py +105 -0
  225. data/vendor/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.pyc +0 -0
  226. data/vendor/requests/packages/urllib3/poolmanager.py +367 -0
  227. data/vendor/requests/packages/urllib3/poolmanager.pyc +0 -0
  228. data/vendor/requests/packages/urllib3/request.py +151 -0
  229. data/vendor/requests/packages/urllib3/request.pyc +0 -0
  230. data/vendor/requests/packages/urllib3/response.py +530 -0
  231. data/vendor/requests/packages/urllib3/response.pyc +0 -0
  232. data/vendor/requests/packages/urllib3/util/__init__.py +46 -0
  233. data/vendor/requests/packages/urllib3/util/__init__.pyc +0 -0
  234. data/vendor/requests/packages/urllib3/util/connection.py +144 -0
  235. data/vendor/requests/packages/urllib3/util/connection.pyc +0 -0
  236. data/vendor/requests/packages/urllib3/util/request.py +72 -0
  237. data/vendor/requests/packages/urllib3/util/request.pyc +0 -0
  238. data/vendor/requests/packages/urllib3/util/response.py +74 -0
  239. data/vendor/requests/packages/urllib3/util/response.pyc +0 -0
  240. data/vendor/requests/packages/urllib3/util/retry.py +300 -0
  241. data/vendor/requests/packages/urllib3/util/retry.pyc +0 -0
  242. data/vendor/requests/packages/urllib3/util/ssl_.py +320 -0
  243. data/vendor/requests/packages/urllib3/util/ssl_.pyc +0 -0
  244. data/vendor/requests/packages/urllib3/util/timeout.py +242 -0
  245. data/vendor/requests/packages/urllib3/util/timeout.pyc +0 -0
  246. data/vendor/requests/packages/urllib3/util/url.py +217 -0
  247. data/vendor/requests/packages/urllib3/util/url.pyc +0 -0
  248. data/vendor/requests/sessions.py +712 -0
  249. data/vendor/requests/sessions.pyc +0 -0
  250. data/vendor/requests/status_codes.py +91 -0
  251. data/vendor/requests/status_codes.pyc +0 -0
  252. data/vendor/requests/structures.py +105 -0
  253. data/vendor/requests/structures.pyc +0 -0
  254. data/vendor/requests/utils.py +817 -0
  255. data/vendor/requests/utils.pyc +0 -0
  256. data/vendor/requests-2.11.1.dist-info/DESCRIPTION.rst +1294 -0
  257. data/vendor/requests-2.11.1.dist-info/INSTALLER +1 -0
  258. data/vendor/requests-2.11.1.dist-info/METADATA +1323 -0
  259. data/vendor/requests-2.11.1.dist-info/RECORD +170 -0
  260. data/vendor/requests-2.11.1.dist-info/WHEEL +6 -0
  261. data/vendor/requests-2.11.1.dist-info/metadata.json +1 -0
  262. data/vendor/requests-2.11.1.dist-info/top_level.txt +1 -0
  263. data/vendor/rigid/__init__.py +1 -0
  264. data/vendor/rigid/__init__.pyc +0 -0
  265. data/vendor/rigid/api.py +129 -0
  266. data/vendor/rigid/api.pyc +0 -0
  267. data/vendor/rigid/commands/__init__.py +260 -0
  268. data/vendor/rigid/commands/__init__.pyc +0 -0
  269. data/vendor/rigid/commands/deploy.py +0 -0
  270. data/vendor/rigid/commands/deploy.pyc +0 -0
  271. data/vendor/rigid/deploy.py +70 -0
  272. data/vendor/rigid/deploy.pyc +0 -0
  273. data/vendor/rigid/file_scanner.py +63 -0
  274. data/vendor/rigid/file_scanner.pyc +0 -0
  275. data/vendor/rigid/utils.py +17 -0
  276. data/vendor/rigid/utils.pyc +0 -0
  277. data/vendor/rigid-0.2.0.dist-info/DESCRIPTION.rst +3 -0
  278. data/vendor/rigid-0.2.0.dist-info/INSTALLER +1 -0
  279. data/vendor/rigid-0.2.0.dist-info/METADATA +23 -0
  280. data/vendor/rigid-0.2.0.dist-info/RECORD +49 -0
  281. data/vendor/rigid-0.2.0.dist-info/WHEEL +5 -0
  282. data/vendor/rigid-0.2.0.dist-info/entry_points.txt +3 -0
  283. data/vendor/rigid-0.2.0.dist-info/metadata.json +1 -0
  284. data/vendor/rigid-0.2.0.dist-info/top_level.txt +2 -0
  285. data/vendor/setuptools-28.8.0.dist-info/DESCRIPTION.rst +243 -0
  286. data/vendor/setuptools-28.8.0.dist-info/INSTALLER +1 -0
  287. data/vendor/setuptools-28.8.0.dist-info/METADATA +272 -0
  288. data/vendor/setuptools-28.8.0.dist-info/RECORD +143 -0
  289. data/vendor/setuptools-28.8.0.dist-info/WHEEL +6 -0
  290. data/vendor/setuptools-28.8.0.dist-info/dependency_links.txt +2 -0
  291. data/vendor/setuptools-28.8.0.dist-info/entry_points.txt +63 -0
  292. data/vendor/setuptools-28.8.0.dist-info/metadata.json +1 -0
  293. data/vendor/setuptools-28.8.0.dist-info/top_level.txt +3 -0
  294. data/vendor/setuptools-28.8.0.dist-info/zip-safe +1 -0
  295. data/vendor/tests/__init__.py +0 -0
  296. data/vendor/tests/__init__.pyc +0 -0
  297. data/vendor/tests/integration/__init__.py +0 -0
  298. data/vendor/tests/integration/__init__.pyc +0 -0
  299. data/vendor/tests/integration/test_app.py +63 -0
  300. data/vendor/tests/integration/test_app.pyc +0 -0
  301. data/vendor/tests/integration/test_apps.py +27 -0
  302. data/vendor/tests/integration/test_apps.pyc +0 -0
  303. data/vendor/tests/integration/test_deploy.py +128 -0
  304. data/vendor/tests/integration/test_deploy.pyc +0 -0
  305. data/vendor/tests/integration/test_domains.py +35 -0
  306. data/vendor/tests/integration/test_domains.pyc +0 -0
  307. data/vendor/tests/integration/test_login.py +37 -0
  308. data/vendor/tests/integration/test_login.pyc +0 -0
  309. data/vendor/tests/integration/test_promote.py +24 -0
  310. data/vendor/tests/integration/test_promote.pyc +0 -0
  311. data/vendor/tests/integration/test_token.py +33 -0
  312. data/vendor/tests/integration/test_token.pyc +0 -0
  313. data/vendor/tests/integration/test_whoami.py +24 -0
  314. data/vendor/tests/integration/test_whoami.pyc +0 -0
  315. data/vendor/tests/test_deploy.py +33 -0
  316. data/vendor/tests/test_deploy.pyc +0 -0
  317. data/vendor/tests/test_file_scanner.py +89 -0
  318. data/vendor/tests/test_file_scanner.pyc +0 -0
  319. data/vendor/tests/utils.py +78 -0
  320. data/vendor/tests/utils.pyc +0 -0
  321. data/vendor/wheel-0.30.0a0.dist-info/DESCRIPTION.rst +325 -0
  322. data/vendor/wheel-0.30.0a0.dist-info/INSTALLER +1 -0
  323. data/vendor/wheel-0.30.0a0.dist-info/LICENSE.txt +22 -0
  324. data/vendor/wheel-0.30.0a0.dist-info/METADATA +357 -0
  325. data/vendor/wheel-0.30.0a0.dist-info/RECORD +86 -0
  326. data/vendor/wheel-0.30.0a0.dist-info/WHEEL +6 -0
  327. data/vendor/wheel-0.30.0a0.dist-info/entry_points.txt +6 -0
  328. data/vendor/wheel-0.30.0a0.dist-info/metadata.json +1 -0
  329. data/vendor/wheel-0.30.0a0.dist-info/top_level.txt +1 -0
  330. data/vendor/yaml/__init__.py +315 -0
  331. data/vendor/yaml/__init__.pyc +0 -0
  332. data/vendor/yaml/composer.py +139 -0
  333. data/vendor/yaml/composer.pyc +0 -0
  334. data/vendor/yaml/constructor.py +675 -0
  335. data/vendor/yaml/constructor.pyc +0 -0
  336. data/vendor/yaml/cyaml.py +85 -0
  337. data/vendor/yaml/cyaml.pyc +0 -0
  338. data/vendor/yaml/dumper.py +62 -0
  339. data/vendor/yaml/dumper.pyc +0 -0
  340. data/vendor/yaml/emitter.py +1140 -0
  341. data/vendor/yaml/emitter.pyc +0 -0
  342. data/vendor/yaml/error.py +75 -0
  343. data/vendor/yaml/error.pyc +0 -0
  344. data/vendor/yaml/events.py +86 -0
  345. data/vendor/yaml/events.pyc +0 -0
  346. data/vendor/yaml/loader.py +40 -0
  347. data/vendor/yaml/loader.pyc +0 -0
  348. data/vendor/yaml/nodes.py +49 -0
  349. data/vendor/yaml/nodes.pyc +0 -0
  350. data/vendor/yaml/parser.py +589 -0
  351. data/vendor/yaml/parser.pyc +0 -0
  352. data/vendor/yaml/reader.py +190 -0
  353. data/vendor/yaml/reader.pyc +0 -0
  354. data/vendor/yaml/representer.py +486 -0
  355. data/vendor/yaml/representer.pyc +0 -0
  356. data/vendor/yaml/resolver.py +227 -0
  357. data/vendor/yaml/resolver.pyc +0 -0
  358. data/vendor/yaml/scanner.py +1453 -0
  359. data/vendor/yaml/scanner.pyc +0 -0
  360. data/vendor/yaml/serializer.py +111 -0
  361. data/vendor/yaml/serializer.pyc +0 -0
  362. data/vendor/yaml/tokens.py +104 -0
  363. data/vendor/yaml/tokens.pyc +0 -0
  364. metadata +407 -0
@@ -0,0 +1,550 @@
1
+ import os
2
+ import stat
3
+
4
+ from ._compat import open_stream, text_type, filename_to_ui, \
5
+ get_filesystem_encoding, get_streerror, _get_argv_encoding, PY2
6
+ from .exceptions import BadParameter
7
+ from .utils import safecall, LazyFile
8
+
9
+
10
+ class ParamType(object):
11
+ """Helper for converting values through types. The following is
12
+ necessary for a valid type:
13
+
14
+ * it needs a name
15
+ * it needs to pass through None unchanged
16
+ * it needs to convert from a string
17
+ * it needs to convert its result type through unchanged
18
+ (eg: needs to be idempotent)
19
+ * it needs to be able to deal with param and context being `None`.
20
+ This can be the case when the object is used with prompt
21
+ inputs.
22
+ """
23
+ is_composite = False
24
+
25
+ #: the descriptive name of this type
26
+ name = None
27
+
28
+ #: if a list of this type is expected and the value is pulled from a
29
+ #: string environment variable, this is what splits it up. `None`
30
+ #: means any whitespace. For all parameters the general rule is that
31
+ #: whitespace splits them up. The exception are paths and files which
32
+ #: are split by ``os.path.pathsep`` by default (":" on Unix and ";" on
33
+ #: Windows).
34
+ envvar_list_splitter = None
35
+
36
+ def __call__(self, value, param=None, ctx=None):
37
+ if value is not None:
38
+ return self.convert(value, param, ctx)
39
+
40
+ def get_metavar(self, param):
41
+ """Returns the metavar default for this param if it provides one."""
42
+
43
+ def get_missing_message(self, param):
44
+ """Optionally might return extra information about a missing
45
+ parameter.
46
+
47
+ .. versionadded:: 2.0
48
+ """
49
+
50
+ def convert(self, value, param, ctx):
51
+ """Converts the value. This is not invoked for values that are
52
+ `None` (the missing value).
53
+ """
54
+ return value
55
+
56
+ def split_envvar_value(self, rv):
57
+ """Given a value from an environment variable this splits it up
58
+ into small chunks depending on the defined envvar list splitter.
59
+
60
+ If the splitter is set to `None`, which means that whitespace splits,
61
+ then leading and trailing whitespace is ignored. Otherwise, leading
62
+ and trailing splitters usually lead to empty items being included.
63
+ """
64
+ return (rv or '').split(self.envvar_list_splitter)
65
+
66
+ def fail(self, message, param=None, ctx=None):
67
+ """Helper method to fail with an invalid value message."""
68
+ raise BadParameter(message, ctx=ctx, param=param)
69
+
70
+
71
+ class CompositeParamType(ParamType):
72
+ is_composite = True
73
+
74
+ @property
75
+ def arity(self):
76
+ raise NotImplementedError()
77
+
78
+
79
+ class FuncParamType(ParamType):
80
+
81
+ def __init__(self, func):
82
+ self.name = func.__name__
83
+ self.func = func
84
+
85
+ def convert(self, value, param, ctx):
86
+ try:
87
+ return self.func(value)
88
+ except ValueError:
89
+ try:
90
+ value = text_type(value)
91
+ except UnicodeError:
92
+ value = str(value).decode('utf-8', 'replace')
93
+ self.fail(value, param, ctx)
94
+
95
+
96
+ class UnprocessedParamType(ParamType):
97
+ name = 'text'
98
+
99
+ def convert(self, value, param, ctx):
100
+ return value
101
+
102
+ def __repr__(self):
103
+ return 'UNPROCESSED'
104
+
105
+
106
+ class StringParamType(ParamType):
107
+ name = 'text'
108
+
109
+ def convert(self, value, param, ctx):
110
+ if isinstance(value, bytes):
111
+ enc = _get_argv_encoding()
112
+ try:
113
+ value = value.decode(enc)
114
+ except UnicodeError:
115
+ fs_enc = get_filesystem_encoding()
116
+ if fs_enc != enc:
117
+ try:
118
+ value = value.decode(fs_enc)
119
+ except UnicodeError:
120
+ value = value.decode('utf-8', 'replace')
121
+ return value
122
+ return value
123
+
124
+ def __repr__(self):
125
+ return 'STRING'
126
+
127
+
128
+ class Choice(ParamType):
129
+ """The choice type allows a value to be checked against a fixed set of
130
+ supported values. All of these values have to be strings.
131
+
132
+ See :ref:`choice-opts` for an example.
133
+ """
134
+ name = 'choice'
135
+
136
+ def __init__(self, choices):
137
+ self.choices = choices
138
+
139
+ def get_metavar(self, param):
140
+ return '[%s]' % '|'.join(self.choices)
141
+
142
+ def get_missing_message(self, param):
143
+ return 'Choose from %s.' % ', '.join(self.choices)
144
+
145
+ def convert(self, value, param, ctx):
146
+ # Exact match
147
+ if value in self.choices:
148
+ return value
149
+
150
+ # Match through normalization
151
+ if ctx is not None and \
152
+ ctx.token_normalize_func is not None:
153
+ value = ctx.token_normalize_func(value)
154
+ for choice in self.choices:
155
+ if ctx.token_normalize_func(choice) == value:
156
+ return choice
157
+
158
+ self.fail('invalid choice: %s. (choose from %s)' %
159
+ (value, ', '.join(self.choices)), param, ctx)
160
+
161
+ def __repr__(self):
162
+ return 'Choice(%r)' % list(self.choices)
163
+
164
+
165
+ class IntParamType(ParamType):
166
+ name = 'integer'
167
+
168
+ def convert(self, value, param, ctx):
169
+ try:
170
+ return int(value)
171
+ except (ValueError, UnicodeError):
172
+ self.fail('%s is not a valid integer' % value, param, ctx)
173
+
174
+ def __repr__(self):
175
+ return 'INT'
176
+
177
+
178
+ class IntRange(IntParamType):
179
+ """A parameter that works similar to :data:`click.INT` but restricts
180
+ the value to fit into a range. The default behavior is to fail if the
181
+ value falls outside the range, but it can also be silently clamped
182
+ between the two edges.
183
+
184
+ See :ref:`ranges` for an example.
185
+ """
186
+ name = 'integer range'
187
+
188
+ def __init__(self, min=None, max=None, clamp=False):
189
+ self.min = min
190
+ self.max = max
191
+ self.clamp = clamp
192
+
193
+ def convert(self, value, param, ctx):
194
+ rv = IntParamType.convert(self, value, param, ctx)
195
+ if self.clamp:
196
+ if self.min is not None and rv < self.min:
197
+ return self.min
198
+ if self.max is not None and rv > self.max:
199
+ return self.max
200
+ if self.min is not None and rv < self.min or \
201
+ self.max is not None and rv > self.max:
202
+ if self.min is None:
203
+ self.fail('%s is bigger than the maximum valid value '
204
+ '%s.' % (rv, self.max), param, ctx)
205
+ elif self.max is None:
206
+ self.fail('%s is smaller than the minimum valid value '
207
+ '%s.' % (rv, self.min), param, ctx)
208
+ else:
209
+ self.fail('%s is not in the valid range of %s to %s.'
210
+ % (rv, self.min, self.max), param, ctx)
211
+ return rv
212
+
213
+ def __repr__(self):
214
+ return 'IntRange(%r, %r)' % (self.min, self.max)
215
+
216
+
217
+ class BoolParamType(ParamType):
218
+ name = 'boolean'
219
+
220
+ def convert(self, value, param, ctx):
221
+ if isinstance(value, bool):
222
+ return bool(value)
223
+ value = value.lower()
224
+ if value in ('true', '1', 'yes', 'y'):
225
+ return True
226
+ elif value in ('false', '0', 'no', 'n'):
227
+ return False
228
+ self.fail('%s is not a valid boolean' % value, param, ctx)
229
+
230
+ def __repr__(self):
231
+ return 'BOOL'
232
+
233
+
234
+ class FloatParamType(ParamType):
235
+ name = 'float'
236
+
237
+ def convert(self, value, param, ctx):
238
+ try:
239
+ return float(value)
240
+ except (UnicodeError, ValueError):
241
+ self.fail('%s is not a valid floating point value' %
242
+ value, param, ctx)
243
+
244
+ def __repr__(self):
245
+ return 'FLOAT'
246
+
247
+
248
+ class UUIDParameterType(ParamType):
249
+ name = 'uuid'
250
+
251
+ def convert(self, value, param, ctx):
252
+ import uuid
253
+ try:
254
+ if PY2 and isinstance(value, text_type):
255
+ value = value.encode('ascii')
256
+ return uuid.UUID(value)
257
+ except (UnicodeError, ValueError):
258
+ self.fail('%s is not a valid UUID value' % value, param, ctx)
259
+
260
+ def __repr__(self):
261
+ return 'UUID'
262
+
263
+
264
+ class File(ParamType):
265
+ """Declares a parameter to be a file for reading or writing. The file
266
+ is automatically closed once the context tears down (after the command
267
+ finished working).
268
+
269
+ Files can be opened for reading or writing. The special value ``-``
270
+ indicates stdin or stdout depending on the mode.
271
+
272
+ By default, the file is opened for reading text data, but it can also be
273
+ opened in binary mode or for writing. The encoding parameter can be used
274
+ to force a specific encoding.
275
+
276
+ The `lazy` flag controls if the file should be opened immediately or
277
+ upon first IO. The default is to be non lazy for standard input and
278
+ output streams as well as files opened for reading, lazy otherwise.
279
+
280
+ Starting with Click 2.0, files can also be opened atomically in which
281
+ case all writes go into a separate file in the same folder and upon
282
+ completion the file will be moved over to the original location. This
283
+ is useful if a file regularly read by other users is modified.
284
+
285
+ See :ref:`file-args` for more information.
286
+ """
287
+ name = 'filename'
288
+ envvar_list_splitter = os.path.pathsep
289
+
290
+ def __init__(self, mode='r', encoding=None, errors='strict', lazy=None,
291
+ atomic=False):
292
+ self.mode = mode
293
+ self.encoding = encoding
294
+ self.errors = errors
295
+ self.lazy = lazy
296
+ self.atomic = atomic
297
+
298
+ def resolve_lazy_flag(self, value):
299
+ if self.lazy is not None:
300
+ return self.lazy
301
+ if value == '-':
302
+ return False
303
+ elif 'w' in self.mode:
304
+ return True
305
+ return False
306
+
307
+ def convert(self, value, param, ctx):
308
+ try:
309
+ if hasattr(value, 'read') or hasattr(value, 'write'):
310
+ return value
311
+
312
+ lazy = self.resolve_lazy_flag(value)
313
+
314
+ if lazy:
315
+ f = LazyFile(value, self.mode, self.encoding, self.errors,
316
+ atomic=self.atomic)
317
+ if ctx is not None:
318
+ ctx.call_on_close(f.close_intelligently)
319
+ return f
320
+
321
+ f, should_close = open_stream(value, self.mode,
322
+ self.encoding, self.errors,
323
+ atomic=self.atomic)
324
+ # If a context is provided, we automatically close the file
325
+ # at the end of the context execution (or flush out). If a
326
+ # context does not exist, it's the caller's responsibility to
327
+ # properly close the file. This for instance happens when the
328
+ # type is used with prompts.
329
+ if ctx is not None:
330
+ if should_close:
331
+ ctx.call_on_close(safecall(f.close))
332
+ else:
333
+ ctx.call_on_close(safecall(f.flush))
334
+ return f
335
+ except (IOError, OSError) as e:
336
+ self.fail('Could not open file: %s: %s' % (
337
+ filename_to_ui(value),
338
+ get_streerror(e),
339
+ ), param, ctx)
340
+
341
+
342
+ class Path(ParamType):
343
+ """The path type is similar to the :class:`File` type but it performs
344
+ different checks. First of all, instead of returning an open file
345
+ handle it returns just the filename. Secondly, it can perform various
346
+ basic checks about what the file or directory should be.
347
+
348
+ .. versionchanged:: 6.0
349
+ `allow_dash` was added.
350
+
351
+ :param exists: if set to true, the file or directory needs to exist for
352
+ this value to be valid. If this is not required and a
353
+ file does indeed not exist, then all further checks are
354
+ silently skipped.
355
+ :param file_okay: controls if a file is a possible value.
356
+ :param dir_okay: controls if a directory is a possible value.
357
+ :param writable: if true, a writable check is performed.
358
+ :param readable: if true, a readable check is performed.
359
+ :param resolve_path: if this is true, then the path is fully resolved
360
+ before the value is passed onwards. This means
361
+ that it's absolute and symlinks are resolved.
362
+ :param allow_dash: If this is set to `True`, a single dash to indicate
363
+ standard streams is permitted.
364
+ :param type: optionally a string type that should be used to
365
+ represent the path. The default is `None` which
366
+ means the return value will be either bytes or
367
+ unicode depending on what makes most sense given the
368
+ input data Click deals with.
369
+ """
370
+ envvar_list_splitter = os.path.pathsep
371
+
372
+ def __init__(self, exists=False, file_okay=True, dir_okay=True,
373
+ writable=False, readable=True, resolve_path=False,
374
+ allow_dash=False, path_type=None):
375
+ self.exists = exists
376
+ self.file_okay = file_okay
377
+ self.dir_okay = dir_okay
378
+ self.writable = writable
379
+ self.readable = readable
380
+ self.resolve_path = resolve_path
381
+ self.allow_dash = allow_dash
382
+ self.type = path_type
383
+
384
+ if self.file_okay and not self.dir_okay:
385
+ self.name = 'file'
386
+ self.path_type = 'File'
387
+ if self.dir_okay and not self.file_okay:
388
+ self.name = 'directory'
389
+ self.path_type = 'Directory'
390
+ else:
391
+ self.name = 'path'
392
+ self.path_type = 'Path'
393
+
394
+ def coerce_path_result(self, rv):
395
+ if self.type is not None and not isinstance(rv, self.type):
396
+ if self.type is text_type:
397
+ rv = rv.decode(get_filesystem_encoding())
398
+ else:
399
+ rv = rv.encode(get_filesystem_encoding())
400
+ return rv
401
+
402
+ def convert(self, value, param, ctx):
403
+ rv = value
404
+
405
+ is_dash = self.file_okay and self.allow_dash and rv in (b'-', '-')
406
+
407
+ if not is_dash:
408
+ if self.resolve_path:
409
+ rv = os.path.realpath(rv)
410
+
411
+ try:
412
+ st = os.stat(rv)
413
+ except OSError:
414
+ if not self.exists:
415
+ return self.coerce_path_result(rv)
416
+ self.fail('%s "%s" does not exist.' % (
417
+ self.path_type,
418
+ filename_to_ui(value)
419
+ ), param, ctx)
420
+
421
+ if not self.file_okay and stat.S_ISREG(st.st_mode):
422
+ self.fail('%s "%s" is a file.' % (
423
+ self.path_type,
424
+ filename_to_ui(value)
425
+ ), param, ctx)
426
+ if not self.dir_okay and stat.S_ISDIR(st.st_mode):
427
+ self.fail('%s "%s" is a directory.' % (
428
+ self.path_type,
429
+ filename_to_ui(value)
430
+ ), param, ctx)
431
+ if self.writable and not os.access(value, os.W_OK):
432
+ self.fail('%s "%s" is not writable.' % (
433
+ self.path_type,
434
+ filename_to_ui(value)
435
+ ), param, ctx)
436
+ if self.readable and not os.access(value, os.R_OK):
437
+ self.fail('%s "%s" is not readable.' % (
438
+ self.path_type,
439
+ filename_to_ui(value)
440
+ ), param, ctx)
441
+
442
+ return self.coerce_path_result(rv)
443
+
444
+
445
+ class Tuple(CompositeParamType):
446
+ """The default behavior of Click is to apply a type on a value directly.
447
+ This works well in most cases, except for when `nargs` is set to a fixed
448
+ count and different types should be used for different items. In this
449
+ case the :class:`Tuple` type can be used. This type can only be used
450
+ if `nargs` is set to a fixed number.
451
+
452
+ For more information see :ref:`tuple-type`.
453
+
454
+ This can be selected by using a Python tuple literal as a type.
455
+
456
+ :param types: a list of types that should be used for the tuple items.
457
+ """
458
+
459
+ def __init__(self, types):
460
+ self.types = [convert_type(ty) for ty in types]
461
+
462
+ @property
463
+ def name(self):
464
+ return "<" + " ".join(ty.name for ty in self.types) + ">"
465
+
466
+ @property
467
+ def arity(self):
468
+ return len(self.types)
469
+
470
+ def convert(self, value, param, ctx):
471
+ if len(value) != len(self.types):
472
+ raise TypeError('It would appear that nargs is set to conflict '
473
+ 'with the composite type arity.')
474
+ return tuple(ty(x, param, ctx) for ty, x in zip(self.types, value))
475
+
476
+
477
+ def convert_type(ty, default=None):
478
+ """Converts a callable or python ty into the most appropriate param
479
+ ty.
480
+ """
481
+ guessed_type = False
482
+ if ty is None and default is not None:
483
+ if isinstance(default, tuple):
484
+ ty = tuple(map(type, default))
485
+ else:
486
+ ty = type(default)
487
+ guessed_type = True
488
+
489
+ if isinstance(ty, tuple):
490
+ return Tuple(ty)
491
+ if isinstance(ty, ParamType):
492
+ return ty
493
+ if ty is text_type or ty is str or ty is None:
494
+ return STRING
495
+ if ty is int:
496
+ return INT
497
+ # Booleans are only okay if not guessed. This is done because for
498
+ # flags the default value is actually a bit of a lie in that it
499
+ # indicates which of the flags is the one we want. See get_default()
500
+ # for more information.
501
+ if ty is bool and not guessed_type:
502
+ return BOOL
503
+ if ty is float:
504
+ return FLOAT
505
+ if guessed_type:
506
+ return STRING
507
+
508
+ # Catch a common mistake
509
+ if __debug__:
510
+ try:
511
+ if issubclass(ty, ParamType):
512
+ raise AssertionError('Attempted to use an uninstantiated '
513
+ 'parameter type (%s).' % ty)
514
+ except TypeError:
515
+ pass
516
+ return FuncParamType(ty)
517
+
518
+
519
+ #: A dummy parameter type that just does nothing. From a user's
520
+ #: perspective this appears to just be the same as `STRING` but internally
521
+ #: no string conversion takes place. This is necessary to achieve the
522
+ #: same bytes/unicode behavior on Python 2/3 in situations where you want
523
+ #: to not convert argument types. This is usually useful when working
524
+ #: with file paths as they can appear in bytes and unicode.
525
+ #:
526
+ #: For path related uses the :class:`Path` type is a better choice but
527
+ #: there are situations where an unprocessed type is useful which is why
528
+ #: it is is provided.
529
+ #:
530
+ #: .. versionadded:: 4.0
531
+ UNPROCESSED = UnprocessedParamType()
532
+
533
+ #: A unicode string parameter type which is the implicit default. This
534
+ #: can also be selected by using ``str`` as type.
535
+ STRING = StringParamType()
536
+
537
+ #: An integer parameter. This can also be selected by using ``int`` as
538
+ #: type.
539
+ INT = IntParamType()
540
+
541
+ #: A floating point value parameter. This can also be selected by using
542
+ #: ``float`` as type.
543
+ FLOAT = FloatParamType()
544
+
545
+ #: A boolean parameter. This is the default for boolean flags. This can
546
+ #: also be selected by using ``bool`` as a type.
547
+ BOOL = BoolParamType()
548
+
549
+ #: A UUID parameter.
550
+ UUID = UUIDParameterType()
Binary file