sumo-wrapper-python 1.9.0__py3-none-any.whl → 1.10.0__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.
@@ -9,6 +9,7 @@ from datetime import UTC, datetime, timedelta
9
9
  from pathlib import Path
10
10
  from urllib.parse import parse_qs
11
11
 
12
+ import httpx
12
13
  import jwt
13
14
  import msal
14
15
  import tenacity as tn
@@ -90,6 +91,17 @@ class AuthProvider:
90
91
  f.write(token)
91
92
  protect_token_cache(self._resource_id, ".sharedkey", case_uuid)
92
93
 
94
+ def _store_fallback_auth(self, sumo_client):
95
+ sync_client = sumo_client._client
96
+ if sync_client is None:
97
+ sumo_client._client = httpx.Client()
98
+ token = sumo_client.get("/createfallbackauth").text
99
+ self.store_shared_access_key_for_case("fallback", token)
100
+ sumo_client._client = sync_client
101
+
102
+ def store_fallback_auth(self, sumo_client):
103
+ return
104
+
93
105
  def has_case_token(self, case_uuid):
94
106
  return os.path.exists(
95
107
  get_token_path(self._resource_id, ".sharedkey", case_uuid)
@@ -115,6 +127,9 @@ class AuthProviderSilent(AuthProvider):
115
127
 
116
128
  self._scope = scope_for_resource(resource_id)
117
129
 
130
+ def store_fallback_auth(self, sumo_client):
131
+ self._store_fallback_auth(sumo_client)
132
+
118
133
 
119
134
  class AuthProviderAccessToken(AuthProvider):
120
135
  def __init__(self, access_token):
@@ -268,6 +283,9 @@ class AuthProviderInteractive(AuthProvider):
268
283
  )
269
284
  return
270
285
 
286
+ def store_fallback_auth(self, sumo_client):
287
+ self._store_fallback_auth(sumo_client)
288
+
271
289
 
272
290
  class AuthProviderDeviceCode(AuthProvider):
273
291
  def __init__(self, client_id, authority, resource_id):
@@ -451,12 +469,15 @@ def get_auth_provider(
451
469
  )
452
470
  os.environ["BROWSER"] = "firefox"
453
471
 
454
- return AuthProviderInteractive(client_id, authority, resource_id)
472
+ auth_interactive = AuthProviderInteractive(
473
+ client_id, authority, resource_id
474
+ )
475
+ token = auth_interactive.get_token()
476
+ if token is not None:
477
+ return auth_interactive
455
478
  # ELSE
456
- if devicecode:
457
- # Potential issues with device-code
458
- # under Equinor compliant device policy
459
- return AuthProviderDeviceCode(client_id, authority, resource_id)
479
+ if os.path.exists(get_token_path(resource_id, ".sharedkey", "fallback")):
480
+ return AuthProviderSumoToken(resource_id, "fallback")
460
481
  # ELSE
461
482
  return AuthProviderNone(resource_id)
462
483
 
sumo/wrapper/_version.py CHANGED
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '1.9.0'
22
- __version_tuple__ = version_tuple = (1, 9, 0)
21
+ __version__ = version = '1.10.0'
22
+ __version_tuple__ = version_tuple = (1, 10, 0)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -149,7 +149,11 @@ class SumoClient:
149
149
 
150
150
  self.base_url = base_url
151
151
 
152
+ with contextlib.suppress(Exception):
153
+ self.auth.store_fallback_auth(self)
154
+
152
155
  def __enter__(self):
156
+
153
157
  return self
154
158
 
155
159
  def __exit__(self, *_):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sumo-wrapper-python
3
- Version: 1.9.0
3
+ Version: 1.10.0
4
4
  Summary: Python wrapper for the Sumo API
5
5
  Author: Equinor
6
6
  License: Apache License
