Package: hachoir
Version: 3.1.0+dfsg-6
Severity: normal

Dear Maintainer,
while trying to run hachoir-urwid on a given file, I got the following
error message

   $ hachoir-urwid myfile
   Traceback (most recent call last):
     File "/usr/bin/hachoir-urwid", line 33, in <module>
       sys.exit(load_entry_point('hachoir==3.1.0', 'console_scripts', 
'hachoir-urwid')())
                
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "/usr/bin/hachoir-urwid", line 25, in importlib_load_entry_point
       return next(matches).load()
              ~~~~~~~~~~~~~~~~~~^^
     File "/usr/lib/python3.13/importlib/metadata/__init__.py", line 179, in 
load
       module = import_module(match.group('module'))
     File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
       return _bootstrap._gcd_import(name[level:], package, level)
              ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
     File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
     File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
     File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
     File "<frozen importlib._bootstrap_external>", line 1023, in exec_module
     File "<frozen importlib._bootstrap>", line 488, in 
_call_with_frames_removed
     File "/usr/lib/python3/dist-packages/hachoir/urwid.py", line 17, in 
<module>
       import urwid.curses_display
   ModuleNotFoundError: No module named 'urwid.curses_display'


It appears that the urwid packages changed its interface. The following
patch solves the problem (

   --- urwid.py_orig       2026-04-08 22:24:45.821587811 +0200
   +++ urwid.py    2026-04-08 22:15:15.133176275 +0200
   @@ -14,7 +14,7 @@
    from optparse import OptionGroup, OptionParser
    import os
    import sys
   -import urwid.curses_display
   +import urwid.display.curses
    
    try:
        from urwid import __version__ as urwid_ver
   @@ -585,7 +585,7 @@
    def exploreFieldSet(field_set, args, options={}):
        charset = getTerminalCharset()
    
   -    ui = urwid.curses_display.Screen()
   +    ui = urwid.display.curses.Screen()
        ui.register_palette((
            ('focus', 'white', 'dark blue'),
            ('sep', 'white', 'dark red'),

-- System Information:
Debian Release: forky/sid
  APT prefers oldoldstable-security
  APT policy: (500, 'oldoldstable-security'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.19.10+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8), LANGUAGE
not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages hachoir depends on:
ii  python3           3.13.9-3
ii  python3-urwid     3.0.4-1
ii  python3-wxgtk4.0  4.2.4+dfsg-1

hachoir recommends no packages.

hachoir suggests no packages.

-- no debconf information

-- debsums errors found:
debsums: changed file /usr/lib/python3/dist-packages/hachoir/urwid.py
(from hachoir package)

Reply via email to