Windows ANSI initialization uses nonexistent subprocess.STD_OUTPUT_HANDLE

Aberta Para iniciantes
#721 1 comentário 0 reações 0 responsáveis Ver no GitHub

@Fire162 já está trabalhando nisso.

Desde 29/10/2026.

  • #727 de @Fire162 — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
72/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
cli

Direção de pesquisa

Comece por initialize_or_disable() em fire/formatting_windows.py e verifique como o identificador da saída padrão do Windows é obtido. A issue aponta a referência ausente subprocess.STD_OUTPUT_HANDLE e observa que o caminho completo de inicialização não foi testado no Windows. O trabalho estará concluído quando o código usar uma constante Win32 válida e o caminho de inicialização do Windows funcionar nas condições indicadas.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Python
Estrelas
28.2k
Forks
1.5k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de google/python-fire

Todas as issues de google/python-fire

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.