pyntcli 0.1.97__py3-none-any.whl → 0.1.99__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.
pyntcli/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.1.97"
1
+ __version__ = "0.1.99"
2
2
 
3
3
  try:
4
4
  from logzio import sender
pyntcli/commands/burp.py CHANGED
@@ -228,6 +228,7 @@ class BurpCommand(sub_command.PyntSubCommand):
228
228
 
229
229
  def run_cmd(self, args: argparse.Namespace):
230
230
  container = pynt_container.get_container_with_arguments(
231
+ "proxy",
231
232
  args,
232
233
  pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, "--port"),
233
234
  pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PROXY_PORT, args.proxy_port, "--proxy-port"),
@@ -287,7 +288,7 @@ class BurpCommand(sub_command.PyntSubCommand):
287
288
 
288
289
  proxy_docker = pynt_container.PyntContainer(
289
290
  image_name=pynt_container.PYNT_DOCKER_IMAGE,
290
- tag="proxy-latest",
291
+ tag="v1-latest",
291
292
  detach=True,
292
293
  base_container=container,
293
294
  use_native=args.use_docker_native)
@@ -146,6 +146,7 @@ class CommandSubCommand(sub_command.PyntSubCommand):
146
146
 
147
147
  def run_cmd(self, args: argparse.Namespace):
148
148
  container = pynt_container.get_container_with_arguments(
149
+ "proxy",
149
150
  args,
150
151
  pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, "--port"),
151
152
  pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PROXY_PORT, args.proxy_port, "--proxy-port"),
@@ -178,7 +179,7 @@ class CommandSubCommand(sub_command.PyntSubCommand):
178
179
 
179
180
  proxy_docker = pynt_container.PyntContainer(
180
181
  image_name=pynt_container.PYNT_DOCKER_IMAGE,
181
- tag="proxy-latest",
182
+ tag="v1-latest",
182
183
  detach=True,
183
184
  base_container=container,
184
185
  use_native=args.use_docker_native)
pyntcli/commands/har.py CHANGED
@@ -59,7 +59,7 @@ class HarSubCommand(sub_command.PyntSubCommand):
59
59
  ui_thread.print_verbose("Building container")
60
60
  port = util.find_open_port()
61
61
  container = pynt_container.get_container_with_arguments(
62
- args, pynt_container.PyntDockerPort(src=PYNT_CONTAINER_INTERNAL_PORT, dest=port, name="--port")
62
+ "har", args, pynt_container.PyntDockerPort(src=PYNT_CONTAINER_INTERNAL_PORT, dest=port, name="--port")
63
63
  )
64
64
 
65
65
  if not os.path.isfile(args.har):
@@ -88,7 +88,7 @@ class HarSubCommand(sub_command.PyntSubCommand):
88
88
 
89
89
  har_docker = pynt_container.PyntContainer(
90
90
  image_name=pynt_container.PYNT_DOCKER_IMAGE,
91
- tag="har-latest",
91
+ tag="v1-latest",
92
92
  detach=True,
93
93
  base_container=container,
94
94
  use_native=args.use_docker_native)
@@ -107,6 +107,7 @@ class ListenSubCommand(sub_command.PyntSubCommand):
107
107
 
108
108
  def run_cmd(self, args: argparse.Namespace):
109
109
  container = pynt_container.get_container_with_arguments(
110
+ "proxy",
110
111
  args,
111
112
  pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, "--port"),
112
113
  pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PROXY_PORT, args.proxy_port, "--proxy-port"))
@@ -137,7 +138,7 @@ class ListenSubCommand(sub_command.PyntSubCommand):
137
138
 
138
139
  proxy_docker = pynt_container.PyntContainer(
139
140
  image_name=pynt_container.PYNT_DOCKER_IMAGE,
140
- tag="proxy-latest",
141
+ tag="v1-latest",
141
142
  detach=True,
142
143
  base_container=container)
143
144
 
@@ -58,7 +58,7 @@ class NewmanSubCommand(sub_command.PyntSubCommand):
58
58
 
59
59
  port = util.find_open_port()
60
60
  container = pynt_container.get_container_with_arguments(
61
- args, pynt_container.PyntDockerPort(src=PYNT_CONTAINER_INTERNAL_PORT, dest=port, name="--port")
61
+ "newman", args, pynt_container.PyntDockerPort(src=PYNT_CONTAINER_INTERNAL_PORT, dest=port, name="--port")
62
62
  )
63
63
 
