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.
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/PKG-INFO +1 -1
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/pyproject.toml +2 -2
- rbx-3.26.0.dev203/rbx/__init__.py +1 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/panels.py +10 -6
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/place_exchange.py +15 -3
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/PKG-INFO +1 -1
- rbx-3.26.0.dev202/rbx/__init__.py +0 -1
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/LICENSE +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/README.md +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/__init__.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/decorators.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/id_token.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/keystore.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/auth/mock.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/aws/__init__.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/aws/s3.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/__init__.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/cli.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/tasks/__init__.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/tasks/ec2.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/tasks/image.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/buildtools/tasks/misc.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/__init__.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/adsquare.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/broadsign.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/oxr.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/reporting.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/clients/retry.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/exceptions.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/gcp/__init__.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/gcp/cloud_tasks.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/gcp/pubsub.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/gcp/storage.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/logging.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/settings.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/utils/__init__.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/utils/mdm.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/utils/vast.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/web/__init__.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx/web/handlers.py +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/SOURCES.txt +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/dependency_links.txt +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/entry_points.txt +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/requires.txt +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/rbx.egg-info/top_level.txt +0 -0
- {rbx-3.26.0.dev202 → rbx-3.26.0.dev203}/setup.cfg +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "rbx"
|
|
7
|
-
version = "3.26.0.
|
|
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.
|
|
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
|
|
3
|
+
from . import Client, HttpAuth
|
|
4
4
|
|
|
5
5
|
logger = logging.getLogger(__name__)
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
class Client
|
|
9
|
-
"""API Client for the
|
|
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
|
|
18
|
+
"""The Panels Service uses Digest Authentication."""
|
|
19
19
|
return HttpAuth(self.token, key="X-RBX-TOKEN")
|
|
20
20
|
|
|
21
|
-
def
|
|
22
|
-
"""Perform a
|
|
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
|
|
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 +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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|