rbx 3.22.2.dev187__tar.gz → 3.22.2.dev189__tar.gz

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 (46) hide show
  1. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/PKG-INFO +1 -1
  2. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/pyproject.toml +2 -2
  3. rbx-3.22.2.dev189/rbx/__init__.py +1 -0
  4. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/clients/__init__.py +13 -2
  5. rbx-3.22.2.dev187/rbx/clients/place.py → rbx-3.22.2.dev189/rbx/clients/place_exchange.py +23 -0
  6. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx.egg-info/PKG-INFO +1 -1
  7. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx.egg-info/SOURCES.txt +1 -1
  8. rbx-3.22.2.dev187/rbx/__init__.py +0 -1
  9. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/LICENSE +0 -0
  10. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/README.md +0 -0
  11. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/auth/__init__.py +0 -0
  12. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/auth/decorators.py +0 -0
  13. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/auth/id_token.py +0 -0
  14. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/auth/keystore.py +0 -0
  15. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/auth/mock.py +0 -0
  16. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/aws/__init__.py +0 -0
  17. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/aws/s3.py +0 -0
  18. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/buildtools/__init__.py +0 -0
  19. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/buildtools/cli.py +0 -0
  20. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/buildtools/tasks/__init__.py +0 -0
  21. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/buildtools/tasks/ec2.py +0 -0
  22. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/buildtools/tasks/image.py +0 -0
  23. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/buildtools/tasks/misc.py +0 -0
  24. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/clients/adsquare.py +0 -0
  25. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/clients/broadsign.py +0 -0
  26. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/clients/oxr.py +0 -0
  27. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/clients/panels.py +0 -0
  28. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/clients/reporting.py +0 -0
  29. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/clients/retry.py +0 -0
  30. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/exceptions.py +0 -0
  31. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/gcp/__init__.py +0 -0
  32. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/gcp/cloud_tasks.py +0 -0
  33. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/gcp/pubsub.py +0 -0
  34. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/gcp/storage.py +0 -0
  35. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/logging.py +0 -0
  36. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/settings.py +0 -0
  37. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/utils/__init__.py +0 -0
  38. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/utils/mdm.py +0 -0
  39. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/utils/vast.py +0 -0
  40. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/web/__init__.py +0 -0
  41. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx/web/handlers.py +0 -0
  42. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx.egg-info/dependency_links.txt +0 -0
  43. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx.egg-info/entry_points.txt +0 -0
  44. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx.egg-info/requires.txt +0 -0
  45. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/rbx.egg-info/top_level.txt +0 -0
  46. {rbx-3.22.2.dev187 → rbx-3.22.2.dev189}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rbx
3
- Version: 3.22.2.dev187
3
+ Version: 3.22.2.dev189
4
4
  Summary: A collection of common tools for Scoota services.
5
5
  Author-email: The Scoota Engineering Team <engineering@scoota.com>
6
6
  License:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rbx"
7
- version = "3.22.2.dev187"
7
+ version = "3.22.2.dev189"
8
8
  description = "A collection of common tools for Scoota services."
9
9
  authors = [
10
10
  { name = "The Scoota Engineering Team", email = "engineering@scoota.com" }
@@ -80,7 +80,7 @@ homepage = "https://github.com/rockabox/rbx"
80
80
  repository = "https://github.com/rockabox/rbx.git"
81
81
 
82
82
  [tool.bumpversion]
83
- current_version = "3.22.2.dev187"
83
+ current_version = "3.22.2.dev189"
84
84
  commit = true
85
85
  parse = """
86
86
  (?P<major>\\d+)\\.
@@ -0,0 +1 @@
1
+ __version__ = "3.22.2.dev189"
@@ -124,6 +124,7 @@ class Client(metaclass=Singleton):
124
124
  headers=None,
125
125
  params=None,
126
126
  timeout=None,
127
+ include_headers=False,
127
128
  ):
128
129
  """Wrap the method call in common error handling."""
129
130
  endpoint = endpoint if endpoint is not None else self.ENDPOINT
@@ -217,13 +218,15 @@ class Client(metaclass=Singleton):
217
218
 
218
219
  # 204 "No Content" responses return nothing
219
220
  if response.status_code == 204:
221
+ if include_headers:
222
+ return {"content": None, "headers": dict(response.headers)}
220
223
  return
221
224
 
222
225
  if content_type == "text/plain":
223
- return response.text
226
+ content = response.text
224
227
  else:
225
228
  try:
226
- return self.get_response(response)
229
+ content = self.get_response(response)
227
230
  except ValueError:
228
231
  extra = {
229
232
  "request": payload,
@@ -233,6 +236,12 @@ class Client(metaclass=Singleton):
233
236
  "Invalid JSON response", details=extra, status_code=500, url=url
234
237
  )
235
238
 
239
+ # Return content with headers if requested, otherwise just content
240
+ if include_headers:
241
+ return {"content": content, "headers": dict(response.headers)}
242
+ else:
243
+ return content
244
+
236
245
  def request(
237
246
  self,
238
247
  method,
@@ -243,6 +252,7 @@ class Client(metaclass=Singleton):
243
252
  headers=None,
244
253
  params=None,
245
254
  timeout=None,
255
+ include_headers=False,
246
256
  ):
247
257
  """Attempt to re-authenticate when the token has expired.
248
258
 
@@ -261,6 +271,7 @@ class Client(metaclass=Singleton):
261
271
  headers=headers,
262
272
  params=params,
263
273
  timeout=timeout,
274
+ include_headers=include_headers,
264
275
  )
265
276
 
266
277
  try:
@@ -275,3 +275,26 @@ class PlaceExchangeClient(Client):
275
275
  path=path,
276
276
  params=params if params else None,
277
277
  )
278
+
279
+ def get_screens(self, page=None):
280
+ """Retrieve a page of screens from Place Exchange."""
281
+ path = f"v3/orgs/{self.org_id}/avails"
282
+ params = {"page_size": 1000}
283
+
284
+ if page:
285
+ params["page"] = page
286
+
287
+ response = self.request("get", path, params=params, include_headers=True)
288
+
289
+ # Extract the page for the next page from the Link header if it exists
290
+ next_page = None
291
+ if "Link" in response["headers"]:
292
+ links = response["headers"]["Link"].split(",")
293
+ for link in links:
294
+ if "rel='next'" in link:
295
+ # Extract the page parameter from the URL
296
+ url_part = link.split(";")[0].strip("<>")
297
+ if "page=" in url_part:
298
+ next_page = int(url_part.split("page=")[1].split("&")[0])
299
+
300
+ return response["content"], next_page
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rbx
3
- Version: 3.22.2.dev187
3
+ Version: 3.22.2.dev189
4
4
  Summary: A collection of common tools for Scoota services.
5
5
  Author-email: The Scoota Engineering Team <engineering@scoota.com>
6
6
  License:
@@ -29,7 +29,7 @@ rbx/clients/adsquare.py
29
29
  rbx/clients/broadsign.py
30
30
  rbx/clients/oxr.py
31
31
  rbx/clients/panels.py
32
- rbx/clients/place.py
32
+ rbx/clients/place_exchange.py
33
33
  rbx/clients/reporting.py
34
34
  rbx/clients/retry.py
35
35
  rbx/gcp/__init__.py
@@ -1 +0,0 @@
1
- __version__ = "3.22.2.dev187"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes