Source code for hyperdiary.stats

from collections import OrderedDict
from typing import Dict
from .diary import find_tags, find_ids, Diary


[docs]def stats(diary: Diary) -> Dict[str, int]: output = OrderedDict() # type: Dict[str, int] output['# Days'] = len(diary.entries) output['# Lines'] = sum(len(entry.lines) for entry in diary.entries) output['# Taggings'] = sum(len(list(find_tags(l))) for d, l in diary.iter_lines()) output['# Identifications'] = sum(len(list(find_ids(l))) for d, l in diary.iter_lines()) for key, val in output.items(): print('{:.<20}{:.>5}'.format(key, val)) return output