Add type stubs for dependencies jmespath and tqdm

This commit is contained in:
Joakim Soderlund 2023-10-29 16:18:52 +01:00
parent 439fb7abc0
commit 129a3440e6
2 changed files with 21 additions and 14 deletions

View file

@ -5,7 +5,7 @@ Various utilities.
# #
# Fimfarchive, preserves stories from Fimfiction. # Fimfarchive, preserves stories from Fimfiction.
# Copyright (C) 2015 Joakim Soderlund # Copyright (C) 2023 Joakim Soderlund
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -25,16 +25,15 @@ Various utilities.
import json import json
import os import os
import shutil import shutil
from functools import partial
from importlib import import_module from importlib import import_module
from importlib_resources import files from importlib_resources import files
from pathlib import Path from pathlib import Path
from typing import ( from typing import (
cast, Any, Callable, Dict, Iterator, cast, Any, Callable, Dict, Iterable, Iterator,
Optional, Set, Tuple, Type, TypeVar, Union, Optional, Set, Tuple, Type, TypeVar, Union,
) )
from tqdm import tqdm from tqdm import tqdm as _tqdm
from fimfarchive.flavors import Flavor from fimfarchive.flavors import Flavor
from fimfarchive.stories import Story from fimfarchive.stories import Story
@ -51,17 +50,9 @@ __all__ = (
) )
F = TypeVar('F', bound=Flavor)
ByteFunc = Callable[[bytes], bytes] ByteFunc = Callable[[bytes], bytes]
F = TypeVar('F', bound=Flavor)
T = TypeVar('T')
tqdm = partial(
tqdm,
ascii=True,
leave=False,
smoothing=0,
ncols=72,
)
# #
@ -309,3 +300,17 @@ class ResourceLoader:
return resource.read_bytes() return resource.read_bytes()
else: else:
return resource.read_text() return resource.read_text()
def tqdm(iterable: Iterable[T], **kwargs) -> Iterable[T]:
"""
Adds an ASCII progress bar to the iterable.
"""
return _tqdm(
iterable,
ascii=True,
leave=False,
smoothing=0,
ncols=72,
**kwargs,
)

View file

@ -11,4 +11,6 @@ pytest
requests requests
requests-mock requests-mock
tqdm tqdm
types-jmespath
types-requests types-requests
types-tqdm