64
64
  if not os.path.isfile(args.collection):
@@ -102,7 +102,7 @@ class NewmanSubCommand(sub_command.PyntSubCommand):
102
102
  container.mounts += m
103
103
  newman_docker = pynt_container.PyntContainer(
104
104
  image_name=pynt_container.PYNT_DOCKER_IMAGE,
105
- tag="newman-latest",
105
+ tag="v1-latest",
106
106
  detach=True,
107
107
  base_container=container,
108
108
  use_native=args.use_docker_native)
@@ -95,10 +95,10 @@ class PostmanSubCommand(sub_command.PyntSubCommand):
95
95
  ui_thread.print("application-id is not supported in postman integration, use the collection variables to set application id.")
96
96
  args.application_id = ""
97
97
 
98
- container = pynt_container.get_container_with_arguments(args, pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, name="--port"))
98
+ container = pynt_container.get_container_with_arguments("postman", args, pynt_container.PyntDockerPort(PYNT_CONTAINER_INTERNAL_PORT, args.port, name="--port"))
99
99
 
100
100
  postman_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
101
- tag="postman-latest",
101
+ tag="v1-latest",
102
102
  detach=True,
103
103
  base_container=container,
104
104
  use_native=args.use_docker_native)
pyntcli/main.py CHANGED
@@ -35,9 +35,9 @@ def signal_handler(signal_number, frame):
35
35
 
36
36
  def get_docker_platform_name(use_docker_native: bool = False) -> str:
37
37
  if use_docker_native:
38
- return pynt_container.get_docker_type_native()
38
+ return pynt_container.get_docker_platform_by_native_command()
39
39
 
40
- return pynt_container.get_docker_type()
40
+ return pynt_container.get_docker_platform_by_sdk()
41
41
 
42
42
 
43
43
  def print_header():
@@ -18,7 +18,7 @@ from pyntcli.store import CredStore
18
18
  from pyntcli.auth.login import PYNT_ID, PYNT_SAAS, PYNT_BUCKET_NAME, PYNT_PARAM1, PYNT_PARAM2
19
19
 
20
20
  PYNT_DOCKER_IMAGE = "ghcr.io/pynt-io/pynt"
21
- IMAGE_TAGS = ["postman-latest", "newman-latest", "har-latest", "proxy-latest"]
21
+ IMAGE_TAGS = ["postman-latest", "newman-latest", "har-latest", "proxy-latest", "v1-latest"]
22
22
 
23
23
  PYNT_CONTAINER_INTERNAL_PORT = "5001"
24
24
 
@@ -46,17 +46,17 @@ class PortInUseException(Exception):
46
46
  super().__init__(self.message)
47
47
 
48
48
 
49
- def get_docker_type_native():
49
+ def get_docker_platform_by_native_command():
50
50
  try:
51
51
  version_data = json.loads(subprocess.check_output(["docker", "version", "--format", "{{json .}}"], text=True))
52
- platform = version_data.get("Client", {}).get("Platform", {})
52
+ platform = version_data.get("Server", {}).get("Platform", {})
53
53
  analytics.deferred_emit(analytics.DOCKER_PLATFORM, platform)
54
54
  return platform.get("Name", "")
55
55
  except Exception:
56
56
  raise DockerNotAvailableException()
57
57
 
58
58
 
59
- def get_docker_type():
59
+ def get_docker_platform_by_sdk():
60
60
  try:
61
61
  c = docker.from_env()
62
62
  version_data = c.version()
@@ -88,20 +88,33 @@ class PyntDockerPort:
88
88
  self.name = name
89
89
 
90
90
 
91
- def get_container_with_arguments(args: argparse.Namespace, *port_args: PyntDockerPort) -> PyntBaseContainer:
92
- docker_arguments = []
91
+ def is_network_host(use_docker_sdk: bool) -> bool:
92
+ platform_sys_name = platform.system()
93
+ if platform_sys_name == "Windows" or platform_sys_name == "Darwin":
94
+ return False
95
+ else:
96
+ docker_platform_name = get_docker_platform_by_sdk().lower() if use_docker_sdk else get_docker_platform_by_native_command().lower()
97
+ if "desktop" in docker_platform_name:
98
+ return False
99
+ return True
100
+
101
+
102
+ def get_container_with_arguments(integration: str, args: argparse.Namespace, *port_args: PyntDockerPort) \
103
+ -> PyntBaseContainer:
104
+ docker_arguments = [integration]
93
105
  ports = {}
