Config should be validated with clearer errors

Ouverte
#45 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
42/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
backend

Piste de recherche

Commencez par mautrix/util/config.py, en particulier _recursive_get, ainsi que par mautrix_telegram/config.py, où bridge.filter.mode est copié lors de la configuration. Reproduisez l’échec au démarrage montré dans le rapport et faites en sorte qu’une configuration imbriquée invalide produise une erreur qui identifie le problème au lieu du traceback de NoneType.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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
Langage dominant
Python
Étoiles
249
Forks
84
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de mautrix/python

Toutes les issues de mautrix/python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.