diff --git a/deploy/Dockerfile.runtime-update b/deploy/Dockerfile.runtime-update index 2a23228..905fba3 100644 --- a/deploy/Dockerfile.runtime-update +++ b/deploy/Dockerfile.runtime-update @@ -29,4 +29,4 @@ CMD ["python", "-m", "uvicorn", "pigway_frame_flow.main:app", "--host", "0.0.0.0 ARG BUILD_COMMIT ARG BUILD_TIME ENV BUILD_COMMIT=$BUILD_COMMIT BUILD_TIME=$BUILD_TIME -LABEL org.opencontainers.image.title="Pigway Frame Flow" org.opencontainers.image.version="0.1.12" org.opencontainers.image.revision=$BUILD_COMMIT +LABEL org.opencontainers.image.title="Pigway Frame Flow" org.opencontainers.image.version="0.1.13" org.opencontainers.image.revision=$BUILD_COMMIT diff --git a/docs/releases/v0.1.13.md b/docs/releases/v0.1.13.md new file mode 100644 index 0000000..20783b0 --- /dev/null +++ b/docs/releases/v0.1.13.md @@ -0,0 +1,3 @@ +# v0.1.13 + +照片底部同时显示所有已识别且已命名的人物,人物之间使用 ` & `;日期、人物、主题、地点及文件名之间继续使用 ` · `。例如 `2026-10-18 · Alice & Bob · Family · one.jpg`。人物仍来自 Photos 实际相册归属,未命名人物不显示;历史生成图片不自动重绘。 diff --git a/pigway_frame_flow/api/app.py b/pigway_frame_flow/api/app.py index c2660a7..391d67e 100644 --- a/pigway_frame_flow/api/app.py +++ b/pigway_frame_flow/api/app.py @@ -126,7 +126,7 @@ def create_app(settings=None, start_worker=True): app = FastAPI( title="Pigway Frame Flow API", docs_url=None, - version="0.1.12", + version="0.1.13", lifespan=lifespan, responses=error_responses, ) @@ -1032,7 +1032,7 @@ def create_app(settings=None, start_worker=True): supports_upload=True, ), ], - version="0.1.12", + version="0.1.13", mock=settings.mock, write_enabled=settings.write_enabled, api_key_configured=bool(settings.api_key) diff --git a/pigway_frame_flow/models.py b/pigway_frame_flow/models.py index 54198d8..0888f75 100644 --- a/pigway_frame_flow/models.py +++ b/pigway_frame_flow/models.py @@ -366,7 +366,7 @@ class SettingsView(BaseModel): class Health(BaseModel): status: str - version: str = "0.1.12" + version: str = "0.1.13" class Readiness(BaseModel): @@ -396,7 +396,7 @@ class RestoreRequest(StrictModel): class Version(BaseModel): product: str = "Pigway Frame Flow" - version: str = "0.1.12" + version: str = "0.1.13" api_version: str = "v1" commit: str = "development" build_time: str = "unknown" diff --git a/pigway_frame_flow/providers/photo_sources.py b/pigway_frame_flow/providers/photo_sources.py index bceeb83..3d568ba 100644 --- a/pigway_frame_flow/providers/photo_sources.py +++ b/pigway_frame_flow/providers/photo_sources.py @@ -623,7 +623,7 @@ class PhotoSources: caption = dict(item.get("caption") or {}) caption["filename"] = item["name"] try: - caption["people"] = " · ".join( + caption["people"] = " & ".join( self.synology.item_people(item["id"], space=source.people_space) ) except FlowError: diff --git a/pigway_frame_flow/web/index.html b/pigway_frame_flow/web/index.html index 84f6d05..f0d4c39 100644 --- a/pigway_frame_flow/web/index.html +++ b/pigway_frame_flow/web/index.html @@ -1,3 +1,3 @@ Pigway Frame Flow -
PIGWAY FRAME FLOW

+
PIGWAY FRAME FLOW

diff --git a/pyproject.toml b/pyproject.toml index 332aa05..7592bcd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "pigway-frame-flow" -version = "0.1.12" +version = "0.1.13" requires-python = ">=3.12" dependencies = ["paho-mqtt==2.1.0", "python-dateutil==2.9.0.post0", "fastapi==0.142.2", "uvicorn==0.54.0", "pillow==12.3.0", "requests==2.34.2", "croniter==6.2.4", "python-multipart==0.0.32", "pyyaml==6.0.3"] [project.optional-dependencies] diff --git a/scripts/server-release.py b/scripts/server-release.py index 7144e6e..1db596a 100644 --- a/scripts/server-release.py +++ b/scripts/server-release.py @@ -151,7 +151,7 @@ def release(lock): assert dst.execute("pragma quick_check").fetchone()[0] == "ok" base = "pigway-frame-flow:release-base-" + commit[:12] run("docker", "image", "tag", before["Image"], base) - image = "pigway-frame-flow:0.1.12-" + commit[:12] + image = "pigway-frame-flow:0.1.13-" + commit[:12] try: run( "docker", diff --git a/tests/test_photo_watermark.py b/tests/test_photo_watermark.py index fe60582..6da9a4d 100644 --- a/tests/test_photo_watermark.py +++ b/tests/test_photo_watermark.py @@ -24,12 +24,12 @@ def test_watermark_includes_filename_and_recognized_people(service, monkeypatch) "date": "2026-10-17", "title": "Family", "filename": "one.jpg", - "people": "Alice · Bob", + "people": "Alice & Bob", }, service.renderer.font, size=(1600, 1200), ) - assert drawn == ["2026-10-17 · Alice · Bob · Family · one.jpg"] + assert drawn == ["2026-10-17 · Alice & Bob · Family · one.jpg"] @pytest.mark.parametrize("size", [(1600, 1200), (1200, 1600)]) diff --git a/tests/test_synology_photos_api.py b/tests/test_synology_photos_api.py index efb0b2a..2f97208 100644 --- a/tests/test_synology_photos_api.py +++ b/tests/test_synology_photos_api.py @@ -134,7 +134,7 @@ def test_api_caption_keeps_filename_and_folder_with_optional_people( assert caption["date"] == "2026-10-17" assert caption["title"] == "Family" assert caption["filename"] == "one.jpg" - assert caption.get("people", "") == ("Alice · Bob" if labels_available else "") + assert caption.get("people", "") == ("Alice & Bob" if labels_available else "") def test_source_without_mount_pagination_scope_and_session(