From d00e09d1a1ead05262c829ba18ec1dd76fa507e6 Mon Sep 17 00:00:00 2001 From: Dima Gerasimov Date: Wed, 26 Feb 2020 16:32:03 +0100 Subject: [PATCH] More module descriptions --- README.org | 36 ++++++++++++++++++++++++++++++------ my/bluemaestro/__init__.py | 5 +++++ my/body/blood.py | 4 ++++ my/books/kobo.py | 4 ++++ my/calendar/holidays.py | 4 ++++ my/coding/github.py | 4 ++++ my/fbmessenger.py | 4 ++++ my/feedbin.py | 4 ++++ my/feedly.py | 4 ++++ my/hypothesis.py | 5 ++++- my/instapaper.py | 7 ++----- my/location/takeout.py | 4 ++++ my/materialistic.py | 3 +-- my/pinboard.py | 4 ++++ my/reading/polar.py | 6 ++++++ my/reddit.py | 4 ++++ my/twitter.py | 5 ++++- 17 files changed, 92 insertions(+), 15 deletions(-) diff --git a/README.org b/README.org index e5f3c97..725a200 100644 --- a/README.org +++ b/README.org @@ -26,13 +26,31 @@ Short example to give you an idea: "which subreddits I find most interesting?" * Supported modules -#+begin_src python :results output :python "with_my python3" +#+begin_src python :results output drawer :exports output :python "with_my python3" from pathlib import Path import re import importlib def ignored(m: str): - return re.match('^my.kython', m) + excluded = [ + 'kython.*', + 'bluemaestro.check', + 'body', + 'books', + 'calendar', + 'coding', + 'coding.codeforces', + 'coding.topcoder', + 'media', + 'mycfg_stub', + 'reading', + 'takeout', + '_rss', + 'common', + 'error', + ] + exs = '|'.join(excluded) + return re.match(f'^my.({exs})$', m) for f in sorted(Path('my/').glob('**/*.py')): if f.name == '__init__.py': @@ -40,19 +58,25 @@ for f in sorted(Path('my/').glob('**/*.py')): m = str(f.with_suffix('')).replace('/', '.') if ignored(m): continue + # TODO module link? + # TODO I've done this for infra diagram already... try: mod = importlib.import_module(m) doc = mod.__doc__ if doc is None: - print(m, ": NO DOCS!") + pass # TODO + # print(m, ": NO DOCS!") + else: + fline = doc.strip().splitlines()[0] + print('-', m, ':', fline) except Exception as e: - print(m, e) # TODO - - + pass + # print(m, e) # TODO #+end_src + * Setting up ** =mycfg= package for private paths/repositories (optional) If you're not planning to use private configuration (some modules don't need it) you can skip straight to the next step. Still, I'd recommend you to read anyway. diff --git a/my/bluemaestro/__init__.py b/my/bluemaestro/__init__.py index aeea4c3..6dc64f7 100755 --- a/my/bluemaestro/__init__.py +++ b/my/bluemaestro/__init__.py @@ -1,4 +1,9 @@ #!/usr/bin/python3 +""" +Bluemaestro temperature/humidity/pressure monitor +""" +# TODO link? + import logging import sqlite3 from datetime import datetime diff --git a/my/body/blood.py b/my/body/blood.py index 5e48553..c9787cb 100755 --- a/my/body/blood.py +++ b/my/body/blood.py @@ -1,4 +1,8 @@ #!/usr/bin/env python3 +""" +Blood tracking +""" + from datetime import datetime from typing import Iterable, NamedTuple, Optional from itertools import chain diff --git a/my/books/kobo.py b/my/books/kobo.py index bc94f09..7b70a79 100644 --- a/my/books/kobo.py +++ b/my/books/kobo.py @@ -1,3 +1,7 @@ +""" +Kobo e-ink reader: annotations and reading stats +""" + from typing import Callable, Union, List from mycfg import paths diff --git a/my/calendar/holidays.py b/my/calendar/holidays.py index 25669a8..a837b4a 100644 --- a/my/calendar/holidays.py +++ b/my/calendar/holidays.py @@ -1,3 +1,7 @@ +""" +Provides data on days off work (based on public holidays + manual inputs) +""" + from functools import lru_cache from datetime import date, datetime, timedelta import re diff --git a/my/coding/github.py b/my/coding/github.py index 6bc9bc7..3b15e33 100644 --- a/my/coding/github.py +++ b/my/coding/github.py @@ -1,3 +1,7 @@ +""" +Github events and their metadata: comments/issues/pull requests +""" + from typing import Dict, List, Union, Any, NamedTuple, Tuple, Optional, Iterator, TypeVar, Set from datetime import datetime import json diff --git a/my/fbmessenger.py b/my/fbmessenger.py index 74097d4..b989023 100644 --- a/my/fbmessenger.py +++ b/my/fbmessenger.py @@ -1,3 +1,7 @@ +""" +Module for Facebook Messenger messages +""" + from pathlib import Path from shutil import rmtree from tempfile import TemporaryDirectory diff --git a/my/feedbin.py b/my/feedbin.py index 303a268..eab3f33 100644 --- a/my/feedbin.py +++ b/my/feedbin.py @@ -1,3 +1,7 @@ +""" +Module for Feedbin RSS reader +""" + from .common import listify from ._rss import Subscription diff --git a/my/feedly.py b/my/feedly.py index baa1d83..528ce0d 100644 --- a/my/feedly.py +++ b/my/feedly.py @@ -1,3 +1,7 @@ +""" +Module for Fedly RSS reader +""" + from .common import listify from ._rss import Subscription diff --git a/my/hypothesis.py b/my/hypothesis.py index 443ad90..821975b 100644 --- a/my/hypothesis.py +++ b/my/hypothesis.py @@ -1,6 +1,9 @@ +""" +Hypothes.is highlights and annotations +""" + from .common import PathIsh -# TODO add docstring explaining which module is it? import mycfg.repos.hypexport as hypexport from mycfg import paths diff --git a/my/instapaper.py b/my/instapaper.py index 0358dac..87dec08 100644 --- a/my/instapaper.py +++ b/my/instapaper.py @@ -1,9 +1,5 @@ """ -Uses instapaper API data export JSON file. - -Set via -- ~configure~ method -- or in ~mycfg.instpaper.export_path~ +Instapaper bookmarks, highlights and annotations """ from datetime import datetime import json @@ -22,6 +18,7 @@ from .common import group_by_key, PathIsh, get_files import mycfg.repos.instapexport.dal as dal +# TODO FIXME remove that stuff _export_path: Optional[Path] = None def configure(*, export_path: Optional[PathIsh]=None) -> None: if export_path is not None: diff --git a/my/location/takeout.py b/my/location/takeout.py index 482b51d..8349e99 100644 --- a/my/location/takeout.py +++ b/my/location/takeout.py @@ -1,3 +1,7 @@ +""" +Module for Google Takeout data +""" + import json import logging import re diff --git a/my/materialistic.py b/my/materialistic.py index 217ef59..8eefa6e 100644 --- a/my/materialistic.py +++ b/my/materialistic.py @@ -1,6 +1,5 @@ """ -Module for Materialistic app for Hackernews -https://play.google.com/store/apps/details?id=io.github.hidroh.materialistic +Module for [[https://play.google.com/store/apps/details?id=io.github.hidroh.materialistic][Materialistic]] app for Hackernews """ from datetime import datetime diff --git a/my/pinboard.py b/my/pinboard.py index 5acab5e..60a8788 100644 --- a/my/pinboard.py +++ b/my/pinboard.py @@ -1,3 +1,7 @@ +""" +Module for pinboard.in bookmarks +""" + from .common import get_files from mycfg.repos.pinbexport import dal as pinbexport diff --git a/my/reading/polar.py b/my/reading/polar.py index ca4c140..4f94617 100755 --- a/my/reading/polar.py +++ b/my/reading/polar.py @@ -1,4 +1,9 @@ #!/usr/bin/python3 +""" +Module for Polar articles and highlights +""" + + from pathlib import Path from datetime import datetime import logging @@ -29,6 +34,7 @@ def parse_dt(s: str) -> datetime: Uid = str +# TODO get rid of this? class Error(Exception): def __init__(self, p: Path, *args, **kwargs) -> None: super().__init__(*args, **kwargs) # type: ignore diff --git a/my/reddit.py b/my/reddit.py index 692aaa2..e8d26c9 100755 --- a/my/reddit.py +++ b/my/reddit.py @@ -1,4 +1,8 @@ #!/usr/bin/env python3 +""" +Module for Reddit data: saved items/comments/upvotes etc +""" + from pathlib import Path from typing import List, Sequence, Mapping, Iterator diff --git a/my/twitter.py b/my/twitter.py index 3664611..dee766f 100755 --- a/my/twitter.py +++ b/my/twitter.py @@ -1,8 +1,11 @@ """ -Uses official twitter archive export +Module for Twitter (uses official twitter archive export) See https://help.twitter.com/en/managing-your-account/how-to-download-your-twitter-archive +""" +# TODO remove these +""" Expects path to be set - via ~configure~ (before calling anything else) - or in ~mycfg.twitter.export_path~