From dc4838af0795e7bcf21d84432e90065e56ea05d1 Mon Sep 17 00:00:00 2001 From: Roxedus Date: Wed, 20 Mar 2019 17:21:24 +0100 Subject: [PATCH] Better async performance? and some pep8 --- cogs/utils/RoxUtils.py | 32 ++++++++------------------------ requirements.txt | 2 +- 2 files changed, 9 insertions(+), 25 deletions(-) diff --git a/cogs/utils/RoxUtils.py b/cogs/utils/RoxUtils.py index 6cf7ab8..6df46da 100644 --- a/cogs/utils/RoxUtils.py +++ b/cogs/utils/RoxUtils.py @@ -1,48 +1,32 @@ import aiohttp import asyncio -from bs4 import BeautifulSoup as BS +from bs4 import BeautifulSoup as bs4 + +session = aiohttp.ClientSession() class ThumbNailer(object): - def __init__(self): - self.url = self - - async def connection(self, url): - async with aiohttp.ClientSession() as session: + async def get_img(self, url): async with session.get(url, timeout=30) as response: assert response.status == 200 html = await response.read() - return ThumbNailer.__parse_result(html) + return await ThumbNailer.__parse_result(html) - def __parse_result(html): + async def __parse_result(html): try: - soup = BS(html, 'html.parser') + soup = bs4(html, 'html.parser') img = soup.find("meta", property="twitter:image")["content"] return img except Exception as e: raise e async def identify(self, identifier, uri): - thumbnail_url = "" if "youtube" in uri: thumbnail_url = f"https://img.youtube.com/vi/{identifier}/0.jpg" return thumbnail_url elif "soundcloud" in uri: - thumbnail_url = await ThumbNailer.connection(ThumbNailer, url=uri) + thumbnail_url = await ThumbNailer.get_img(ThumbNailer, url=uri) return thumbnail_url else: return None - - - -def thumbnailer(self, identifier, uri): - thumbnail_url = "" - if "youtube" in uri: - thumbnail_url = f"https://img.youtube.com/vi/{identifier}/0.jpg" - return thumbnail_url - elif "soundcloud" in uri: - thumbnail_url = BS(requests.get(uri).text, "html.parser").find("meta", property="twitter:image")["content"] - return thumbnail_url - else: - return None diff --git a/requirements.txt b/requirements.txt index fc0bd94..c133b6e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,5 +2,5 @@ git+https://github.com/Rapptz/discord.py@rewrite git+https://github.com/Devoxin/Lavalink.py@dev asyncio pyyaml -bs4 +BeautifulSoup4 aiohttp<3.5.0,>=3.3.0 \ No newline at end of file