b5c90a1e81
Add group.py route, phase4.html template, and supporting state changes. Photos are shown as a flat stream; clicking divider zones inserts entry-break boundaries that split photos into labelled groups. Labels persist via group_labels dict. Done materialises groups into state.groups and advances to write phase. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
836 B
Python
25 lines
836 B
Python
import os
|
|
from flask import Flask
|
|
|
|
def create_app(state_dir=None, pages_dir=None):
|
|
app = Flask(__name__)
|
|
app.config["STATE_DIR"] = state_dir or os.environ.get("STATE_DIR", "/app/state")
|
|
app.config["PAGES_DIR"] = pages_dir or os.environ.get("PAGES_DIR", "/app/pages")
|
|
app.config["IMMICH_URL"] = os.environ.get("IMMICH_URL", "")
|
|
app.config["IMMICH_API_KEY"] = os.environ.get("IMMICH_API_KEY", "")
|
|
|
|
from .routes import albums, triage, proxy, notes, nav, curate, group
|
|
app.register_blueprint(albums.bp)
|
|
app.register_blueprint(triage.bp)
|
|
app.register_blueprint(proxy.bp)
|
|
app.register_blueprint(notes.bp)
|
|
app.register_blueprint(nav.bp)
|
|
app.register_blueprint(curate.bp)
|
|
app.register_blueprint(group.bp)
|
|
|
|
@app.get("/health")
|
|
def health():
|
|
return {"ok": True}
|
|
|
|
return app
|