From e1e9ba80fa97b64037fe136b924b8860ffcaf1d6 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 11 Feb 2018 22:40:21 +0200 Subject: [PATCH 1/3] Add Python 3.5 compatibility --- mautrix_appservice/appservice.py | 1 + mautrix_appservice/errors.py | 1 + mautrix_appservice/intent_api.py | 1 + mautrix_appservice/state_store.py | 1 + mautrix_telegram/__main__.py | 1 + mautrix_telegram/commands.py | 1 + mautrix_telegram/config.py | 1 + mautrix_telegram/db.py | 1 + mautrix_telegram/formatter.py | 1 + mautrix_telegram/matrix.py | 1 + mautrix_telegram/portal.py | 9 ++++++--- mautrix_telegram/puppet.py | 1 + mautrix_telegram/tgclient.py | 1 + mautrix_telegram/user.py | 1 + requirements.txt | 3 ++- setup.py | 3 ++- 16 files changed, 23 insertions(+), 5 deletions(-) diff --git a/mautrix_appservice/appservice.py b/mautrix_appservice/appservice.py index 7d25c4d7..1d26fbb2 100644 --- a/mautrix_appservice/appservice.py +++ b/mautrix_appservice/appservice.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # matrix-appservice-python - A Matrix Application Service framework written in Python. # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_appservice/errors.py b/mautrix_appservice/errors.py index b0834283..8c09936f 100644 --- a/mautrix_appservice/errors.py +++ b/mautrix_appservice/errors.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_appservice/intent_api.py b/mautrix_appservice/intent_api.py index 395dfe32..d7916cbe 100644 --- a/mautrix_appservice/intent_api.py +++ b/mautrix_appservice/intent_api.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_appservice/state_store.py b/mautrix_appservice/state_store.py index 5ce32aa1..1174dcde 100644 --- a/mautrix_appservice/state_store.py +++ b/mautrix_appservice/state_store.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # matrix-appservice-python - A Matrix Application Service framework written in Python. # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/__main__.py b/mautrix_telegram/__main__.py index 8439dfb0..a5415f5d 100644 --- a/mautrix_telegram/__main__.py +++ b/mautrix_telegram/__main__.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/commands.py b/mautrix_telegram/commands.py index e9555b41..2046f3e4 100644 --- a/mautrix_telegram/commands.py +++ b/mautrix_telegram/commands.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/config.py b/mautrix_telegram/config.py index 82817f73..f2f81426 100644 --- a/mautrix_telegram/config.py +++ b/mautrix_telegram/config.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/db.py b/mautrix_telegram/db.py index d993b02c..ec6da354 100644 --- a/mautrix_telegram/db.py +++ b/mautrix_telegram/db.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/formatter.py b/mautrix_telegram/formatter.py index ce4a4c7b..cb920284 100644 --- a/mautrix_telegram/formatter.py +++ b/mautrix_telegram/formatter.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/matrix.py b/mautrix_telegram/matrix.py index e631ff4f..6765a8b7 100644 --- a/mautrix_telegram/matrix.py +++ b/mautrix_telegram/matrix.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/portal.py b/mautrix_telegram/portal.py index b15ebb6d..6c8a6168 100644 --- a/mautrix_telegram/portal.py +++ b/mautrix_telegram/portal.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # @@ -564,12 +565,14 @@ class Portal: elif self.tgid: raise ValueError("Can't create Telegram chat for portal with existing Telegram chat.") - invites = await self._get_telegram_users_in_matrix_room() - if len(invites) < 2: + invite_ids = await self._get_telegram_users_in_matrix_room() + if len(invite_ids) < 2: # TODO[waiting-for-bots] This won't happen when the bot is enabled raise ValueError("Not enough Telegram users to create a chat") - invites = [await source.client.get_input_entity(id) for id in invites] + invites = [] + for id in invite_ids: + invites.append(await source.client.get_input_entity(id)) if self.peer_type == "chat": updates = await source.client(CreateChatRequest(title=self.title, users=invites)) diff --git a/mautrix_telegram/puppet.py b/mautrix_telegram/puppet.py index 8df387b6..c3736994 100644 --- a/mautrix_telegram/puppet.py +++ b/mautrix_telegram/puppet.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/tgclient.py b/mautrix_telegram/tgclient.py index 84b6728e..335d8adf 100644 --- a/mautrix_telegram/tgclient.py +++ b/mautrix_telegram/tgclient.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/mautrix_telegram/user.py b/mautrix_telegram/user.py index ba37e1ae..ec0dd468 100644 --- a/mautrix_telegram/user.py +++ b/mautrix_telegram/user.py @@ -1,3 +1,4 @@ +# -*- coding: future_fstrings -*- # mautrix-telegram - A Matrix-Telegram puppeting bridge # Copyright (C) 2018 Tulir Asokan # diff --git a/requirements.txt b/requirements.txt index c7ee0ddf..d40b82f5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,7 @@ ruamel.yaml python-magic SQLAlchemy alembic --e git+https://github.com/LonamiWebs/Telethon@asyncio#egg=Telethon +-e git+https://github.com/tulir/Telethon@asyncio-3.5#egg=Telethon Markdown Pillow +future-fstrings diff --git a/setup.py b/setup.py index d9df9d6d..b007c318 100644 --- a/setup.py +++ b/setup.py @@ -21,10 +21,11 @@ setuptools.setup( "Markdown>=2.6.11,<3", "ruamel.yaml>=0.15.35,<0.16", "Pillow>=5.0.0,<6", + "future-fstrings>=0.4.1", "python-magic>=0.4.15,<0.5", ], dependency_links=[ - "https://github.com/LonamiWebs/Telethon/tarball/7da092894b306d720cc60c04daa2bfba58f81946#egg=Telethon" + "https://github.com/tulir/Telethon/tarball/ac46abc9680c5a74897fe6dbe9e585ad2577b1fa#egg=Telethon" ], classifiers=[ From 44bad0bf2be689ac3682dd58cf3485497ee68b50 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 14 Feb 2018 23:47:36 +0200 Subject: [PATCH 2/3] Make Python 3.5 support mergeable to master --- requirements/3.5.txt | 2 ++ requirements.txt => requirements/base.txt | 1 - requirements/default.txt | 2 ++ setup.py | 6 +++++- 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 requirements/3.5.txt rename requirements.txt => requirements/base.txt (56%) create mode 100644 requirements/default.txt diff --git a/requirements/3.5.txt b/requirements/3.5.txt new file mode 100644 index 00000000..c9b2ce0c --- /dev/null +++ b/requirements/3.5.txt @@ -0,0 +1,2 @@ +-r base.txt +-e git+https://github.com/tulir/Telethon@asyncio-3.5#egg=Telethon diff --git a/requirements.txt b/requirements/base.txt similarity index 56% rename from requirements.txt rename to requirements/base.txt index d40b82f5..bfa7bdde 100644 --- a/requirements.txt +++ b/requirements/base.txt @@ -3,7 +3,6 @@ ruamel.yaml python-magic SQLAlchemy alembic --e git+https://github.com/tulir/Telethon@asyncio-3.5#egg=Telethon Markdown Pillow future-fstrings diff --git a/requirements/default.txt b/requirements/default.txt new file mode 100644 index 00000000..1158be21 --- /dev/null +++ b/requirements/default.txt @@ -0,0 +1,2 @@ +-r base.txt +-e git+https://github.com/LonamiWebs/Telethon@asyncio#egg=Telethon diff --git a/setup.py b/setup.py index b007c318..c43e5c3a 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,5 @@ import setuptools +import sys import mautrix_telegram setuptools.setup( @@ -25,7 +26,10 @@ setuptools.setup( "python-magic>=0.4.15,<0.5", ], dependency_links=[ - "https://github.com/tulir/Telethon/tarball/ac46abc9680c5a74897fe6dbe9e585ad2577b1fa#egg=Telethon" + ( + "https://github.com/LonamiWebs/Telethon/tarball/7da092894b306d720cc60c04daa2bfba58f81946#egg=Telethon" + if sys.version_info.major > 3 or sys.version_info.minor > 6 + else "https://github.com/tulir/Telethon/tarball/ac46abc9680c5a74897fe6dbe9e585ad2577b1fa#egg=Telethon") ], classifiers=[ From 664a4f109528769f49cd93ad2f23abf834c11cd5 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 14 Feb 2018 23:51:18 +0200 Subject: [PATCH 3/3] Fix Telethon dependency in setup.py for Python 3.6 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c43e5c3a..b219a252 100644 --- a/setup.py +++ b/setup.py @@ -28,7 +28,7 @@ setuptools.setup( dependency_links=[ ( "https://github.com/LonamiWebs/Telethon/tarball/7da092894b306d720cc60c04daa2bfba58f81946#egg=Telethon" - if sys.version_info.major > 3 or sys.version_info.minor > 6 + if sys.version_info.major > 3 or sys.version_info.minor > 5 else "https://github.com/tulir/Telethon/tarball/ac46abc9680c5a74897fe6dbe9e585ad2577b1fa#egg=Telethon") ],