Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Logging error: "TypeError: %d format: a real number is required, not str"

Aberta Para iniciantes
#294 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 4 dias

@mill1000 já está trabalhando nisso.

Desde 12/10/2026.

  • #295 de @mill1000 — aberto

Avaliação

Dificuldade
1/5
Tempo estimado
Menos de uma hora
Facilidade para iniciantes
88/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
cli

Direção de pesquisa

O traceback aponta para a chamada LOGGER.info perto da linha 918 de sendspin/cli.py, que formata a placa como %d enquanto passa uma string. Verifique o especificador de formato em relação aos argumentos passados. Está concluído quando a mensagem é registrada sem erro de logging, o que você pode confirmar executando sendspin daemon com um dispositivo hw:CARD=... e vendo que não há traceback.

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

Descrição

When attempting to test the changes introduced in #279, I receive a logging error:

> sendspin daemon  --audio-device hw:CARD=sndrpijustboomd,DEV=0
INFO:sendspin.audio_devices:Using audio device hw:CARD=sndrpijustboomd,DEV=0: hw:CARD=sndrpijustboomd,DEV=0
--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.13/logging/__init__.py", line 1151, in emit
    msg = self.format(record)
  File "/usr/lib/python3.13/logging/__init__.py", line 999, in format
    return fmt.format(record)
           ~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/logging/__init__.py", line 712, in format
    record.message = record.getMessage()
                     ~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: %d format: a real number is required, not str
Call stack:
  File "/home/pi/.local/bin/sendspin", line 10, in <module>
    sys.exit(main())
  File "/home/pi/.local/share/uv/tools/sendspin/lib/python3.13/site-packages/sendspin/cli.py", line 808, in main
    return asyncio.run(_run_client_mode(args))
  File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
    return runner.run(main)
  File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "/usr/lib/python3.13/asyncio/base_events.py", line 712, in run_until_complete
    self.run_forever()
  File "/usr/lib/python3.13/asyncio/base_events.py", line 683, in run_forever
    self._run_once()
  File "/usr/lib/python3.13/asyncio/base_events.py", line 2042, in _run_once
    handle._run()
  File "/usr/lib/python3.13/asyncio/events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
  File "/home/pi/.local/share/uv/tools/sendspin/lib/python3.13/site-packages/sendspin/cli.py", line 918, in _run_client_mode
    LOGGER.info(
Message: 'Using ALSA mixer volume control: card %d, element %r'
Arguments: ('sndrpijustboomd', 'Digital')
INFO:sendspin.daemon.daemon:Starting Sendspin daemon: vQzqUbG552kVFhuNOkxsCH-ua72D3vGiQZMoidkCdw4
INFO:sendspin.daemon.daemon:Listening for server connections on port 8928 (mDNS: _sendspin._tcp.local.)
INFO:aiosendspin.client.listener:ClientListener started on port 8928, path /sendspin
INFO:aiosendspin.client.listener:mDNS advertising client 'vQzqUbG552kVFhuNOkxsCH-ua72D3vGiQZMoidkCdw4' on port 8928 with path /sendspin
INFO:sendspin.daemon.daemon:Server connected

It looks like the message assumes an integer card number which is no longer true

https://github.com/Sendspin/sendspin-python-cli/blob/0d8c33536a3af7fe9a51f79a7b3528024c872f25/sendspin/cli.py#L919

Linguagem predominante
Python
Estrelas
198
Forks
40
Merge médio
4d 11h
PRs com merge (30d)
10

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

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 Sendspin/sendspin-python-cli

Todas as issues de Sendspin/sendspin-python-cli

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.