106
+ create_network_host = is_network_host(args.use_docker_native)
94
107
  for p in port_args:
95
- if "desktop" in get_docker_type().lower():
96
- ports[str(p.src)] = int(p.dest)
97
- else:
108
+ if create_network_host:
98
109
  docker_arguments.append(p.name)
99
110
  docker_arguments.append(str(p.dest))
111
+ else:
112
+ ports[str(p.src)] = int(p.dest)
100
113
 
101
- if "desktop" in get_docker_type().lower():
102
- docker_type = PyntDockerDesktopContainer(ports=ports)
103
- else:
114
+ if create_network_host:
104
115
  docker_type = PyntNativeContainer(network="host")
116
+ else:
117
+ docker_type = PyntDockerDesktopContainer(ports=ports)
105
118
 
106
119
  if "insecure" in args and args.insecure:
107
120
  docker_arguments.append("--insecure")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyntcli
3
- Version: 0.1.97
3
+ Version: 0.1.99
4
4
  Summary: Command line utility to handle all of Pynt's different integrations
5
5
  Author-email: Pynt-io <support@pynt.io>
6
6
  Project-URL: Homepage, https://pynt.io
@@ -1,20 +1,20 @@
1
1
  ignoreTests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
2
2
  ignoreTests/auth/login.py,sha256=KFlzWhXBAuwdi7GXf16gCB3ya94LQG2wjcSChE149rQ,3798
3
3
  ignoreTests/store/cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
4
- pyntcli/__init__.py,sha256=QjBNfc6bD7TnuAFA80WKCRRgVLp7uFyw7NP6dPh14xY,402
5
- pyntcli/main.py,sha256=HORWY5AEK5xmEQybUZBW9ZEDIga8vSnqDfmAR3TY9F0,6502
4
+ pyntcli/__init__.py,sha256=96CSieH-K5R3B_CG2Gfc3dNu3WA01VqXDKUfJ__2Pdg,402
5
+ pyntcli/main.py,sha256=-INlAS5ks6ofT38Nap0FylRYjCdrLZLuTn5-Pea5UXY,6528
6
6
  pyntcli/analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  pyntcli/analytics/send.py,sha256=9TRAEoPbv4rWOZfcNaGanrRJAFvNs39P-uKSl49GcQE,3679
8
8
  pyntcli/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  pyntcli/auth/login.py,sha256=TljsRXbEkNI1YUrKm5mlTw4YiecYScYUsit8Z8vstss,5228
10
10
  pyntcli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- pyntcli/commands/burp.py,sha256=TYUspSLhubtKEL4ShUOvT7Fnq3MFsFo-HyrPXiZboZ4,12380
12
- pyntcli/commands/command.py,sha256=cMVrlxMZgx0jFrlpMTKPEYfsSv2RhN6XuPrRqqqYB6k,11125
13
- pyntcli/commands/har.py,sha256=yUuLvxlAoq2dQotJe8PV02sZD-WgYSefzGc6bhdroSo,4464
11
+ pyntcli/commands/burp.py,sha256=z6_kYEL6cXNg5yFFR4d8UAgJGTLn3XgUNWsqCBhsJoE,12398
12
+ pyntcli/commands/command.py,sha256=Aw2wb4pV99r9ot6gC2ckqg_1379PZLfudQZ3Igx8Lds,11143
13
+ pyntcli/commands/har.py,sha256=YekPhsbIuuw_lNby97CPDNkEJysFycr_cx-8nPTX6Co,4470
14
14
  pyntcli/commands/id_command.py,sha256=UBEgMIpm4vauTCsKyixltiGUolNg_OfHEJvJ_i5BpJY,943
15
- pyntcli/commands/listen.py,sha256=b_ES6VRmPFkIkCCQ6MuP6KOeUlf5vT1e7AafnDqJVak,9063
16
- pyntcli/commands/newman.py,sha256=o3kobgUFoC3jw2XmbYEsQNdYpGO5suFA92lxHw71dzw,5301
17
- pyntcli/commands/postman.py,sha256=VNARuyCDaDYlrzRMmJk4oM4YTCExOQUDziOS8NpU-KA,5256
15
+ pyntcli/commands/listen.py,sha256=UERWRArlJQGbM9-bZzG4OlDD7r73UxdwHFWWzxkNObE,9081
16
+ pyntcli/commands/newman.py,sha256=n1eNjeE6dEPjq9Sax9MXcZCJLzn29MidLjV2GeVYmPU,5307
17
+ pyntcli/commands/postman.py,sha256=b_nF-ryleENUrr1RzqmzhJmhWR4IWPw0ehS9y_11m4U,5262
18
18
  pyntcli/commands/pynt_cmd.py,sha256=T7jee0yw67Zth3lTkSDInCLnbu_IhpNqb7GqnTiTceQ,7012
