`configparser.getboolean()` raises `AttributeError` for a value-less option
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Bug description
When ConfigParser uses allow_no_value=True, calling getboolean() on a value-less option raises AttributeError instead of the documented ValueError.
Documentation:
https://docs.python.org/3/library/configparser.html#configparser.ConfigParser.getboolean
Reproducer
import configparser
config = configparser.ConfigParser(allow_no_value=True)
config.read_string("""
[section]
enabled
""")
assert config.get("section", "enabled") is None
config.getboolean("section", "enabled")
Current result:
AttributeError: 'NoneType' object has no attribute 'lower'
Expected result:
ValueError: Not a boolean: None
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Linked PRs
- gh-155437
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le point d’entrée ConfigParser.getboolean() et reproduisez le cas de l’option sans valeur décrit dans l’issue. Vérifiez les tests existants de configparser pour la conversion booléenne et ajoutez une couverture montrant le ValueError documenté pour None ; le travail est terminé lorsque ce cas ne lève plus AttributeError.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 35/100