|
|
|
|
|
|
|
|
d["image"].close() # Close original image |
|
|
d["image"].close() # Close original image |
|
|
d["image"] = converted_image |
|
|
d["image"] = converted_image |
|
|
d["image"].save(output_buffer, format='JPEG') |
|
|
d["image"].save(output_buffer, format='JPEG') |
|
|
d["image"].close() # Close PIL image after saving |
|
|
|
|
|
|
|
|
|
|
|
async with minio_limiter: |
|
|
async with minio_limiter: |
|
|
await trio.to_thread.run_sync(lambda: STORAGE_IMPL.put(task["kb_id"], d["id"], output_buffer.getvalue())) |
|
|
await trio.to_thread.run_sync(lambda: STORAGE_IMPL.put(task["kb_id"], d["id"], output_buffer.getvalue())) |
|
|
d["img_id"] = "{}-{}".format(task["kb_id"], d["id"]) |
|
|
d["img_id"] = "{}-{}".format(task["kb_id"], d["id"]) |
|
|
|
|
|
if not isinstance(d["image"], bytes): |
|
|
|
|
|
d["image"].close() |
|
|
del d["image"] # Remove image reference |
|
|
del d["image"] # Remove image reference |
|
|
docs.append(d) |
|
|
docs.append(d) |
|
|
finally: |
|
|
finally: |