def consume(self, event): # type: (Mapping[str, Any]) -> None for url in event['urls']: url_preview.get_link_embed_data(url) message = Message.objects.get(id=event['message_id']) # If the message changed, we will run this task after updating the message # in zerver.views.messages.update_message_backend if message.content != event['message_content']: return if message.content is not None: ums = UserMessage.objects.filter( message=message.id).select_related("user_profile") message_users = {um.user_profile for um in ums} # Fetch the realm whose settings we're using for rendering realm = Realm.objects.get(id=event['message_realm_id']) # If rendering fails, the called code will raise a JsonableError. rendered_content = render_incoming_message( message, message.content, message_users, realm) do_update_embedded_data( message.sender, message, message.content, rendered_content)
def consume(self, event): # type: (Mapping[str, Any]) -> None for url in event['urls']: url_preview.get_link_embed_data(url) message = Message.objects.get(id=event['message_id']) # If the message changed, we will run this task after updating the message # in zerver.views.messages.update_message_backend if message.content != event['message_content']: return if message.content is not None: query = UserMessage.objects.filter( message=message.id ) message_user_ids = set(query.values_list('user_profile_id', flat=True)) # Fetch the realm whose settings we're using for rendering realm = Realm.objects.get(id=event['message_realm_id']) # If rendering fails, the called code will raise a JsonableError. rendered_content = render_incoming_message( message, message.content, message_user_ids, realm) do_update_embedded_data( message.sender, message, message.content, rendered_content)
def consume(self, event: Mapping[str, Any]) -> None: for url in event["urls"]: start_time = time.time() url_preview.get_link_embed_data(url) logging.info("Time spent on get_link_embed_data for %s: %s", url, time.time() - start_time) message = Message.objects.get(id=event["message_id"]) # If the message changed, we will run this task after updating the message # in zerver.lib.actions.check_update_message if message.content != event["message_content"]: return if message.content is not None: query = UserMessage.objects.filter(message=message.id, ) message_user_ids = set( query.values_list("user_profile_id", flat=True)) # Fetch the realm whose settings we're using for rendering realm = Realm.objects.get(id=event["message_realm_id"]) # If rendering fails, the called code will raise a JsonableError. rendering_result = render_incoming_message(message, message.content, message_user_ids, realm) do_update_embedded_data(message.sender, message, message.content, rendering_result)
def consume(self, event): # type: (Mapping[str, Any]) -> None for url in event['urls']: url_preview.get_link_embed_data(url) message = Message.objects.get(id=event['message_id']) # If the message changed, we will run this task after updating the message # in zerver.views.messages.update_message_backend if message.content != event['message_content']: return if message.content is not None: ums = UserMessage.objects.filter( message=message.id).select_related("user_profile") message_users = {um.user_profile for um in ums} # If rendering fails, the called code will raise a JsonableError. rendered_content = render_incoming_message( message, content=message.content, message_users=message_users) do_update_embedded_data(message.sender, message, message.content, rendered_content)