From 10a8ebaae4f8cf23260c56e9738ae0c0c1f3e36a Mon Sep 17 00:00:00 2001 From: Dima Gerasimov Date: Thu, 30 Jul 2020 21:37:55 +0100 Subject: [PATCH] vk: move favorites module to a subpackage, add stat --- my/{vk.py => vk/favorites.py} | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) rename my/{vk.py => vk/favorites.py} (84%) diff --git a/my/vk.py b/my/vk/favorites.py similarity index 84% rename from my/vk.py rename to my/vk/favorites.py index feb3655..ad64e03 100644 --- a/my/vk.py +++ b/my/vk/favorites.py @@ -1,6 +1,10 @@ +''' +todo: uses my private export script? +''' + from datetime import datetime import json -from typing import NamedTuple, Iterator, Dict, Union, Sequence, Optional +from typing import NamedTuple, Iterable, Sequence, Optional from my.config import vk as config @@ -12,8 +16,8 @@ class Favorite(NamedTuple): text: str -Res = Union[Favorite, Exception] - +from ..core import Json +from ..core.error import Res skip = ( @@ -30,7 +34,7 @@ skip = ( 'page', ) -def parse_fav(j: Dict) -> Favorite: +def parse_fav(j: Json) -> Favorite: # TODO copy_history?? url = None title = '' # TODO ??? @@ -52,7 +56,7 @@ def parse_fav(j: Dict) -> Favorite: ) -def _iter_favs() -> Iterator[Res]: +def _iter_favs() -> Iterable[Res]: jj = json.loads(config.favs_file.read_text()) for j in jj: try: @@ -78,3 +82,8 @@ def favorites() -> Sequence[Res]: sorted_items = [p[1] for p in sorted(zip(keys, favs))] # return sorted_items + + +def stats(): + from ..core import stat + return stat(favorites)