• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kimata / rasp-shutter / 24996105084

27 Apr 2026 12:51PM UTC coverage: 81.854% (-0.1%) from 81.997%
24996105084

push

github

kimata
refactor: webapp.config 値オブジェクト API への移行とセンサータイムアウト短縮

my_lib の webapp.config が module-global (URL_PREFIX, SCHEDULE_FILE_PATH,
LOG_DIR_PATH, STAT_DIR_PATH) を廃止して WebappEnvironment 値オブジェクト
ベースに変わったため、以下を実施した。

- rasp_shutter.config に URL_PREFIX 定数と WebappEnvironment 用の
  set_environment / get_environment / build_environment を追加
- 各 Blueprint 定義から url_prefix=... を削除し、register_blueprint() 時に
  app.py 側で統一的に渡すよう変更
- app.py の init() 呼び出しを build_environment + set_environment に置換
- blueprint_default / blueprint を create_root_redirect_blueprint /
  create_static_blueprint ファクトリに置換
- scheduler.py / control/config.py の path 参照を environment 経由に変更
- tests の conftest や helpers から webapp.config への直接代入を排除し、
  AppConfig を dataclasses.replace() で更新する形に統一

合わせて、毎時の InfluxDB 一時遅延でスケジューラループが 10 秒以上
ブロックされ liveness probe failure に至る問題を防ぐため、
get_sensor_data の fetch_data 呼び出しに timeout_sec=3.0 を指定する。
失敗時は既存の data.valid=False 処理でジョブがスキップされるため
動作上の問題はない。

副次的に、my_lib の型スタブ更新で不要になった # type: ignore を
healthz.py / control/webapi/test/sync.py から削除し、後者の
flask.request.args.get(type=float) を mypy が嫌う形だったので
float() 明示変換に書き換えた。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

42 of 47 new or added lines in 10 files covered. (89.36%)

1 existing line in 1 file now uncovered.

1254 of 1532 relevant lines covered (81.85%)

0.82 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

36.88
/src/rasp_shutter/control/webapi/test/sync.py


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc