Add optional photo providers, layout studio and scoped integrations
This commit is contained in:
@@ -153,7 +153,14 @@ class Assets:
|
||||
return data
|
||||
|
||||
def fetch_url(
|
||||
self, url, *, method="GET", headers=None, limit=None, accepted_status=(200,)
|
||||
self,
|
||||
url,
|
||||
*,
|
||||
method="GET",
|
||||
headers=None,
|
||||
body=None,
|
||||
limit=None,
|
||||
accepted_status=(200,),
|
||||
):
|
||||
limit = limit or self.settings.max_bytes
|
||||
parsed = urlsplit(url)
|
||||
@@ -197,6 +204,7 @@ class Assets:
|
||||
method,
|
||||
(parsed.path or "/") + ("?" + parsed.query if parsed.query else ""),
|
||||
headers=headers or {},
|
||||
body=body,
|
||||
)
|
||||
response = connection.getresponse()
|
||||
if response.status not in accepted_status:
|
||||
|
||||
@@ -106,6 +106,10 @@ class TemplateRenderer:
|
||||
return values
|
||||
|
||||
def render(self, template_id, data, profile="color"):
|
||||
if template_id in ("collage", "poster"):
|
||||
from pigway_frame_flow.extensions.layout import LayoutStudio
|
||||
|
||||
return LayoutStudio(self).render(data, profile)
|
||||
spec = self.info(template_id)
|
||||
values = self.resolve(template_id, data)
|
||||
current = datetime.now(ZoneInfo(self.settings.timezone))
|
||||
|
||||
Reference in New Issue
Block a user