Windows ANSI initialization uses nonexistent subprocess.STD_OUTPUT_HANDLE

Ouverte Adaptée aux débutants
#721 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

@Fire162 y travaille déjà.

Depuis le 29/10/2026.

  • #727 par @Fire162 — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
72/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
python
Domaine
cli

Piste de recherche

Commencez par initialize_or_disable() dans fire/formatting_windows.py et vérifiez comment le handle de sortie standard de Windows est obtenu. L’issue signale la référence manquante subprocess.STD_OUTPUT_HANDLE et indique que le parcours d’initialisation complet n’a pas été testé sous Windows. Le travail est terminé lorsque le code utilise une constante Win32 valide et que le parcours d’initialisation de Windows fonctionne dans les conditions indiquées.

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

Description

In fire/formatting_windows.py, initialize_or_disable() references a constant that does not exist in Python's subprocess module.

Problematic code
out_handle = kernel32.GetStdHandle(
    subprocess.STD_OUTPUT_HANDLE
)
Verification
import subprocess

print(hasattr(subprocess, 'STD_OUTPUT_HANDLE'))
# False
Expected behavior

The application should obtain the Windows standard output handle using a valid Win32 constant.

Actual behavior

When this code path executes, accessing the missing attribute would raise AttributeError.

Environment

This affects the Windows-specific code path when Colorama is installed, standard output is a terminal, and platform.release() returns '10'.

Testing

Verified that the attribute is absent. The complete Windows initialization path has not been tested on Windows.

Langage dominant
Python
Étoiles
28.2k
Forks
1.5k
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

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 google/python-fire

Toutes les issues de google/python-fire

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.