From 4a56500adbfa67d8997378cd6dccd305e71069ea Mon Sep 17 00:00:00 2001 From: Luna Date: Tue, 19 Mar 2019 00:44:34 -0300 Subject: [PATCH] embed.messages: always pass url as EmbedURL - embed.sanitizer: handle non-EmbedURL on fetch_embed --- litecord/embed/messages.py | 4 +++- litecord/embed/sanitizer.py | 10 +++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/litecord/embed/messages.py b/litecord/embed/messages.py index e4989d1..3025945 100644 --- a/litecord/embed/messages.py +++ b/litecord/embed/messages.py @@ -140,10 +140,12 @@ async def process_url_embed(config, storage, dispatcher, new_embeds = [] for url in urls: + url = EmbedURL(url) + if is_media_url(url): embed = await insert_media_meta(url, config, session) else: - embed = await insert_mp_embed(parsed, config, session) + embed = await insert_mp_embed(url, config, session) if not embed: continue diff --git a/litecord/embed/sanitizer.py b/litecord/embed/sanitizer.py index 40959c0..e3b4515 100644 --- a/litecord/embed/sanitizer.py +++ b/litecord/embed/sanitizer.py @@ -156,14 +156,14 @@ async def fetch_raw_img(url, *, config=None, session=None) -> Optional[tuple]: return resp, await resp.read() -async def fetch_embed(parsed, *, config=None, session=None) -> dict: +async def fetch_embed(url, *, config=None, session=None) -> dict: """Fetch an embed""" + config, session = _mk_cfg_sess(config, session) - if session is None: - session = app.session + if not isinstance(url, EmbedURL): + url = EmbedURL(url) - if config is None: - config = app.config + parsed = url.parsed # TODO: handle query string md_path = f'{parsed.scheme}/{parsed.netloc}{parsed.path}'