v1.11 (2025-11-18)
ハイライト
- アプリの起動が
python main.py だけで完了し、従来よりも1ステップ少ない手順で利用を開始できます。
- データ取得のたびに1〜2秒の待機と自動リトライを入れることで、相手サイトへのアクセスが安定しました。長期間のデータでも途中で止まりにくくなります。
- コンソールログを日本語メッセージに整理し、「初回取得」「月次取得」など、今どのデータを取得しているかがすぐに把握できます。
- ウィンドウサイズを縦方向に少し拡大し、説明パネルやリストが見やすくなりました。
変更内容
main.py から src.__main__.py の main() を呼び出す構成に変更し、python -m src/python main.py どちらからでも同じ CLI が動作。
src/datemode.py と src/main_datetime.py で throttled_get() を使うように変更。User-Agent などの HTTP ヘッダーを固定しつつ、429/5xx を指数バックオフで再試行。
- ログ文言を「初回取得」「月次取得」「年度取得」などの日本語メッセージに置き換え、トラブルシュート時の読みやすさを改善。
- GUI ウィンドウ高さを 750px に拡大(
src/main_datetime.py:418)。
ドキュメント / 開発体制
docs/water_info_acquirer_… 以下にリファクタリングの背景・要求・タスク設計書を追加。
README.md を更新し、最新の起動手順(python main.py)と現状のアナウンスを反映。
開発者向けトピック
scripts/request_probe.py を追加し、任意 URL への疎通確認を簡単に実行可能に。
scripts/online_smoke_test.py で代表的な観測所コードを使った実働確認を自動化。
tests/test_data_fetch.py を新設。requests をモックして Excel 出力や例外ハンドリングを検証するユニットテストを収録。
- 依存定義(
pyproject.toml / requirements.txt / uv.lock)を最新化し、uv ベースの開発フローを整備。
既知の注意事項
- 河川情報サイトの仕様に依存するため、長期にわたる連続取得ではサイト側レート制限の影響を受ける可能性があります。
throttled_get() の待機設定を変更する場合は REQUEST_* 定数を調整してください。