optimize-images-x icon indicating copy to clipboard operation
optimize-images-x copied to clipboard

In Python3.12 optimizing a single image triggers a silent error

Open victordomingos opened this issue 1 year ago • 0 comments

In Python3.12 optimizing a single image triggers a silent error, visible as a traceback in command line. In the GUI no feedback is given to the user and the image stays untouched.

Exception in Tkinter callback
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/tkinter/__init__.py", line 1962, in __call__
    return self.func(*args)
           ^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/optimize_images_x/gui/main_window.py", line 324, in select_files
    self.optimize_images()
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/optimize_images_x/gui/main_window.py", line 464, in optimize_images
    for result in executor.map(do_optimization, tasks):
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/concurrent/futures/process.py", line 864, in map
    results = super().map(partial(_process_chunk, fn),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/concurrent/futures/_base.py", line 608, in map
    fs = [self.submit(fn, *args) for args in zip(*iterables)]
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/concurrent/futures/process.py", line 197, in _get_chunks
    chunk = tuple(itertools.islice(it, chunksize))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/optimize_images_x/gui/main_window.py", line 446, in <genexpr>
    tasks = (convert_task(t, self.task_settings)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/optimize_images_x/task_conversion.py", line 29, in convert_task
    return OITask(path,
           ^^^^^^^^^^^^
TypeError: Task.__new__() missing 1 required positional argument: 'output_config'

victordomingos avatar Jan 18 '24 20:01 victordomingos