HPI/my
Dima Gerasimov 661714f1d9 core/logging: overhaul and many improvements -- mainly to deprecate abandoned logzero
- generally saner/cleaner logger initialization

  In particular now it doesn't override logging level specified by the user code prior to instantiating the logger.

  Also remove the `LazyLogger` hack, doesn't seem like it's necessary when the above is implemented.

- get rid of `logzero` which is archived and abandoned now, use `colorlog` for coloured logging formatter

- allow configuring log level via shell via `LOGGING_LEVEL_module_name=<level>`

  E.g. `LOGGING_LEVEL_rescuexport_dal=WARNING LOGGING_LEVEL_my_rescuetime=debug ./script.py`

- port `AddExceptionTraceback` from HPI/promnesia

- port `CollapseLogsHandler` from HPI/promnesia

  Also allow configuring from the shell, e.g. `LOGGING_COLLAPSE=<level>`

- add support for `enlighten` progress bar, so it can be shared between different projects

  See https://github.com/Rockhopper-Technologies/enlighten#readme

  This allows nice CLI progressbars, e.g. for parallel processing of different files from HPI:

    ghexport.dal[111]  29%|████████████████████████████████████████████████████████████████▏              |  29/100 [00:03<00:07, 10.03 files/s]
    rexport.dal[comments]  17%|████████████████████████████████████▋                                      | 115/682 [00:03<00:14, 39.15 files/s]
    my.instagram.android   0%|▎                                                                           |    3/2631 [00:02<34:50, 1.26 files/s]

  Currently off by default, and hidden behind an env variable (`ENLIGHTEN_ENABLE=true`)
