From d5038e6b98ed2d8be03303532f4e406928304aa5 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 24 Feb 2018 14:04:23 +0200 Subject: [PATCH] Fix non-inline URL parsing --- mautrix_telegram/formatter/from_telegram.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mautrix_telegram/formatter/from_telegram.py b/mautrix_telegram/formatter/from_telegram.py index b5919cd6..80519ab8 100644 --- a/mautrix_telegram/formatter/from_telegram.py +++ b/mautrix_telegram/formatter/from_telegram.py @@ -176,7 +176,8 @@ def _telegram_entities_to_matrix(text, entities): elif entity_type == MessageEntityEmail: html.append(f"{entity_text}") elif entity_type in {MessageEntityTextUrl, MessageEntityUrl}: - skip_entity = _parse_url(html, entity_text, entity_type, entity.url) + skip_entity = _parse_url(html, entity_text, + entity.url if entity_type == MessageEntityTextUrl else None) elif entity_type == MessageEntityBotCommand: html.append(f"!{entity_text[1:]}") elif entity_type == MessageEntityHashtag: @@ -230,8 +231,8 @@ def _parse_name_mention(html, entity_text, user_id): return False -def _parse_url(html, entity_text, entity_type, url): - url = escape(url) if entity_type == MessageEntityTextUrl else entity_text +def _parse_url(html, entity_text, url): + url = escape(url) if url else entity_text if not url.startswith(("https://", "http://", "ftp://", "magnet://")): url = "http://" + url html.append(f"{entity_text}")