From fe55ed801dcc9331a1883897c68666a80c4531ea Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Sat, 13 Jul 2019 19:06:20 +0200 Subject: [PATCH] Faster CLI startup time by moving aiohttp import to runtime --- funkwhale_cli/api.py | 6 ++++-- funkwhale_cli/cli/base.py | 2 +- funkwhale_cli/cli/tracks.py | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/funkwhale_cli/api.py b/funkwhale_cli/api.py index 082b22f..5c20ced 100644 --- a/funkwhale_cli/api.py +++ b/funkwhale_cli/api.py @@ -1,11 +1,11 @@ -import aiohttp - from . import exceptions from . import schemas from . import settings def get_session_kwargs(): + import aiohttp + headers = {"User-Agent": settings.USER_AGENT} return { "timeout": aiohttp.ClientTimeout(total=settings.TIMEOUT), @@ -14,6 +14,8 @@ def get_session_kwargs(): def get_session(): + import aiohttp + kwargs = get_session_kwargs() return aiohttp.ClientSession(**kwargs) diff --git a/funkwhale_cli/cli/base.py b/funkwhale_cli/cli/base.py index e4f8676..78517f4 100644 --- a/funkwhale_cli/cli/base.py +++ b/funkwhale_cli/cli/base.py @@ -1,5 +1,4 @@ import asyncio -import aiohttp import click import click_log import dotenv @@ -110,6 +109,7 @@ def env_file(v): def async_command(f): def wrapper(*args, **kwargs): + import aiohttp loop = asyncio.get_event_loop() ignore_aiohttp_ssl_eror(loop) _async_reraise = kwargs.pop("_async_reraise", False) diff --git a/funkwhale_cli/cli/tracks.py b/funkwhale_cli/cli/tracks.py index 7433338..e96226d 100644 --- a/funkwhale_cli/cli/tracks.py +++ b/funkwhale_cli/cli/tracks.py @@ -1,7 +1,6 @@ import os import pathlib -import aiohttp import click import tqdm @@ -70,6 +69,8 @@ async def get_track_download_url(id, remote, format=None): async def track_download( ctx, id, format, directory, template, overwrite, ignore_errors, skip_existing ): + import aiohttp + async with ctx.obj["remote"]: progressbar = tqdm.tqdm(id, unit="Files") for i in progressbar: -- GitLab