feat: manage saved thumbnail plans and select plans for tasks
Community checks / verify (push) Skipped
Verify Frame Flow / verify (push) Failing after 5m58s

This commit is contained in:
渡口浪人
2026-10-23 14:47:27 +08:00
parent d94031eb50
commit 7178235022
17 changed files with 1736 additions and 37 deletions
+14 -2
View File
@@ -67,6 +67,10 @@ class DisplayService:
def validate(self, request, writing=True):
self.registry.get(request.device_id)
if request.options.thumbnail_plan_id:
from pigway_frame_flow.display.thumbnail_plans import get_plan
get_plan(self, request.options.thumbnail_plan_id)
if isinstance(request.content, FutureContent):
raise FlowError(
E.UNSUPPORTED_CAPABILITY, "Content type is unsupported", 422
@@ -778,6 +782,10 @@ class DisplayService:
):
self.reconcile(pending["id"], acknowledge=True)
request = DisplayRequest.model_validate(payload)
if request.options.thumbnail_plan_id:
from pigway_frame_flow.display.thumbnail_plans import get_plan
get_plan(self, request.options.thumbnail_plan_id)
content = request.content
self.update(id, "RENDERING")
asset = None
@@ -830,11 +838,15 @@ class DisplayService:
else:
driver.display(image_id)
result = {"image_id": image_id}
if asset:
if asset and request.options.generate_thumbnail:
from pigway_frame_flow.display.wrist_thumbnail import publish
thumbnail = publish(
self, device_id, asset["asset_id"], source_image.get("data")
self,
device_id,
asset["asset_id"],
source_image.get("data"),
plan_id=request.options.thumbnail_plan_id,
)
if thumbnail:
result["wrist_thumbnail"] = thumbnail