Alex Vandiver
3bf3f47b49
delete_old_unclaimed_attachments: Add flag to clean up storage.
...
Actions like deleting realms may leave unreferenced uploads in the
attachment storage backend.
Fix these by walking the complete contents of the attachment storage
backend, and removing files which are no longer present in the
database. This may take quite some time, as it is necessarily O(n) in
the number of files uploaded to the system.
2023-03-02 16:36:19 -08:00
Alex Vandiver
c9d1755a12
delete_realm: Optimize attachment cleanup by batching.
2023-03-02 16:36:19 -08:00
Alex Vandiver
b31a6dc56c
upload: Reorder functions into logical groupings.
2023-03-02 16:36:19 -08:00
Alex Vandiver
bd80c048be
upload: Rename delete_message_image to use word "attachment".
...
The table is named Attachment, and not all of them are images.
2023-03-02 16:36:19 -08:00
Alex Vandiver
567d1d54e7
upload: Rename upload_message_file to use word "attachment".
...
For consistency with the table, which is named Attachment.
2023-03-02 16:36:19 -08:00
Anders Kaseorg
f90a41bab0
upload: Replace deprecated PIL.PngImagePlugin.APNG_DISPOSE_OP_NONE.
...
https://pillow.readthedocs.io/en/stable/deprecations.html#constants
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-02-09 10:06:25 -08:00
Anders Kaseorg
201debc1ea
upload: Replace deprecated PIL.Image.ANTIALIAS with LANCZOS.
...
https://pillow.readthedocs.io/en/stable/deprecations.html#constants
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-02-08 17:53:45 -08:00
Anders Kaseorg
da3cf5ea7a
ruff: Fix RSE102 Unnecessary parentheses on raised exception.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-02-04 16:34:55 -08:00
Alex Vandiver
43fe24a5a0
uploads: Make realm_avatar_and_logo_path non-abstract.
2023-01-09 18:23:58 -05:00
Alex Vandiver
83fd807885
uploads: Remove unncessary return in create_attachment.
2023-01-09 18:23:58 -05:00
Alex Vandiver
7c0d414aff
uploads: Split out S3 and local file backends into separate files.
...
The uploads file is large, and conceptually the S3 and local-file
backends are separable.
2023-01-09 18:23:58 -05:00