Add optional photo providers, layout studio and scoped integrations

This commit is contained in:
Pigway
2026-10-08 23:18:11 +08:00
parent 3643fae86a
commit 69a0841868
38 changed files with 2843 additions and 41 deletions
+9 -1
View File
@@ -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:
+4
View File
@@ -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))