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

Bug with UCD data "BadZipFile" on first run

Abierto
#97 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
python
Área
cli

Línea de trabajo

Comienza en el punto de entrada _diffenator y sigue la llamada a youseedee ensure_files mostrada en el stack trace, especialmente su gestión de zipfile.ZipFile. Reproduce el fallo de la primera ejecución e inspecciona cómo se crea la descarga de UCD antes de la extracción. Se considera terminado cuando la ejecución inicial ya no lanza BadZipFile y no es necesario reintentar.

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

Descripción

It only happens when running the first time, then when running again it's fine, so maybe some timing issue, not waiting until the end of some download? And not blocking, since it's enough to restart the run. Here is the stacktrace:

[4/5] _diffenator "build/Font/variable/old-Font-Italic.ttf" "bui...um Italic-Text Bold Italic/Text-Bold-Italic' -ch ".*" --coords axes=...
FAILED: out/Bold Italic-Italic-Medium Italic-Text Bold Italic/Text-Bold-Italic
_diffenator "build/Font/variable/old-Font-Italic.ttf" "build/Font/variable/Font-Italic.ttf" -t 0.9 -o 'out/Bold Italic-Italic-Medium Italic-Text Bold Italic/Text-Bold-Italic' -ch ".*" --coords axes=...
Traceback (most recent call last):
  File "/home/jany_belluz/.local/bin/_diffenator", line 8, in <module>
    sys.exit(main())
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/diffenator2/_diffenator.py", line 83, in main
    diff.diff_all()
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/diffenator2/_diffenator.py", line 30, in diff_all
    getattr(self,f)()
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/diffenator2/_diffenator.py", line 39, in diff_words
    self.glyph_diff = test_fonts(self.old_font, self.new_font, threshold=self.threshold)
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/diffenator2/shape.py", line 53, in test_fonts
    words = test_font_words(font_a, font_b, skip_glyphs, threshold=threshold)
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/diffenator2/shape.py", line 87, in test_font_words
    data = ucd_data(k)
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/youseedee/__init__.py", line 176, in ucd_data
    out.update(props["datareader"](file, codepoint))
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/youseedee/__init__.py", line 73, in dictget
    fileentry["data"] = fileentry["reader"](filename)
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/youseedee/__init__.py", line 58, in parse_file_semicolonsep
    ensure_files()
  File "/home/jany_belluz/.local/pipx/venvs/diffenator2/lib/python3.10/site-packages/youseedee/__init__.py", line 40, in ensure_files
    with zipfile.ZipFile(zip_path, 'r') as zip_ref:
  File "/usr/lib/python3.10/zipfile.py", line 1269, in __init__
    self._RealGetContents()
  File "/usr/lib/python3.10/zipfile.py", line 1336, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
Lenguaje dominante
Python
Estrellas
70
Forks
9
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 googlefonts/diffenator2

Todos los issues de googlefonts/diffenator2

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.