mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
thumbnail: Tighten and clarify the "type: ignore" limitation.
This commit is contained in:
committed by
Tim Abbott
parent
3cbbf2307b
commit
912c1b5984
@@ -19,7 +19,7 @@ from zerver.lib.thumbnail import (
|
|||||||
rewrite_thumbnailed_images,
|
rewrite_thumbnailed_images,
|
||||||
)
|
)
|
||||||
from zerver.lib.upload import save_attachment_contents, upload_backend
|
from zerver.lib.upload import save_attachment_contents, upload_backend
|
||||||
from zerver.models import ArchivedMessage, ImageAttachment, Message
|
from zerver.models import AbstractMessage, ArchivedMessage, ImageAttachment, Message
|
||||||
from zerver.worker.base import QueueProcessingWorker, assign_queue
|
from zerver.worker.base import QueueProcessingWorker, assign_queue
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@@ -158,15 +158,17 @@ def ensure_thumbnails(image_attachment: ImageAttachment) -> int:
|
|||||||
def update_message_rendered_content(
|
def update_message_rendered_content(
|
||||||
realm_id: int, path_id: str, image_data: MarkdownImageMetadata | None
|
realm_id: int, path_id: str, image_data: MarkdownImageMetadata | None
|
||||||
) -> None:
|
) -> None:
|
||||||
for message_class in [Message, ArchivedMessage]:
|
message_classes: list[type[AbstractMessage]] = [Message, ArchivedMessage]
|
||||||
|
for message_class in message_classes:
|
||||||
messages_with_image = (
|
messages_with_image = (
|
||||||
message_class.objects.filter( # type: ignore[attr-defined] # TODO: ?
|
message_class._default_manager.filter( # type: ignore[misc] # Both Message and ArchivedMessage have an "attachment" many-to-many, but this is not guaranteed by the type system
|
||||||
realm_id=realm_id, attachment__path_id=path_id
|
realm_id=realm_id, attachment__path_id=path_id
|
||||||
)
|
)
|
||||||
.select_for_update(of=("self",))
|
.select_for_update(of=("self",))
|
||||||
.order_by("id")
|
.order_by("id")
|
||||||
)
|
)
|
||||||
for message in messages_with_image:
|
for message in messages_with_image:
|
||||||
|
assert message.rendered_content is not None
|
||||||
rendered_content = rewrite_thumbnailed_images(
|
rendered_content = rewrite_thumbnailed_images(
|
||||||
message.rendered_content,
|
message.rendered_content,
|
||||||
{} if image_data is None else {path_id: image_data},
|
{} if image_data is None else {path_id: image_data},
|
||||||
|
|||||||
Reference in New Issue
Block a user