@@ -0,0 +1,16 @@
1
+ sumo/__init__.py,sha256=ftS-xRPSH-vU7fIHlnZQaCTWbNvs4owJivNW65kzsIM,85
2
+ sumo/wrapper/__init__.py,sha256=srvnJZqUgtAWhvjsM8ovl4dPcppZNU8MXRZszicrUoA,235
3
+ sumo/wrapper/_auth_provider.py,sha256=TqLMtZvrDPn9CmBHH5sZ2azkM6jKo7Cc76fASQJ34qk,16881
4
+ sumo/wrapper/_blob_client.py,sha256=QLJmgjFZk44jgxhbFed95JbQ1a69xpO6eQJFuTKyU3A,1608
5
+ sumo/wrapper/_decorators.py,sha256=ZwyrWkfAXiGNSgYsQSEXA13D-WIQM2XPf0v2z9N8HyQ,1002
6
+ sumo/wrapper/_logging.py,sha256=Au77-3D9eYTK0FhaNQLQV6Pl4sKJi0PpQjcUfCckLus,1144
7
+ sumo/wrapper/_retry_strategy.py,sha256=D-4aayNv9BrDrEYMRhkhod6szvyw5d9oZvTekAa4BBI,2624
8
+ sumo/wrapper/_version.py,sha256=w2O97JYq0sLxpegu_TQkAiqEbJF97ZGrOe1EIpfRGZA,522
9
+ sumo/wrapper/login.py,sha256=PtpQ5Qi8Gm1N0hMnE79Je4QvQ8JMuKqa46TwZgjHRnM,2328
10
+ sumo/wrapper/sumo_client.py,sha256=zvREOjwlsdmQkoRvzGjmEcEb2GPYSYADoB20uHRMTgQ,24390
11
+ sumo_wrapper_python-1.10.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
12
+ sumo_wrapper_python-1.10.0.dist-info/METADATA,sha256=yk1NYtFIoCpzRVec5bgVXTxWlZ8VWs8pRJLbHzPrxzo,14616
13
+ sumo_wrapper_python-1.10.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
14
+ sumo_wrapper_python-1.10.0.dist-info/entry_points.txt,sha256=V_vGky2C3He5vohJAxnBdvpt_fqfUDFj5irUm9HtoFc,55
15
+ sumo_wrapper_python-1.10.0.dist-info/top_level.txt,sha256=rLbKyH9rWgCj3PoLeR7fvC5X8vCaUc5LF8-Y_GBWZL0,5
16
+ sumo_wrapper_python-1.10.0.dist-info/RECORD,,
@@ -1,16 +0,0 @@
1
- sumo/__init__.py,sha256=ftS-xRPSH-vU7fIHlnZQaCTWbNvs4owJivNW65kzsIM,85
2
- sumo/wrapper/__init__.py,sha256=srvnJZqUgtAWhvjsM8ovl4dPcppZNU8MXRZszicrUoA,235
3
- sumo/wrapper/_auth_provider.py,sha256=CkTdDVjQ9DTkoHiaFSC_f4mSFaAlYYKi0w2XaE3NMTg,16171
4
- sumo/wrapper/_blob_client.py,sha256=QLJmgjFZk44jgxhbFed95JbQ1a69xpO6eQJFuTKyU3A,1608
5
- sumo/wrapper/_decorators.py,sha256=ZwyrWkfAXiGNSgYsQSEXA13D-WIQM2XPf0v2z9N8HyQ,1002
6
- sumo/wrapper/_logging.py,sha256=Au77-3D9eYTK0FhaNQLQV6Pl4sKJi0PpQjcUfCckLus,1144
7
- sumo/wrapper/_retry_strategy.py,sha256=D-4aayNv9BrDrEYMRhkhod6szvyw5d9oZvTekAa4BBI,2624
8
- sumo/wrapper/_version.py,sha256=OUQ9Ng15kRCe7xhTtcSldmCpPE9ugON0d9kKGsiC7-c,520
9
- sumo/wrapper/login.py,sha256=PtpQ5Qi8Gm1N0hMnE79Je4QvQ8JMuKqa46TwZgjHRnM,2328
10
- sumo/wrapper/sumo_client.py,sha256=zROiw6I-zY9kkVsjXz5xN1D6KC8G_jb0Xd175gyp_3E,24295
11
- sumo_wrapper_python-1.9.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
12
- sumo_wrapper_python-1.9.0.dist-info/METADATA,sha256=BHunLpm0o2wwvndk3okJ4uFRynuu9DD0pqpH6p19oYc,14615
13
- sumo_wrapper_python-1.9.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
14
- sumo_wrapper_python-1.9.0.dist-info/entry_points.txt,sha256=V_vGky2C3He5vohJAxnBdvpt_fqfUDFj5irUm9HtoFc,55
15
- sumo_wrapper_python-1.9.0.dist-info/top_level.txt,sha256=rLbKyH9rWgCj3PoLeR7fvC5X8vCaUc5LF8-Y_GBWZL0,5
16
- sumo_wrapper_python-1.9.0.dist-info/RECORD,,