diff options
Diffstat (limited to 'api/utils.py')
| -rw-r--r-- | api/utils.py | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/api/utils.py b/api/utils.py new file mode 100644 index 0000000..2c9e1e5 --- /dev/null +++ b/api/utils.py @@ -0,0 +1,14 @@ +from typing import Any, Dict, List +from components.subscriptions.main import Subscription +from components.subscriptions.typing import SubsDict +from components.videos import VideoTuple + +def vid_dicts_from_tuple_list(tuple_list: List[VideoTuple]) -> List[Dict[str, Any]]: +    return [VideoTuple._make(vid)._asdict() for vid in tuple_list] + +def sub_info_from_dict(sub_dict: SubsDict) -> Dict[str, Any]: +    return { +        **sub_dict, +        "videos": len(sub_dict["videos"]), +        "new_vids": len(Subscription(**sub_dict).get_new_vids()), +    } | 
