Package: diffoscope
Version: 201

I wanted to use diffoscope to see what's inside a .pyc file, but that didn't work:

   $ echo '6 * 7' > test.py

   $ python3 -m compileall -b test.py
   Compiling 'test.py'...

   $ diffoscope --new-file /nonexistent test.pyc
   Traceback (most recent call last):
     File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 752, in main
       sys.exit(run_diffoscope(parsed_args))
     File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 707, in 
run_diffoscope
       difference = compare_root_paths(path1, path2)
     File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 
69, in compare_root_paths
       difference = compare_files(file1, file2)
     File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 
128, in compare_files
       return file1.compare(file2, source)
     File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/missing_file.py", line 
89, in compare
       backward_diff = other.compare(self, source)
     File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 
502, in compare
       difference = self._compare_using_details(other, source)
     File 
"/usr/lib/python3/dist-packages/diffoscope/comparators/utils/file.py", line 
409, in _compare_using_details
       details.extend(self.compare_details(other, source))
     File "/usr/lib/python3/dist-packages/diffoscope/comparators/python.py", 
line 45, in compare_details
       describe_pyc(other.path),
     File "/usr/lib/python3/dist-packages/diffoscope/comparators/python.py", 
line 58, in describe_pyc
       return "\n".join(parse_pyc(f))
     File "/usr/lib/python3/dist-packages/diffoscope/comparators/python.py", 
line 67, in parse_pyc
       modtime = time.asctime(time.gmtime(struct.unpack("<L", moddate)[0]))
   struct.error: unpack requires a buffer of 4 bytes

--
Jakub Wilk

Reply via email to