v1.11 (2025-11-18)

ハイライト

  • アプリの起動が python main.py だけで完了し、従来よりも1ステップ少ない手順で利用を開始できます。
  • データ取得のたびに1〜2秒の待機と自動リトライを入れることで、相手サイトへのアクセスが安定しました。長期間のデータでも途中で止まりにくくなります。
  • コンソールログを日本語メッセージに整理し、「初回取得」「月次取得」など、今どのデータを取得しているかがすぐに把握できます。
  • ウィンドウサイズを縦方向に少し拡大し、説明パネルやリストが見やすくなりました。

変更内容

  • main.py から src.__main__.pymain() を呼び出す構成に変更し、python -m src/python main.py どちらからでも同じ CLI が動作。
  • src/datemode.pysrc/main_datetime.pythrottled_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_* 定数を調整してください。