pyntcli 0.1.46__py3-none-any.whl → 0.1.48__py3-none-any.whl

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.
Files changed (358) hide show
  1. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
  2. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
  3. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  4. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
  5. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  6. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
  7. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
  8. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  9. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
  10. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  11. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
  12. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
  13. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  14. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
  15. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  16. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
  17. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
  18. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  19. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
  20. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  21. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
  22. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
  23. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  24. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
  25. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  26. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
  27. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
  28. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  29. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
  30. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  31. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
  32. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
  33. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  34. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
  35. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  36. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  37. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  38. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  39. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  40. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  41. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  42. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  43. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  44. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  45. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  46. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  47. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  48. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  49. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  50. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  51. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  52. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  53. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  54. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  55. build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  56. build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  57. build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  58. build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  59. build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  60. build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  61. build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  62. build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  63. build/lib/build/lib/pyntcli/__init__.py +1 -1
  64. build/lib/build/lib/tests/auth/test_login.py +96 -0
  65. build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  66. build/lib/pyntcli/__init__.py +1 -1
  67. build/lib/tests/auth/test_login.py +96 -0
  68. build/lib/tests/store/test_cred_store.py +11 -0
  69. pyntcli/__init__.py +1 -1
  70. pyntcli/auth/login.py +3 -0
  71. pyntcli/commands/postman.py +4 -0
  72. pyntcli/commands/root.py +1 -0
  73. pyntcli/pynt_docker/pynt_container.py +10 -2
  74. {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/METADATA +1 -1
  75. pyntcli-0.1.48.dist-info/RECORD +127 -0
  76. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  77. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  78. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  79. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  80. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  81. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  82. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  83. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  84. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  85. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  86. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  87. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  88. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  89. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  90. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  91. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  92. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  93. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  94. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  95. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  96. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  97. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  98. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  99. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  100. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  101. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  102. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  103. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  104. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  105. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  106. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  107. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  108. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  109. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  110. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  111. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  112. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  113. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  114. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  115. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  116. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  117. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  118. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  119. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  120. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  121. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  122. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  123. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  124. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  125. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  126. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  127. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  128. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  129. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  130. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  131. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  132. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  133. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  134. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  135. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  136. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  137. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  138. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  139. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  140. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  141. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  142. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  143. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  144. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  145. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  146. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  147. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  148. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  149. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  150. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  151. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  152. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  153. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  154. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  155. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  156. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  157. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  158. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  159. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  160. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  161. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  162. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  163. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  164. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  165. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  166. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  167. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  168. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  169. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  170. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  171. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  172. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  173. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  174. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  175. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  176. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  177. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  178. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  179. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  180. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  181. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  182. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  183. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  184. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  185. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  186. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  187. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  188. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  189. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  190. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  191. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  192. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  193. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  194. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  195. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  196. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  197. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  198. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  199. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  200. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  201. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  202. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  203. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  204. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  205. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  206. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  207. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  208. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  209. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  210. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  211. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  212. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  213. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  214. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  215. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  216. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  217. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  218. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  219. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  220. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  221. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  222. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  223. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  224. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  225. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  226. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  227. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  228. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  229. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  230. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  231. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  232. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  233. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  234. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  235. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  236. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  237. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  238. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  239. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  240. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  241. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  242. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  243. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  244. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  245. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  246. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  247. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  248. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  249. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  250. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  251. build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  252. build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  253. build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  254. build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  255. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  256. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  257. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  258. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  259. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  260. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  261. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  262. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  263. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  264. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  265. build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  266. build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  267. build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  268. build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  269. build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  270. build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  271. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  272. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  273. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  274. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  275. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  276. build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  277. build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  278. build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  279. build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  280. build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  281. build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  282. build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  283. build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  284. build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  285. build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  286. build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  287. build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  288. build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  289. build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  290. build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  291. build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  292. build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  293. build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  294. build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  295. build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  296. build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  297. build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  298. build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  299. build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  300. build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  301. build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  302. build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  303. build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  304. build/lib/build/lib/pyntcli/auth/login.py +0 -156
  305. build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  306. build/lib/build/lib/pyntcli/commands/har.py +0 -67
  307. build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  308. build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  309. build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  310. build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  311. build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  312. build/lib/build/lib/pyntcli/commands/root.py +0 -58
  313. build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  314. build/lib/build/lib/pyntcli/commands/util.py +0 -71
  315. build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  316. build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  317. build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  318. build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  319. build/lib/build/lib/pyntcli/store/store.py +0 -58
  320. build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  321. build/lib/build/lib/pyntcli/transport/__init__.py +0 -0
  322. build/lib/build/lib/pyntcli/transport/pynt_requests.py +0 -54
  323. build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  324. build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  325. build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  326. build/lib/build/lib/pyntcli/ui/report.py +0 -62
  327. build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  328. build/lib/pyntcli/analytics/__init__.py +0 -0
  329. build/lib/pyntcli/analytics/send.py +0 -77
  330. build/lib/pyntcli/auth/__init__.py +0 -0
  331. build/lib/pyntcli/auth/login.py +0 -156
  332. build/lib/pyntcli/commands/__init__.py +0 -0
  333. build/lib/pyntcli/commands/har.py +0 -67
  334. build/lib/pyntcli/commands/id_command.py +0 -28
  335. build/lib/pyntcli/commands/newman.py +0 -77
  336. build/lib/pyntcli/commands/postman.py +0 -50
  337. build/lib/pyntcli/commands/proxy.py +0 -147
  338. build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  339. build/lib/pyntcli/commands/root.py +0 -58
  340. build/lib/pyntcli/commands/sub_command.py +0 -15
  341. build/lib/pyntcli/commands/util.py +0 -71
  342. build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  343. build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  344. build/lib/pyntcli/store/__init__.py +0 -1
  345. build/lib/pyntcli/store/json_connector.py +0 -23
  346. build/lib/pyntcli/store/store.py +0 -58
  347. build/lib/pyntcli/store/store_connector.py +0 -17
  348. build/lib/pyntcli/transport/__init__.py +0 -0
  349. build/lib/pyntcli/transport/pynt_requests.py +0 -54
  350. build/lib/pyntcli/ui/__init__.py +0 -0
  351. build/lib/pyntcli/ui/progress.py +0 -39
  352. build/lib/pyntcli/ui/pynt_errors.py +0 -7
  353. build/lib/pyntcli/ui/report.py +0 -62
  354. build/lib/pyntcli/ui/ui_thread.py +0 -172
  355. pyntcli-0.1.46.dist-info/RECORD +0 -349
  356. {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/WHEEL +0 -0
  357. {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/entry_points.txt +0 -0
  358. {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/top_level.txt +0 -0
@@ -1,156 +0,0 @@
1
- from base64 import b64decode
2
- import webbrowser
3
- import uuid
4
- import urllib.parse
5
- import datetime
6
- import time
7
- import json
8
- import os
9
-
10
- from pyntcli.ui import ui_thread
11
- from pyntcli.store import CredStore
12
- from pyntcli.transport import pynt_requests
13
-
14
- class LoginException(Exception):
15
- pass
16
-
17
- class Timeout(LoginException):
18
- pass
19
-
20
- class InvalidTokenInEnvVarsException(LoginException):
21
- pass
22
-
23
- PYNT_CREDENTIALS = "PYNT_CREDENTIALS"
24
-
25
- class Login():
26
- def __init__(self) -> None:
27
- self.delay = 5
28
- self.base_authorization_url = "https://pynt.io/login?"
29
- self.poll_url = "https://n592meacjj.execute-api.us-east-1.amazonaws.com/default/cli_validate_login"
30
- self.login_wait_period = (60 *3) #3 minutes
31
-
32
- def create_login_request(self):
33
- request_id = uuid.uuid4()
34
- request_url = self.base_authorization_url + urllib.parse.urlencode({"request_id": request_id, "utm_source": "cli"})
35
- webbrowser.open(request_url)
36
-
37
- ui_thread.print(ui_thread.PrinterText("To continue, you need to log in to your account.")\
38
- .with_line("You will now be redirected to the login page.") \
39
- .with_line("") \
40
- .with_line("If you are not automatically redirected, please click on the link provided below (or copy to your web browser)") \
41
- .with_line(request_url))
42
- return request_id
43
-
44
- def get_token_using_request_id(self, request_id):
45
- with ui_thread.spinner("Waiting...", "point"):
46
- start = time.time()
47
- while start + self.login_wait_period > time.time():
48
- response = pynt_requests.get(self.poll_url, params={"request_id": request_id})
49
- if response.status_code == 200:
50
- return response.json()
51
- time.sleep(self.delay)
52
- raise Timeout()
53
-
54
- def login(self):
55
- id = self.create_login_request()
56
- token = self.get_token_using_request_id(id)
57
- with CredStore() as store:
58
- store.put("token", token)
59
-
60
-
61
- def refresh_request(refresh_token):
62
- return pynt_requests.post("https://auth.pynt.io/default/refresh", json={"refresh_token": refresh_token})
63
-
64
- def refresh_token():
65
- token = None
66
- with CredStore() as store:
67
- token = store.get("token")
68
-
69
- if not token:
70
- Login().login()
71
-
72
- access_token = token.get("access_token")
73
- if access_token and not is_jwt_expired(access_token):
74
- return
75
-
76
- refresh = token.get("refresh_token", None)
77
- if not refresh:
78
- Login().login()
79
- return
80
-
81
- refresh_response = refresh_request(refresh)
82
- if refresh_response.status_code != 200:
83
- Login().login()
84
- return
85
-
86
- with CredStore() as store:
87
- token["access_token"] = refresh_response.json()["token"]
88
- store.put("token", token)
89
-
90
- def decode_jwt(jwt_token):
91
- splited = jwt_token.split(".")
92
- if len(splited) != 3:
93
- return None
94
-
95
- return json.loads(b64decode(splited[1] + '=' * (-len(splited[1]) % 4)))
96
-
97
- def user_id():
98
- with CredStore() as store:
99
- token = store.get("token")
100
- if not token:
101
- return None
102
-
103
- decoded = decode_jwt(token["access_token"])
104
- if not decoded:
105
- return None
106
-
107
- return decoded.get("sub", None)
108
-
109
- return None
110
-
111
- def is_jwt_expired(jwt_token):
112
- decoded = decode_jwt(jwt_token)
113
- if not decoded:
114
- return True
115
-
116
- exp = decoded.get("exp", None)
117
- if not exp:
118
- return True
119
-
120
- return datetime.datetime.fromtimestamp(exp) < datetime.datetime.now() + datetime.timedelta(minutes=1)
121
-
122
- def validate_creds_structure(data):
123
- try:
124
- creds = json.loads(data.replace("\n", ""))
125
- token = creds.get("token", None)
126
- if not token:
127
- raise InvalidTokenInEnvVarsException()
128
- if not isinstance(token, dict):
129
- raise InvalidTokenInEnvVarsException()
130
-
131
- refresh_token = token.get("refresh_token", None)
132
- if not refresh_token:
133
- raise InvalidTokenInEnvVarsException()
134
-
135
- return token
136
- except json.JSONDecodeError:
137
- raise InvalidTokenInEnvVarsException()
138
-
139
-
140
- def should_login():
141
- env_creds = os.environ.get(PYNT_CREDENTIALS, None)
142
- if env_creds:
143
- validated_creds = validate_creds_structure(env_creds)
144
- with CredStore() as store:
145
- store.put("token", validated_creds)
146
-
147
- with CredStore() as store:
148
- token = store.get("token")
149
-
150
- if not token or token == store.connector.default_value:
151
- return True
152
-
153
- if not token.get("refresh_token"):
154
- return True
155
-
156
- return False
File without changes
@@ -1,67 +0,0 @@
1
- import argparse
2
- import time
3
- import os
4
- from functools import partial
5
-
6
- from pyntcli.pynt_docker import pynt_container
7
- from pyntcli.ui import ui_thread
8
- from pyntcli.ui.progress import PyntProgress
9
- from pyntcli.commands import sub_command, util
10
-
11
-
12
-
13
- def har_usage():
14
- return ui_thread.PrinterText("Integration with static har file testing") \
15
- .with_line("") \
16
- .with_line("Usage:", style=ui_thread.PrinterText.HEADER) \
17
- .with_line("\tpynt har [OPTIONS]") \
18
- .with_line("") \
19
- .with_line("Options:", style=ui_thread.PrinterText.HEADER) \
20
- .with_line("\t--har - Path to har file") \
21
- .with_line("\t--reporters output results to json") \
22
- .with_line("\t--host-ca - path to the CA file in PEM format to enable SSL certificate verification for pynt when running through a VPN.")
23
-
24
- class HarSubCommand(sub_command.PyntSubCommand):
25
- def __init__(self, name) -> None:
26
- super().__init__(name)
27
-
28
- def usage(self, *args):
29
- ui_thread.print(har_usage())
30
-
31
- def add_cmd(self, parent: argparse._SubParsersAction) -> argparse.ArgumentParser:
32
- har_cmd = parent.add_parser(self.name)
33
- har_cmd.add_argument("--har", type=str, required=True)
34
- har_cmd.add_argument("--reporters", action='store_true')
35
- har_cmd.print_usage = self.usage
36
- har_cmd.print_help = self.usage
37
- return har_cmd
38
-
39
- def run_cmd(self, args: argparse.Namespace):
40
- port = str(util.find_open_port())
41
- container = pynt_container.get_container_with_arguments(args, pynt_container.PyntDockerPort(src=port, dest=port, name="--port"))
42
-
43
- if not os.path.isfile(args.har):
44
- ui_thread.print(ui_thread.PrinterText("Could not find the provided har path, please provide with a valid har path", ui_thread.PrinterText.WARNING))
45
- return
46
-
47
- har_name = os.path.basename(args.har)
48
- container.docker_arguments += ["--har", har_name]
49
- container.mounts.append(pynt_container.create_mount(os.path.abspath(args.har), "/etc/pynt/{}".format(har_name)))
50
-
51
- with util.create_default_file_mounts(args) as m:
52
-
53
- container.mounts += m
54
-
55
- har_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
56
- tag="har-latest",
57
- detach=True,
58
- base_container=container)
59
-
60
- har_docker.run()
61
-
62
- healthcheck = partial(util.wait_for_healthcheck, "http://localhost:{}".format(port))
63
- ui_thread.print_generator(ui_thread.AnsiText.wrap_gen(har_docker.stdout))
64
-
65
- with ui_thread.progress("ws://localhost:{}/progress".format(port),healthcheck, "scan in progress...",100):
66
- while har_docker.is_alive():
67
- time.sleep(1)
@@ -1,28 +0,0 @@
1
- import argparse
2
-
3
- from pyntcli.store.store import CredStore
4
- from pyntcli.commands import sub_command
5
- from pyntcli.ui import ui_thread
6
-
7
- def pyntid_usage():
8
- return ui_thread.PrinterText("View your pynt-id to use when running pynt in CI pipeline") \
9
- .with_line("") \
10
- .with_line("Usage:",style=ui_thread.PrinterText.HEADER) \
11
- .with_line("\tpynt pynt-id")
12
-
13
- class PyntShowIdCommand(sub_command.PyntSubCommand):
14
- def __init__(self, name) -> None:
15
- super().__init__(name)
16
-
17
- def usage(self, *args):
18
- ui_thread.print(pyntid_usage())
19
-
20
- def add_cmd(self, parent: argparse._SubParsersAction) -> argparse.ArgumentParser:
21
- cmd = parent.add_parser(self.name)
22
- cmd.print_usage = self.usage
23
- cmd.print_help = self.usage
24
- return cmd
25
-
26
- def run_cmd(self, args: argparse.Namespace):
27
- creds_path = CredStore().get_path()
28
- ui_thread.print(open(creds_path, "r").read())
@@ -1,77 +0,0 @@
1
- import argparse
2
- import time
3
- import os
4
- from functools import partial
5
-
6
- from pyntcli.pynt_docker import pynt_container
7
- from pyntcli.commands import sub_command, util
8
- from pyntcli.ui import ui_thread
9
- from pyntcli.ui.progress import PyntProgress
10
-
11
- def newman_usage():
12
- return ui_thread.PrinterText("Integration with newman, run scan using postman collection from the CLI") \
13
- .with_line("") \
14
- .with_line("Usage:", style=ui_thread.PrinterText.HEADER) \
15
- .with_line("\tpynt newman [OPTIONS]") \
16
- .with_line("") \
17
- .with_line("Options:", style=ui_thread.PrinterText.HEADER) \
18
- .with_line("\t--collection - Postman collection file name") \
19
- .with_line("\t--environment - Postman environment file name") \
20
- .with_line("\t--reporters output results to json") \
21
- .with_line("\t--host-ca - path to the CA file in PEM format to enable SSL certificate verification for pynt when running through a VPN.")
22
-
23
- class NewmanSubCommand(sub_command.PyntSubCommand):
24
- def __init__(self, name) -> None:
25
- super().__init__(name)
26
-
27
- def usage(self, *args):
28
- ui_thread.print(newman_usage())
29
-
30
- def add_cmd(self, parent: argparse._SubParsersAction) -> argparse.ArgumentParser:
31
- newman_cmd = parent.add_parser(self.name)
32
- newman_cmd.add_argument("--collection", type=str, required=True)
33
- newman_cmd.add_argument("--environment", type=str, required=False)
34
- newman_cmd.add_argument("--reporters", action="store_true",default=False, required=False)
35
- newman_cmd.print_usage = self.usage
36
- newman_cmd.print_help = self.usage
37
- return newman_cmd
38
-
39
- def run_cmd(self, args: argparse.Namespace):
40
- port = str(util.find_open_port())
41
- container = pynt_container.get_container_with_arguments(args, pynt_container.PyntDockerPort(src=port, dest=port, name="--port"))
42
-
43
- if not os.path.isfile(args.collection):
44
- ui_thread.print(ui_thread.PrinterText("Could not find the provided collection path, please provide with a valid collection path", ui_thread.PrinterText.WARNING))
45
- return
46
-
47
- collection_name = os.path.basename(args.collection)
48
- container.docker_arguments += ["-c", collection_name]
49
- container.mounts.append(pynt_container.create_mount(os.path.abspath(args.collection), "/etc/pynt/{}".format(collection_name)))
50
-
51
- if "environment" in args and args.environment:
52
- if not os.path.isfile(args.environment):
53
- ui_thread.print(ui_thread.PrinterText("Could not find the provided environment path, please provide with a valid environment path", ui_thread.PrinterText.WARNING))
54
- return
55
-
56
- env_name = os.path.basename(args.environment)
57
- container.docker_arguments += ["-e", env_name]
58
- container.mounts.append(pynt_container.create_mount(os.path.abspath(args.environment), "/etc/pynt/{}".format(env_name)))
59
-
60
-
61
- with util.create_default_file_mounts(args) as m:
62
-
63
- container.mounts += m
64
-
65
- newman_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
66
- tag="latest",
67
- detach=True,
68
- base_container=container)
69
-
70
- newman_docker.run()
71
-
72
- healthcheck = partial(util.wait_for_healthcheck, "http://localhost:{}".format(port))
73
- ui_thread.print_generator(ui_thread.AnsiText.wrap_gen(newman_docker.stdout))
74
-
75
- with ui_thread.progress("ws://localhost:{}/progress".format(port),healthcheck, "scan in progress...",100):
76
- while newman_docker.is_alive():
77
- time.sleep(1)
@@ -1,50 +0,0 @@
1
- import argparse
2
- import time
3
-
4
- from . import sub_command, util
5
- from pyntcli.pynt_docker import pynt_container
6
- from pyntcli.ui import ui_thread
7
-
8
-
9
- def postman_usage():
10
- return ui_thread.PrinterText("Integration with postman, run scan from pynt postman collection") \
11
- .with_line("") \
12
- .with_line("Usage:",style=ui_thread.PrinterText.HEADER) \
13
- .with_line("\tpynt postman [OPTIONS]") \
14
- .with_line("") \
15
- .with_line("Options:",style=ui_thread.PrinterText.HEADER) \
16
- .with_line("\t--port - set the port pynt will listen to (DEFAULT: 5001)") \
17
- .with_line("\t--insecure - use when target uses self signed certificates") \
18
- .with_line("\t--host-ca - path to the CA file in PEM format to enable SSL certificate verification for pynt when running through a VPN.")
19
-
20
- class PostmanSubCommand(sub_command.PyntSubCommand):
21
- def __init__(self, name) -> None:
22
- super().__init__(name)
23
-
24
- def usage(self, *args):
25
- ui_thread.print(postman_usage())
26
-
27
- def add_cmd(self, parent_command: argparse._SubParsersAction) -> argparse.ArgumentParser:
28
- postman_cmd = parent_command.add_parser(self.name)
29
- postman_cmd.add_argument("--port", "-p", help="set the port pynt will listen to (DEFAULT: 5001)", type=int, default=5001)
30
- postman_cmd.print_usage = self.usage
31
- postman_cmd.print_help = self.usage
32
- return postman_cmd
33
-
34
- def run_cmd(self, args: argparse.Namespace):
35
- container = pynt_container.get_container_with_arguments(args ,pynt_container.PyntDockerPort("5001", args.port, name="--port"))
36
-
37
- if util.is_port_in_use(args.port):
38
- ui_thread.print(ui_thread.PrinterText("Port: {} already in use, please use a different one".format(args.port), ui_thread.PrinterText.WARNING))
39
- return
40
-
41
- postman_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
42
- tag="postman-latest",
43
- detach=True,
44
- base_container=container)
45
-
46
- postman_docker.run()
47
- ui_thread.print_generator(postman_docker.stdout)
48
-
49
- while postman_docker.is_alive():
50
- time.sleep(1)
@@ -1,147 +0,0 @@
1
- import argparse
2
- from copy import deepcopy
3
- import os
4
- import webbrowser
5
- from http import HTTPStatus
6
- import time
7
- import tempfile
8
- from subprocess import Popen, PIPE
9
- from functools import partial
10
-
11
- from pyntcli.pynt_docker import pynt_container
12
- from pyntcli.ui import ui_thread
13
- from pyntcli.commands import util, sub_command
14
- from pyntcli.ui import report as cli_reporter
15
- from pyntcli.transport import pynt_requests
16
-
17
-
18
-
19
- def proxy_usage():
20
- return ui_thread.PrinterText("Command integration to Pynt. Run a security scan with a given command.") \
21
- .with_line("") \
22
- .with_line("Usage:",style=ui_thread.PrinterText.HEADER) \
23
- .with_line("\tpynt command [OPTIONS]") \
24
- .with_line("") \
25
- .with_line("Options:",style=ui_thread.PrinterText.HEADER) \
26
- .with_line("\t--cmd - The command that runs the functional tests") \
27
- .with_line("\t--port - Set the port pynt will listen to (DEFAULT: 5001)") \
28
- .with_line("\t--allow-errors - If present will allow command to fail and continue execution") \
29
- .with_line("\t--ca-path - The path to the CA file in PEM format") \
30
- .with_line("\t--proxy-port - Set the port proxied traffic should be routed to (DEFAULT: 6666)") \
31
- .with_line("\t--report - If present will save the generated report in this path.") \
32
- .with_line("\t--insecure - use when target uses self signed certificates") \
33
- .with_line("\t--host-ca - path to the CA file in PEM format to enable SSL certificate verification for pynt when running through a VPN.")
34
-
35
-
36
- class ProxyCommand(sub_command.PyntSubCommand):
37
- def __init__(self, name) -> None:
38
- super().__init__(name)
39
- self.scan_id = ""
40
- self.proxy_sleep_interval = 2
41
- self.proxy_healthcheck_buffer = 10
42
- self.proxy_server_base_url = "http://localhost:{}/api"
43
-
44
- def print_usage(self, *args):
45
- ui_thread.print(proxy_usage())
46
-
47
- def add_cmd(self, parent: argparse._SubParsersAction) -> argparse.ArgumentParser:
48
- proxy_cmd = parent.add_parser(self.name)
49
- proxy_cmd.add_argument("--port", "-p", help="", type=int, default=5001)
50
- proxy_cmd.add_argument("--proxy-port", help="", type=int, default=6666)
51
- proxy_cmd.add_argument("--cmd", help="", default="", required=True)
52
- proxy_cmd.add_argument("--allow-errors", action="store_true")
53
- proxy_cmd.add_argument("--ca-path", type=str, default="")
54
- proxy_cmd.add_argument("--report", type=str, default="")
55
- proxy_cmd.print_usage = self.print_usage
56
- proxy_cmd.print_help = self.print_usage
57
- return proxy_cmd
58
-
59
- def _updated_environment(self, args):
60
- env_copy = deepcopy(os.environ)
61
- return env_copy.update({"HTTP_PROXY": "http://localhost:{}".format(args.proxy_port),
62
- "HTTPS_PROXY": "http://localhost:{}".format(args.proxy_port)})
63
-
64
- def _start_proxy(self, args):
65
- res = pynt_requests.put(self.proxy_server_base_url.format(args.port) + "/proxy/start")
66
- res.raise_for_status()
67
- self.scan_id = res.json()["scanId"]
68
-
69
- def _stop_proxy(self, args):
70
- start = time.time()
71
- while start + self.proxy_healthcheck_buffer > time.time():
72
- res = pynt_requests.put(self.proxy_server_base_url.format(args.port) + "/proxy/stop", json={"scanId": self.scan_id})
73
- if res.status_code == HTTPStatus.OK:
74
- return
75
- time.sleep(self.proxy_sleep_interval)
76
- raise TimeoutError()
77
-
78
- def _get_report(self, args,report_format):
79
- while True:
80
- res = pynt_requests.get(self.proxy_server_base_url.format(args.port) + "/report?format={}".format(report_format), params={"scanId": self.scan_id})
81
- if res.status_code == HTTPStatus.OK:
82
- return res.text
83
- if res.status_code == HTTPStatus.ACCEPTED:
84
- time.sleep(self.proxy_sleep_interval)
85
- continue
86
- if res.status_code == 517: #pynt did not recieve any requests
87
- ui_thread.print(ui_thread.PrinterText(res.json()["message"], ui_thread.PrinterText.WARNING))
88
- return
89
- ui_thread.print("Error in polling for scan report: {}".format(res.text))
90
- return
91
-
92
-
93
- def run_cmd(self, args: argparse.Namespace):
94
- container = pynt_container.get_container_with_arguments(args, pynt_container.PyntDockerPort(args.port, args.port, "--port"),
95
- pynt_container.PyntDockerPort(args.proxy_port, args.proxy_port, "--proxy-port"))
96
- if "ca_path" in args and args.ca_path:
97
- if not os.path.isfile(args.ca_path):
98
- ui_thread.print(ui_thread.PrinterText("Could not find the provided ca path, please provide with a valid path", ui_thread.PrinterText.WARNING))
99
- return
100
-
101
- ca_name = os.path.basename(args.ca_path)
102
- container.docker_arguments += ["--ca-path", ca_name]
103
- container.mounts.append(pynt_container.create_mount(os.path.abspath(args.ca_path), "/etc/pynt/{}".format(ca_name)))
104
-
105
- proxy_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
106
- tag="proxy-latest",
107
- detach=True,
108
- base_container=container)
109
- proxy_docker.run()
110
- ui_thread.print_generator(proxy_docker.stdout)
111
-
112
- util.wait_for_healthcheck("http://localhost:{}".format(args.port))
113
- self._start_proxy(args)
114
-
115
- user_process = Popen(args.cmd, shell=True, stdout=PIPE, stderr=PIPE, env=self._updated_environment(args))
116
- ui_thread.print_generator(user_process.stdout)
117
- ui_thread.print_generator(user_process.stderr)
118
- rc = user_process.wait()
119
- if rc != 0 and not args.allow_errors:
120
- proxy_docker.stop()
121
- ui_thread.print(ui_thread.PrinterText("Command finished with error return code {}, If you wish Pynt to run anyway, run with --allow-errors".format(rc)))
122
- return
123
-
124
- self._stop_proxy(args)
125
-
126
- with ui_thread.progress("ws://localhost:{}/progress?scanId={}".format(args.port, self.scan_id),partial(lambda *args: None), "scan in progress...", 100):
127
- html_report = self._get_report(args,"html")
128
- html_report_path = os.path.join(tempfile.gettempdir(), "pynt_report_{}.html".format(int(time.time())))
129
-
130
- json_report = self._get_report(args,"json")
131
- json_report_path = os.path.join(tempfile.gettempdir(), "pynt_report_{}.json".format(int(time.time())))
132
-
133
- if "report" in args and args.report:
134
- html_report_path = util.get_user_report_path(args.report,"html")
135
- json_report_path = util.get_user_report_path(args.report,"json")
136
-
137
- if html_report:
138
- with open(html_report_path, "w") as html_file:
139
- html_file.write(html_report)
140
- webbrowser.open("file://{}".format(html_report_path))
141
-
142
- if json_report:
143
- with open(json_report_path, "w") as json_file:
144
- json_file.write(json_report)
145
- cli_reporter.PyntReporter(json_report_path).print_summary()
146
-
147
-
@@ -1,73 +0,0 @@
1
- import argparse
2
- from typing import Dict, List
3
- from pyntcli import __version__ as cli_version
4
- from pyntcli.analytics import send as analytics
5
- from pyntcli.transport import pynt_requests
6
- from pyntcli.ui import ui_thread
7
- from distutils.version import StrictVersion
8
-
9
- from . import postman, root, sub_command, id_command, proxy , newman, har
10
-
11
- avail_sub_commands = [
12
- postman.PostmanSubCommand("postman"),
13
- id_command.PyntShowIdCommand("pynt-id"),
14
- newman.NewmanSubCommand("newman"),
15
- har.HarSubCommand("har"),
16
- proxy.ProxyCommand("command"),
17
- ]
18
-
19
- class PyntCommandException(Exception):
20
- pass
21
-
22
- class BadArgumentsException(PyntCommandException):
23
- pass
24
-
25
- class NoSuchCommandException(PyntCommandException):
26
- pass
27
-
28
-
29
- VERSION_CHECK_URL = "https://d1efigcr4c19qn.cloudfront.net/cli/version"
30
-
31
- def check_is_latest_version(current_version):
32
- res = pynt_requests.get(VERSION_CHECK_URL)
33
- res.raise_for_status()
34
-
35
- latest_versions = res.text.replace("\n","")
36
-
37
- if current_version != latest_versions:
38
- ui_thread.print(ui_thread.PrinterText("""Pynt CLI new version is available, upgrade now with:
39
- python3 -m pip install --upgrade pyntcli""",ui_thread.PrinterText.WARNING))
40
-
41
- class PyntCommand:
42
- def __init__(self) -> None:
43
- self.base: root.BaseCommand = root.BaseCommand()
44
- self.sub_commands: Dict[str, sub_command.PyntSubCommand] = {sc.get_name(): sc for sc in avail_sub_commands}
45
- self._start_command()
46
-
47
- def _start_command(self):
48
- self.base.cmd()
49
- for sc in self.sub_commands.values():
50
- self.base.add_base_arguments(sc.add_cmd(self.base.get_subparser()))
51
-
52
- def parse_args(self, args_from_cmd: List[str]):
53
- return self.base.cmd().parse_args(args_from_cmd)
54
-
55
- def run_cmd(self, args: argparse.Namespace):
56
- if not "command" in args:
57
- raise BadArgumentsException()
58
-
59
- command = getattr(args, "command")
60
- if not command in self.sub_commands:
61
- raise NoSuchCommandException()
62
-
63
- if "host_ca" in args and args.host_ca:
64
- pynt_requests.add_host_ca(args.host_ca)
65
-
66
- if "insecure" in args and args.insecure:
67
- pynt_requests.disable_tls_termination()
68
-
69
- check_is_latest_version(cli_version)
70
- analytics.emit(analytics.CLI_START)
71
-
72
- self.base.run_cmd(args)
73
- self.sub_commands[command].run_cmd(args)
@@ -1,58 +0,0 @@
1
- import argparse
2
- import sys
3
-
4
- from pyntcli.auth import login
5
- from pyntcli.ui import ui_thread
6
- from pyntcli.analytics import send as analytics
7
-
8
- def root_usage():
9
- return ui_thread.PrinterText("Usage:",style=ui_thread.PrinterText.HEADER) \
10
- .with_line("\tpynt [COMMAND] [OPTIONS]") \
11
- .with_line("") \
12
- .with_line("Commands:",style=ui_thread.PrinterText.HEADER) \
13
- .with_line("\tpostman - integration with postman, run scan from pynt postman collection") \
14
- .with_line("\tnewman - run postman collection from the CLI") \
15
- .with_line("\tpynt-id - view your pynt-id to use when running pynt in CI pipeline") \
16
- .with_line("") \
17
- .with_line("Run pynt [COMMAND] -h to get help on a specific command",style=ui_thread.PrinterText.INFO)
18
-
19
- def usage(*args):
20
- ui_thread.print(root_usage())
21
-
22
- class BaseCommand():
23
- def __init__(self) -> None:
24
- self.base: argparse.ArgumentParser = None
25
- self.subparser: argparse._SubParsersAction = None
26
-
27
- def cmd(self):
28
- if self.base:
29
- return self.base
30
-
31
- self.base = argparse.ArgumentParser(prog="pynt")
32
- self.base.print_usage = usage
33
- self.base.print_help = usage
34
- return self.base
35
-
36
- def add_base_arguments(self, parser):
37
- parser.add_argument("--insecure", default=False, required=False, action='store_true',help="use when target uses self signed certificates")
38
- parser.add_argument("--dev-flags", type=str,default="", help=argparse.SUPPRESS)
39
- parser.add_argument("--host-ca", type=str, default="")
40
-
41
- def get_subparser(self) -> argparse._SubParsersAction:
42
- if self.subparser is None:
43
- self.subparser = self.base.add_subparsers(help="", dest="command")
44
-
45
- return self.subparser
46
-
47
- def run_cmd(self, args: argparse.Namespace):
48
- analytics.emit(analytics.LOGIN_START)
49
-
50
- if login.should_login():
51
- l = login.Login().login()
52
- else:
53
- login.refresh_token()
54
-
55
- analytics.emit(analytics.LOGIN_DONE)
56
- user_id = login.user_id()
57
- if user_id:
58
- analytics.set_user_id(user_id)
@@ -1,15 +0,0 @@
1
- import argparse
2
-
3
- class PyntSubCommand:
4
- def __init__(self, name) -> None:
5
- self.name = name
6
- pass
7
-
8
- def get_name(self):
9
- return self.name
10
-
11
- def add_cmd(self, parent: argparse._SubParsersAction) -> argparse.ArgumentParser:
12
- raise NotImplemented()
13
-
14
- def run_cmd(self, args: argparse.Namespace):
15
- raise NotImplemented()