Closed DrPlanecraft closed 7 months ago
For some reason, the Image
is being copied.
And Image
doesn't naturally have the methods needed to work in the borb
IO framework.
So there is a special method that adds these methods to an Image
(any random object really).
But copying the object doesn't add these methods.
Which is where it goes wrong.
is_inline
is one of these magic methods.
When I try to reproduce this issue with another PDF, the stacktrace now points to a part of fonttools
:
Traceback (most recent call last):
File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.10/multiprocessing/pool.py", line 114, in worker
task = get()
File "/usr/lib/python3.10/multiprocessing/queues.py", line 367, in get
return _ForkingPickler.loads(res)
File "/home/joris/PycharmProjects/borb-sandbox-feb-8-2024/.venv/lib/python3.10/site-packages/fontTools/afmLib.py", line 354, in __getattr__
if attr in self._attrs:
TypeError: argument of type 'NoneType' is not iterable
I have no desire to re-implement fonttools. And if I want to continue using that library, it means I am limited by whatever limits they happen to have.
In short, it seems like even if I solved the multi-threading issue in borb
, it would still not be enough. One of the libraries on which borb
depends happens to not be thread-safe as well.
So, for now, I am going to close this issue.
Kind regards, Joris Schellekens
Describe the bug With a multi-processed application, the remote process (the process spawned by multiprocessing) will not be able to save and otherwise be encoded to be sent back to the main process
To Reproduce Download file: Artwork_1.pdf
Run:
Expected behaviour It should create multiple PDFs in the current working directory ( os.getcwd() )
Traceback
Desktop (please complete the following information):