From 5c4db8df5be3e9e7ffd1b4ff6d3383fa6268c4ac Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Thu, 20 Dec 2018 00:32:15 +0200 Subject: [PATCH] Fix Telegram->Matrix file transfer broken in b2e183e363b9e21e53fa7ed83473d00a88fdfe0a --- mautrix_telegram/db.py | 6 +++--- mautrix_telegram/portal.py | 11 ++++------- mautrix_telegram/puppet.py | 4 ++-- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/mautrix_telegram/db.py b/mautrix_telegram/db.py index a4f36ea0..d04b58ea 100644 --- a/mautrix_telegram/db.py +++ b/mautrix_telegram/db.py @@ -309,9 +309,9 @@ class TelegramFile(Base): def insert(self) -> None: self.db.execute(self.t.insert().values( - id=self.id, mxc=self.mxc, mime_type=self.mime_type, timestamp=self.timestamp, - size=self.size, width=self.width, height=self.height, - thumbnail_id=self.thumbnail.id if self.thumbnail else self.thumbnail_id)) + id=self.id, mxc=self.mxc, mime_type=self.mime_type, was_converted=self.was_converted, + timestamp=self.timestamp, size=self.size, width=self.width, height=self.height, + thumbnail=self.thumbnail.id if self.thumbnail else self.thumbnail_id)) def init(db_session, db_engine) -> None: diff --git a/mautrix_telegram/portal.py b/mautrix_telegram/portal.py index 02a329bd..36cd1a63 100644 --- a/mautrix_telegram/portal.py +++ b/mautrix_telegram/portal.py @@ -600,8 +600,7 @@ class Portal: save: bool = False) -> bool: photo_id = f"{photo.volume_id}-{photo.local_id}" if self.photo_id != photo_id: - file = await util.transfer_file_to_matrix(self.db, user.client, self.main_intent, - photo) + file = await util.transfer_file_to_matrix(user.client, self.main_intent, photo) if file: await self.main_intent.set_room_avatar(self.mxid, file.mxc) self.photo_id = photo_id @@ -1242,8 +1241,7 @@ class Portal: async def handle_telegram_photo(self, source: 'AbstractUser', intent: IntentAPI, evt: Message, relates_to: Dict = None) -> Optional[Dict]: largest_size = self._get_largest_photo_size(evt.media.photo) - file = await util.transfer_file_to_matrix(self.db, source.client, intent, - largest_size.location) + file = await util.transfer_file_to_matrix(source.client, intent, largest_size.location) if not file: return None if self.get_config("inline_images") and (evt.message @@ -1337,12 +1335,11 @@ class Portal: return info, name async def handle_telegram_document(self, source: 'AbstractUser', intent: IntentAPI, - evt: Message, - relates_to: dict = None) -> Optional[Dict]: + evt: Message, relates_to: dict = None) -> Optional[Dict]: document = evt.media.document attrs = self._parse_telegram_document_attributes(document.attributes) - file = await util.transfer_file_to_matrix(self.db, source.client, intent, document, + file = await util.transfer_file_to_matrix(source.client, intent, document, document.thumb, is_sticker=attrs["is_sticker"]) if not file: return None diff --git a/mautrix_telegram/puppet.py b/mautrix_telegram/puppet.py index 900dbea2..179e3a81 100644 --- a/mautrix_telegram/puppet.py +++ b/mautrix_telegram/puppet.py @@ -369,8 +369,8 @@ class Puppet: async def update_avatar(self, source: 'AbstractUser', photo: FileLocation) -> bool: photo_id = f"{photo.volume_id}-{photo.local_id}" if self.photo_id != photo_id: - file = await util.transfer_file_to_matrix(self.db, source.client, - self.default_mxid_intent, photo) + file = await util.transfer_file_to_matrix(source.client, self.default_mxid_intent, + photo) if file: await self.default_mxid_intent.set_avatar(file.mxc) self.photo_id = photo_id