2023-06-21 18:42:15 +01:00
..
body general: update mypy config, seems that logs of type: ignore aren't necessary anymore 2023-05-16 01:18:30 +01:00
books general/ci: clean up mypy-misc pipeline, only exclude specific files instead 2023-02-21 00:20:58 +00:00
browser docs: browser - fix examples for config 2022-08-29 00:03:32 +01:00
bumble my.bumble.android: better handling for missing conversation id in database 2023-03-17 00:33:22 +00:00
calendar general: fix mypy errors after mypy and pytz stubs updates 2021-12-19 18:53:29 +00:00
coding general: switch to using native 3.8 versions for cached_property/Literal/Protocol instead of compat 2023-05-16 01:18:30 +01:00
core core/logging: overhaul and many improvements -- mainly to deprecate abandoned logzero 2023-06-21 18:42:15 +01:00
emfit core: move mcachew into my.core.cachew; use better typing annotations (copied from cachew) 2023-06-08 01:29:49 +01:00
fbmessenger general: switch to using native 3.8 versions for cached_property/Literal/Protocol instead of compat 2023-05-16 01:18:30 +01:00
github misc: replace uses of pytz.utc with timezone.utc where it makes sense 2023-06-09 03:31:13 +01:00
google/takeout misc: replace uses of pytz.utc with timezone.utc where it makes sense 2023-06-09 03:31:13 +01:00
hackernews docs: fix typos 2023-03-27 03:02:35 +01:00
instagram general: switch to using native 3.8 versions for cached_property/Literal/Protocol instead of compat 2023-05-16 01:18:30 +01:00
ip my.ip.common: remove REQUIRES 2023-02-28 20:55:12 +00:00
jawbone docs: fix typos 2023-03-27 03:02:35 +01:00
kython kyhton.kompress: move to core (with a fallback, used in promnesia) 2020-10-29 03:13:18 +01:00
location general: switch to using native 3.8 versions for cached_property/Literal/Protocol instead of compat 2023-05-16 01:18:30 +01:00
media general: cleanup -- remove main and executable bit where it's not necessary 2022-05-31 22:16:05 +01:00
photos general: update mypy config, seems that logs of type: ignore aren't necessary anymore 2023-05-16 01:18:30 +01:00
reading polar: backward compatibility for my.reading.polar 2021-05-29 13:26:01 +01:00
reddit misc: replace uses of pytz.utc with timezone.utc where it makes sense 2023-06-09 03:31:13 +01:00
rss misc: replace uses of pytz.utc with timezone.utc where it makes sense 2023-06-09 03:31:13 +01:00
stackexchange stackexchange.gdpr: use ZipPath instead of ad-hoc kopen 2022-04-15 12:36:11 +01:00
telegram my.telegram.telegram_backup: support optional extra_where and optional media info extraction for Promnesia 2023-03-27 03:27:13 +01:00
tests general: move reddit tests into my/tests + tweak my.core.cfg to be more reliable 2023-05-26 00:58:23 +01:00
time/tz general: update mypy config, seems that logs of type: ignore aren't necessary anymore 2023-05-16 01:18:30 +01:00
tinder docs: fix typos 2023-03-27 03:02:35 +01:00
twitter general: switch to using native 3.8 versions for cached_property/Literal/Protocol instead of compat 2023-05-16 01:18:30 +01:00
vk vk_messages_backup: add unique_everseen to prevent duplicate messages 2023-02-28 03:55:44 +00:00
whatsapp my.whatsapp.android: initial module 2023-04-01 04:07:35 +01:00
youtube docs: fix typos 2023-03-27 03:02:35 +01:00
zulip zulip: add stats function 2022-06-04 10:04:33 +01:00
arbtt.py docs: fix typos 2023-03-27 03:02:35 +01:00
bluemaestro.py core: move mcachew into my.core.cachew; use better typing annotations (copied from cachew) 2023-06-08 01:29:49 +01:00
cfg.py core: deprecate my.cfg, instead my.config can (and should be) used directly 2021-02-19 02:39:25 +00:00
common.py core: add __NOT_HPI_MODULE__ flag to mark utility files etc 2020-09-30 21:54:09 +02:00
config.py general: switch to using native 3.8 versions for cached_property/Literal/Protocol instead of compat 2023-05-16 01:18:30 +01:00
demo.py misc: replace uses of pytz.utc with timezone.utc where it makes sense 2023-06-09 03:31:13 +01:00
endomondo.py general: update mypy config, seems that logs of type: ignore aren't necessary anymore 2023-05-16 01:18:30 +01:00
error.py core: add __NOT_HPI_MODULE__ flag to mark utility files etc 2020-09-30 21:54:09 +02:00
foursquare.py general: cleanup -- remove main and executable bit where it's not necessary 2022-05-31 22:16:05 +01:00
goodreads.py my.goodreads: cleanup, rename from my.reading.goodrads & use proper pip dependency 2021-03-26 05:06:53 +00:00
hypothesis.py core/influxdb: add main method to create influx measurement and fill with values 2021-04-27 20:10:10 +01:00
instapaper.py my.instapaper: add stat; add mypy checks on CI 2020-09-29 20:43:34 +02:00
kobo.py pinboard: *breaking backwards compability*, use pinbexport module directy 2021-02-18 20:46:03 +00:00
lastfm.py misc: replace uses of pytz.utc with timezone.utc where it makes sense 2023-06-09 03:31:13 +01:00
materialistic.py move materialistic module inside hackernews package 2022-02-04 23:38:50 +00:00
orgmode.py core: move mcachew into my.core.cachew; use better typing annotations (copied from cachew) 2023-06-08 01:29:49 +01:00
pdfs.py docs: fix typos 2023-03-27 03:02:35 +01:00
pinboard.py pinboard: *breaking backwards compability*, use pinbexport module directy 2021-02-18 20:46:03 +00:00
pocket.py cleanup; remove unused imports 2021-04-02 08:38:06 +01:00
polar.py general: cleanup -- remove main and executable bit where it's not necessary 2022-05-31 22:16:05 +01:00
py.typed move to subfolder 2019-09-17 21:33:17 +04:00
rescuetime.py core: move mcachew into my.core.cachew; use better typing annotations (copied from cachew) 2023-06-08 01:29:49 +01:00
roamresearch.py misc: replace uses of pytz.utc with timezone.utc where it makes sense 2023-06-09 03:31:13 +01:00
rtm.py general: switch to using native 3.8 versions for cached_property/Literal/Protocol instead of compat 2023-05-16 01:18:30 +01:00
runnerup.py general: update mypy config, seems that logs of type: ignore aren't necessary anymore 2023-05-16 01:18:30 +01:00
simple.py core: better support for ad-hoc configs 2023-02-09 02:35:09 +00:00
smscalls.py general: update mypy config, seems that logs of type: ignore aren't necessary anymore 2023-05-16 01:18:30 +01:00
taplog.py docs: fix typos 2023-03-27 03:02:35 +01:00
zotero.py my.zotero: extract top level item's tags 2021-04-13 18:05:49 +01:00