INNER CODE UNIT · Python

r

trevorhobenshield/twitter-api-client · scripts/update.py:119

                r = await fn(*args, **kwargs)
                if r.status_code in ignore_status_codes:
                    return r
                r.raise_for_status()
                return r
        except Exception as e:
            if i == max_retries:
                logger.warning(f'Max retries exceeded\n{e}')
                return
            t = min(random.random() * (b ** i), m)
            logger.info(f'Retrying in {f"{t:.2f}"} seconds\n{e}')
            await asyncio.sleep(t)


def download(urls: list[str], out: str = 'tmp', sz: int = None, fname_fn: partial = None, **kwargs) -> Generator:
    async def get(client: AsyncClient, sem: Semaphore, url: str):
        fname = url.split('/')[-1] if not fname_fn else fname_fn(url)
        async with aiofiles.open(f'{_out}/{fname}', 'wb') as fp:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…