rbx 3.26.0.dev202__tar.gz → 3.26.0.dev203__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.26.0.dev202 → rbx-3.26.0.dev203}/PKG-INFO +1 -1
  2. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/pyproject.toml +2 -2
  3. rbx-3.26.0.dev203/rbx/__init__.py +1 -0
  4. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/panels.py +10 -6
  5. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/place_exchange.py +15 -3
  6. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/PKG-INFO +1 -1
  7. rbx-3.26.0.dev202/rbx/__init__.py +0 -1
  8. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/LICENSE +0 -0
  9. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/README.md +0 -0
  10. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/__init__.py +0 -0
  11. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/decorators.py +0 -0
  12. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/id_token.py +0 -0
  13. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/keystore.py +0 -0
  14. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/mock.py +0 -0
  15. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/aws/__init__.py +0 -0
  16. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/aws/s3.py +0 -0
  17. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/__init__.py +0 -0
  18. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/cli.py +0 -0
  19. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/tasks/__init__.py +0 -0
  20. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/tasks/ec2.py +0 -0
  21. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/tasks/image.py +0 -0
  22. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/tasks/misc.py +0 -0
  23. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/__init__.py +0 -0
  24. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/adsquare.py +0 -0
  25. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/broadsign.py +0 -0
  26. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/oxr.py +0 -0
  27. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/reporting.py +0 -0
  28. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/retry.py +0 -0
  29. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/exceptions.py +0 -0
  30. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/gcp/__init__.py +0 -0
  31. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/gcp/cloud_tasks.py +0 -0
  32. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/gcp/pubsub.py +0 -0
  33. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/gcp/storage.py +0 -0
  34. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/logging.py +0 -0
  35. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/settings.py +0 -0
  36. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/utils/__init__.py +0 -0
  37. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/utils/mdm.py +0 -0
  38. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/utils/vast.py +0 -0
  39. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/web/__init__.py +0 -0
  40. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/web/handlers.py +0 -0
  41. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/SOURCES.txt +0 -0
  42. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/dependency_links.txt +0 -0
  43. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/entry_points.txt +0 -0
  44. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/requires.txt +0 -0
  45. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/top_level.txt +0 -0
  46. {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rbx
3
- Version: 3.26.0.dev202
3
+ Version: 3.26.0.dev203
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.26.0.dev202"
7
+ version = "3.26.0.dev203"
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.26.0.dev202"
83
+ current_version = "3.26.0.dev203"
84
84
  commit = true
85
85
  parse = """
86
86
  (?P<major>\\d+)\\.
@@ -0,0 +1 @@
1
+ __version__ = "3.26.0.dev203"
@@ -1,12 +1,12 @@
1
1
  import logging
2
2
 
3
- from . import Client as Base, HttpAuth
3
+ from . import Client, HttpAuth
4
4
 
5
5
  logger = logging.getLogger(__name__)
6
6
 
7
7
 
8
- class Client(Base):
9
- """API Client for the Panel Service."""
8
+ class PanelsClient(Client):
9
+ """API Client for the Panels Service."""
10
10
 
11
11
  def __init__(self, endpoint, token):
12
12
  super().__init__()
@@ -15,11 +15,11 @@ class Client(Base):
15
15
 
16
16
  @property
17
17
  def auth(self):
18
- """The Panel Service uses Digest Authentication."""
18
+ """The Panels Service uses Digest Authentication."""
19
19
  return HttpAuth(self.token, key="X-RBX-TOKEN")
20
20
 
21
- def search(self, timeout=180, **parameters):
22
- """Perform a screen search."""
21
+ def screens(self, timeout=180, **parameters):
22
+ """Perform a Screens search."""
23
23
  kwargs = {"data": parameters, "timeout": timeout}
24
24
 
25
25
  # When requesting CSV data, ensure the underlying client knows to treat
@@ -29,6 +29,10 @@ class Client(Base):
29
29
 
30
30
  return self._post("/screens", **kwargs)
31
31
 
32
+ def search(self, **parameters):
33
+ """Perform a Panels search."""
34
+ return self._post("/search", data=parameters)
35
+
32
36
  def set_weather_watch(self, caller, country, supplier):
33
37
  """Set a watch on the specified country and supplier, using the caller ID."""
34
38
  return self.request(
@@ -1,6 +1,7 @@
1
1
  import logging
2
2
  from typing import Dict, Any, Optional
3
3
 
4
+ import arrow
4
5
  import requests
5
6
 
6
7
  from requests.auth import AuthBase
@@ -276,12 +277,23 @@ class PlaceExchangeClient(Client):
276
277
  params=params if params else None,
277
278
  )
278
279
 
279
- def get_screens(self, page=None):
280
- """Retrieve a page of screens from Place Exchange."""
280
+ def get_screens(self, last_modified=None, page=None):
281
+ """Retrieve a page of screens from Place Exchange.
282
+
283
+ Args:
284
+ last_modified: A datetime instance representing the cutoff timestamp.
285
+ This will be converted to a compatible string format (YYYY-MM-DDTHH:MM:SSZ)
286
+ in UTC and passed to the API.
287
+ page: Page number to retrieve.
288
+ """
281
289
  path = f"v3/orgs/{self.org_id}/avails"
282
290
  params = {"page_size": 1000}
283
291
 
284
- if page:
292
+ if last_modified is not None:
293
+ dt_utc = arrow.get(last_modified).to("utc")
294
+ params["adunits_lastmod"] = dt_utc.strftime("%Y-%m-%dT%H:%M:%SZ")
295
+
296
+ if page is not None:
285
297
  params["page"] = page
286
298
 
287
299
  response = self.request("get", path, params=params, include_headers=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rbx
3
- Version: 3.26.0.dev202
3
+ Version: 3.26.0.dev203
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 +0,0 @@
1
- __version__ = "3.26.0.dev202"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes