diff --git a/proxy_scraper_checker/__main__.py b/proxy_scraper_checker/__main__.py index 3306590..85c3fac 100644 --- a/proxy_scraper_checker/__main__.py +++ b/proxy_scraper_checker/__main__.py @@ -107,7 +107,9 @@ async def main() -> None: settings = await Settings.from_mapping(cfg, session=session) storage = ProxyStorage(protocols=settings.sources) with Progress( - TextColumn("[progress.description]{task.description}"), + TextColumn("[yellow]{task.fields[col1]}"), + TextColumn("[red]::"), + TextColumn("[green]{task.fields[col2]}"), BarColumn(), MofNCompleteColumn(), console=console, diff --git a/proxy_scraper_checker/checker.py b/proxy_scraper_checker/checker.py index 699271c..0e9cd2c 100644 --- a/proxy_scraper_checker/checker.py +++ b/proxy_scraper_checker/checker.py @@ -34,7 +34,7 @@ async def check_one( "%s.%s: %s", e.__class__.__module__, e.__class__.__qualname__, e ) storage.remove(proxy) - progress.update(task, advance=1) + progress.advance(task_id=task, advance=1) async def check_all( @@ -44,10 +44,12 @@ async def check_all( progress: Progress, proxies_count: Mapping[ProxyType, int], ) -> None: - tasks = { + progress_tasks = { proto: progress.add_task( - f"[yellow]Checker [red]:: [green]{proto.name}", + description="", total=proxies_count[proto], + col1="Checker", + col2=proto.name, ) for proto in sort.PROTOCOL_ORDER if proto in storage.enabled_protocols @@ -59,7 +61,7 @@ async def check_all( proxy=proxy, settings=settings, storage=storage, - task=tasks[proxy.protocol], + task=progress_tasks[proxy.protocol], ) for proxy in storage ) diff --git a/proxy_scraper_checker/geodb.py b/proxy_scraper_checker/geodb.py index 8c8c0e1..f438cbc 100644 --- a/proxy_scraper_checker/geodb.py +++ b/proxy_scraper_checker/geodb.py @@ -41,7 +41,7 @@ async def _save_geodb( async with aiofiles.open(GEODB_PATH, "wb") as geodb: async for chunk in response.content.iter_any(): await geodb.write(chunk) - progress.update(task, advance=len(chunk)) + progress.advance(task_id=task, advance=len(chunk)) async def download_geodb(*, progress: Progress, session: ClientSession) -> None: @@ -64,8 +64,10 @@ async def download_geodb(*, progress: Progress, session: ClientSession) -> None: progress=progress, response=response, task=progress.add_task( - "[yellow]Downloader[red] :: [green]GeoDB", + description="", total=response.content_length, + col1="Downloader", + col2="GeoDB", ), ) logger.info("Downloaded geolocation database to %s", GEODB_PATH) diff --git a/proxy_scraper_checker/scraper.py b/proxy_scraper_checker/scraper.py index 240d133..6a53883 100644 --- a/proxy_scraper_checker/scraper.py +++ b/proxy_scraper_checker/scraper.py @@ -77,7 +77,7 @@ async def scrape_one( password=proxy.group("password"), ) ) - progress.update(task, advance=1) + progress.advance(task_id=task, advance=1) async def scrape_all( @@ -87,9 +87,9 @@ async def scrape_all( settings: Settings, storage: ProxyStorage, ) -> None: - tasks = { + progress_tasks = { proto: progress.add_task( - f"[yellow]Scraper [red]:: [green]{proto.name}", total=len(sources) + description="", total=len(sources), col1="Scraper", col2=proto.name ) for proto, sources in settings.sources.items() } @@ -102,7 +102,7 @@ async def scrape_all( session=session, source=source, storage=storage, - task=tasks[proto], + task=progress_tasks[proto], timeout=timeout, ) for proto, sources in settings.sources.items()