import datetime import json import logging from urllib.parse import urlparse import aiohttp import asyncpg import validators.url from app.config import Config config = Config.from_file() log = logging.getLogger(__name__) async def redirect_gatherer(url: str, session: aiohttp.client.ClientSession): async with session.get(url) as resp: history = [str(x.url) for x in resp.history] history.append(str(resp.url)) return history async def validate_url(url: str): a = validators.url(url) if not isinstance(a, validators.ValidationFailure): return True return False async def url_splitter(url: str): return urlparse(url)