Config should be validated with clearer errors

オープン
#45 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
42/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python
領域
backend

調査の方向性

mautrix/util/config.py、特に _recursive_get から始め、設定のセットアップ中に bridge.filter.mode がコピーされる mautrix_telegram/config.py も確認してください。レポートに示されている起動時の失敗を再現し、無効なネストされた設定が NoneType traceback ではなく問題を特定するエラーを生成するようにしてください。

索引モデルが issue の本文から書いたものです。

説明

This doesn't tell me what is wrong:

Feb  3 10:15:20 integrations systemd[1]: Started Telegram Bridge.
Feb  3 10:15:22 integrations python[16389]: Traceback (most recent call last):
Feb  3 10:15:22 integrations python[16389]:   File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
Feb  3 10:15:22 integrations python[16389]:     "__main__", mod_spec)
Feb  3 10:15:22 integrations python[16389]:   File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
Feb  3 10:15:22 integrations python[16389]:     exec(code, run_globals)
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix_telegram/__main__.py", line 113, in <module>
Feb  3 10:15:22 integrations python[16389]:     TelegramBridge().run()
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/bridge/bridge.py", line 92, in run
Feb  3 10:15:22 integrations python[16389]:     self._prepare()
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/bridge/bridge.py", line 99, in _prepare
Feb  3 10:15:22 integrations python[16389]:     self.prepare_config(args.config, args.registration, args.base_config)
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/bridge/bridge.py", line 122, in prepare_config
Feb  3 10:15:22 integrations python[16389]:     self.config.update()
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/util/config.py", line 152, in update
Feb  3 10:15:22 integrations python[16389]:     self.do_update(ConfigUpdateHelper(base, self))
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix_telegram/config.py", line 146, in do_update
Feb  3 10:15:22 integrations python[16389]:     copy("bridge.filter.mode")
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/util/config.py", line 112, in copy
Feb  3 10:15:22 integrations python[16389]:     if from_path in self.source:
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/util/config.py", line 57, in __contains__
Feb  3 10:15:22 integrations python[16389]:     return self.get(key, None) is not None
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/util/config.py", line 50, in get
Feb  3 10:15:22 integrations python[16389]:     return self._recursive_get(self._data, key, default_value)
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/util/config.py", line 45, in _recursive_get
Feb  3 10:15:22 integrations python[16389]:     return self._recursive_get(next_data, next_key, default_value)
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/util/config.py", line 45, in _recursive_get
Feb  3 10:15:22 integrations python[16389]:     return self._recursive_get(next_data, next_key, default_value)
Feb  3 10:15:22 integrations python[16389]:   File "/home/telegram/tgenv/lib/python3.6/site-packages/mautrix/util/config.py", line 46, in _recursive_get
Feb  3 10:15:22 integrations python[16389]:     return data.get(key, default_value)
Feb  3 10:15:22 integrations python[16389]: AttributeError: 'NoneType' object has no attribute 'get'
Feb  3 10:15:22 integrations systemd[1]: telegram.service: Main process exited, code=exited, status=1/FAILURE
主要言語
Python
スター
249
フォーク
84
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

mautrix/python のほかの issue

mautrix/python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。