Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto Apto para principiantes
#294 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 4 días

@mill1000 ya está trabajando en esto.

Desde el 12/10/2026.

  • #295 de @mill1000 — abierto

Evaluación

Dificultad
1/5
Tiempo estimado
Menos de una hora
Aptitud para principiantes
88/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
cli

Línea de trabajo

El traceback apunta a la llamada LOGGER.info cerca de la línea 918 de sendspin/cli.py, que formatea la tarjeta como %d mientras pasa una cadena. Comprueba el especificador de formato frente a los argumentos que se pasan. Está hecho cuando el mensaje se registra sin error de logging, lo que puedes confirmar ejecutando sendspin daemon con un dispositivo hw:CARD=... y comprobando que no aparece ningún traceback.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
Python
Estrellas
198
Forks
40
Merge medio
4 d 11 h
PR fusionados (30 d)
10

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Sendspin/sendspin-python-cli

Todos los issues de Sendspin/sendspin-python-cli

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.