rbx 3.21.1.dev178__py3-none-any.whl → 3.21.1.dev182__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.
rbx/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "3.21.1.dev178"
1
+ __version__ = "3.21.1.dev182"
rbx/clients/__init__.py CHANGED
@@ -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:
rbx/clients/place.py CHANGED
@@ -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.21.1.dev178
3
+ Version: 3.21.1.dev182
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:
@@ -1,4 +1,4 @@
1
- rbx/__init__.py,sha256=s1urXzLgFUUoTSHEsKiD0YwiS4-iA4vhkvktXT4-K10,30
1
+ rbx/__init__.py,sha256=ThhBEu4U-YDx8mq97ybYOpiMbXF4LKtUGe-tZmyc090,30
2
2
  rbx/exceptions.py,sha256=3OJwM9KE5JdB40vzWfK80_2c0ZIkbhMkbMeRqvZuDhw,2876
3
3
  rbx/logging.py,sha256=TYdj0orB1oT451u75TGRsXUW1P-HMRb_6W-aoWVDKZQ,527
4
4
  rbx/settings.py,sha256=6KySvTcliT6qr8NU37sakiVxlDucFUfBYuzT36mqL-w,401
@@ -15,12 +15,12 @@ rbx/buildtools/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
15
15
  rbx/buildtools/tasks/ec2.py,sha256=bqf7ue4mKdFgx918AWWyyPuCc8DJv_SB8tsKsLPeDws,2145
16
16
  rbx/buildtools/tasks/image.py,sha256=s_PSVBY6MCL8MZBmAEDEfOBSPC3hIOfGVxcUREbiQz4,1672
17
17
  rbx/buildtools/tasks/misc.py,sha256=ZiNygYKqFNIzfG2Vbap-zp4VFKoyiD2DOw1hyfVM8Nc,1740
18
- rbx/clients/__init__.py,sha256=KBevy53my4-CsmTCSiBNzaH0NSBaEt8tL2MkIK_erSE,8540
18
+ rbx/clients/__init__.py,sha256=Z0QSP8MT3Y757m-2M8AkKH3YoYX452TCwQqLdXTarIo,8981
19
19
  rbx/clients/adsquare.py,sha256=ApthxPwnCxA_SqDtYJa2BZyM58zmchW1-5Gghsm4CBU,7219
20
20
  rbx/clients/broadsign.py,sha256=L6B-Pb5cIwwAbYUgvj8gPPAl8FUW1ZmQucPYNVoOxc4,10486
21
21
  rbx/clients/oxr.py,sha256=zXheDtcGqDrjJHtEqCJLY3uhy_nVy2QItN-0Vgf_0-o,3086
22
22
  rbx/clients/panels.py,sha256=EvOhfpxIhYwIuPJ2A6R8MFUZxuyXGRQ2WHfyrscBTFU,1243
23
- rbx/clients/place.py,sha256=O9TMmP_ak-zWZloaUwq37n0EL39tclnuWsHpMnytzKA,8611
23
+ rbx/clients/place.py,sha256=nElovWOilslEFW8rttSaq4yvIW78Zstgj9IG5VQcBe0,9506
24
24
  rbx/clients/reporting.py,sha256=rt6hV55ToVUIIbfv9pDOS2UJRhLDwoh6OnjP7QBWd2A,9627
25
25
  rbx/clients/retry.py,sha256=byDqfIZgG9nsEBqMl0HSv1CaJYI4XIodMeYBqLuEz1s,7995
26
26
  rbx/gcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -32,9 +32,9 @@ rbx/utils/mdm.py,sha256=BcpM8iB6qClIFzNWn7SufaG94lrYi4uTIZ-FOa7MZy4,244
32
32
  rbx/utils/vast.py,sha256=6IfhAnvUYyC75UHVGS4DnPsRlBeL5XoJw5OvwuYFDG8,16940
33
33
  rbx/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
34
  rbx/web/handlers.py,sha256=dd7I2k6A7IOgdfitqouBo2tm5HC-W9kwKP7BG3ewfBg,3036
35
- rbx-3.21.1.dev178.dist-info/licenses/LICENSE,sha256=qsc7MUj20dcRHbyjIJn2jSbGRMaBOuHk8F9leaomY_4,11360
36
- rbx-3.21.1.dev178.dist-info/METADATA,sha256=XM1Zmmr7Ef7lSIaQO9QTYHJ4EYU8Ml91u-PU_v-wGBg,15946
37
- rbx-3.21.1.dev178.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
- rbx-3.21.1.dev178.dist-info/entry_points.txt,sha256=FwA806RXOGOraQeqMXqjUjQzkB9qwKtvl9O4IO2VbBI,67
39
- rbx-3.21.1.dev178.dist-info/top_level.txt,sha256=Ua9pONZ7od4F3y_UBfYY5sBdi0i2zzq7bpCnvdyXDtU,4
40
- rbx-3.21.1.dev178.dist-info/RECORD,,
35
+ rbx-3.21.1.dev182.dist-info/licenses/LICENSE,sha256=qsc7MUj20dcRHbyjIJn2jSbGRMaBOuHk8F9leaomY_4,11360
36
+ rbx-3.21.1.dev182.dist-info/METADATA,sha256=EGE5E9DUb7597JoCDc3Q4gW7vZokXwVXmlJhEvo8_Cc,15946
37
+ rbx-3.21.1.dev182.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
38
+ rbx-3.21.1.dev182.dist-info/entry_points.txt,sha256=FwA806RXOGOraQeqMXqjUjQzkB9qwKtvl9O4IO2VbBI,67
39
+ rbx-3.21.1.dev182.dist-info/top_level.txt,sha256=Ua9pONZ7od4F3y_UBfYY5sBdi0i2zzq7bpCnvdyXDtU,4
40
+ rbx-3.21.1.dev182.dist-info/RECORD,,