Should logging.Handler.lock allow None?
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 5.1k
- Forks
- 2.1k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 82
Description
Since https://github.com/python/cpython/commit/74723e11109a320e628898817ab449b3dad9ee96 (in CPython 3.13 and later), a variety of calls of Handler.acquire() and Handler.release() got converted into with Handler.lock.
As a result, unless you're overriding Handler.handle, Handler.lock cannot be None, which it could be previously.
Note that logging.NullHandler does actually set lock to None in the stdlib, but it does override Handler.handle.
I’m unsure about the policy for typeshed is about instance variables whose valid values depend on whether a particular method is overridden.
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 commit CPython 74723e11109a320e628898817ab449b3dad9ee96 et comparez Handler.lock, acquire(), release() et handle() avec les déclarations de typeshed. Vérifiez comment sont représentés le lock de NullHandler et le handle() redéfini, puis examinez la politique de typeshed concernant les variables d’instance dont les valeurs valides dépendent de redéfinitions. Le travail est terminé lorsque l’annotation reflète le comportement pris en charge par CPython et que la question de politique est résolue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 30/100