19
19
  pyntcli/commands/root.py,sha256=4yeGlTeL3Xu2xlSbMYhhaDwUnP29sF2Y2sxq8E1P3lo,3986
20
20
  pyntcli/commands/static_file_extensions.py,sha256=PZJb02BI-64tbU-j3rdCNsXzTh7gkIDGxGKbKNw3h5k,1995
@@ -24,7 +24,7 @@ pyntcli/log/__init__.py,sha256=cOGwOYzMoshEbZiiasBGkj6wF0SBu3Jdpl-AuakDesw,19
24
24
  pyntcli/log/log.py,sha256=cWCdWmUaAwePwdhYDcgNMEG9d9RM34sGahxBCYEdv2Y,1069
25
25
  pyntcli/pynt_docker/__init__.py,sha256=PQIOVxc7XXtMLfEX7ojgwf_Z3mmTllO3ZvzUZTPOxQY,30
26
26
  pyntcli/pynt_docker/container_utils.py,sha256=_Onn7loInzyJAG2-Uk6CGpsuRyelmUFHOvtJj4Uzi9A,175
27
- pyntcli/pynt_docker/pynt_container.py,sha256=R2iq4Gbbkxg3OEJfJwUp-vroHf9-pJ6HWFqvWucPsGA,18965
27
+ pyntcli/pynt_docker/pynt_container.py,sha256=Fbm03hofQR7F5_wQaJ2NgEjBE8TvYE7_fv5K_ps4y7M,19499
28
28
  pyntcli/store/__init__.py,sha256=1fP8cEAQCF_myja3gnhHH9FEqtBiOJ-2aBmUXSKBdFA,41
29
29
  pyntcli/store/json_connector.py,sha256=UGs3uORw3iyn0YJ8kzab-veEZToA6d-ByXYuqEleWsA,560
30
30
  pyntcli/store/store.py,sha256=ZLSe0WAjHDp8cSt4BBFDkPGRux4cgOo5UfF7V4naM7U,2559
@@ -39,8 +39,8 @@ pyntcli/ui/report.py,sha256=W-icPSZrGLOubXgam0LpOvHLl_aZg9Zx9qIkL8Ym5PE,1930
39
39
  pyntcli/ui/ui_thread.py,sha256=XUBgLpYQjVhrilU-ofw7VSXgTiwneSdTxm61EvC3x4Q,5091
40
40
  tests/test_utils.py,sha256=t5fTQUk1U_Js6iMxcGYGqt4C-crzOJ0CqCKtLkRtUi0,2050
41
41
  tests/commands/test_pynt_cmd.py,sha256=BjGFCFACcSziLrNA6_27t6TjSmvdu54wx9njwLpRSJY,8379
42
- pyntcli-0.1.97.dist-info/METADATA,sha256=GKs3vMPAJ9Bq6ngQ0Cue1T2sSIYwZmfFTy7Rzj02fR0,493
43
- pyntcli-0.1.97.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
44
- pyntcli-0.1.97.dist-info/entry_points.txt,sha256=kcGmqAxXDttNk2EPRcqunc_LTVp61gzakz0v-GEE2SY,43
45
- pyntcli-0.1.97.dist-info/top_level.txt,sha256=64XSgBzSpgwjYjEKHZE7q3JH2a816zEeyZBXfJi3AKI,42
46
- pyntcli-0.1.97.dist-info/RECORD,,
42
+ pyntcli-0.1.99.dist-info/METADATA,sha256=6jNnyPGykzIJa0hDpAMadLZYm3FznLEz5g8Th7n2wF0,493
43
+ pyntcli-0.1.99.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
44
+ pyntcli-0.1.99.dist-info/entry_points.txt,sha256=kcGmqAxXDttNk2EPRcqunc_LTVp61gzakz0v-GEE2SY,43
45
+ pyntcli-0.1.99.dist-info/top_level.txt,sha256=64XSgBzSpgwjYjEKHZE7q3JH2a816zEeyZBXfJi3AKI,42
46
+ pyntcli-0.1.99.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.2)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5