diff options
| author | yyamashita <yyamashita@hetzner.yyamashita.com> | 2026-11-01 09:19:55 +0900 |
|---|---|---|
| committer | yyamashita <yyamashita@hetzner.yyamashita.com> | 2026-11-01 09:19:55 +0900 |
| commit | dcb35334905f914dfd3eaa7453f0b019bd777588 (patch) | |
| tree | 2a78d999c28b40abf682b0c2b7c3f1802b98c4f3 /providers/manual.py | |
| parent | f0044f886359d942fe479a9a8a940af17c7047ac (diff) | |
スタジオセットごとにリンキィディンクの実際の空き枠を表示する
ダミーデータをやめ、Reserve Mart の会員ページから日別状況を読む。
取得結果は 5 分キャッシュし、ノアなど取れないスタジオは電話番号とリンクを出す。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'providers/manual.py')
| -rw-r--r-- | providers/manual.py | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/providers/manual.py b/providers/manual.py deleted file mode 100644 index 4623b26..0000000 --- a/providers/manual.py +++ /dev/null @@ -1,28 +0,0 @@ -"""manual_slots.json に手で書いた予約済み枠を読む。書いていない枠は空きとみなす。 - -形式: -{ - "uen": { - "2026-11-03": {"1st": [18, 19, 20], "2nd": [21]} - } -} -""" - -import json -from pathlib import Path - -PATH = Path(__file__).resolve().parent.parent / "manual_slots.json" - - -def fetch(studio, date): - data = json.loads(PATH.read_text(encoding="utf-8")) if PATH.exists() else {} - booked = data.get(studio["id"], {}).get(date.isoformat(), {}) - return [ - { - "room": room, - "hour": hour, - "status": "booked" if hour in booked.get(room, []) else "free", - } - for room in studio["rooms"] - for hour in range(studio["open"], studio["close"]) - ] |
