From 4626c1bba6b42d7b4d990c7633cc897fa4fa8099 Mon Sep 17 00:00:00 2001 From: Dima Gerasimov Date: Sat, 5 Feb 2022 14:15:41 +0000 Subject: [PATCH] fbmessenger: support config migration for fbmessengerexport source for now kinda copied from reddit... still thinking about a more generic way --- my/config.py | 2 ++ my/fbmessenger/export.py | 29 ++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/my/config.py b/my/config.py index c041310..aef90bc 100644 --- a/my/config.py +++ b/my/config.py @@ -120,5 +120,7 @@ class hackernews: class fbmessenger: + class fbmessengerexport: + export_db: PathIsh class android: export_path: Paths diff --git a/my/fbmessenger/export.py b/my/fbmessenger/export.py index 5a1801f..fa7b944 100644 --- a/my/fbmessenger/export.py +++ b/my/fbmessenger/export.py @@ -7,15 +7,38 @@ REQUIRES = [ 'git+https://github.com/karlicoss/fbmessengerexport', ] +from dataclasses import dataclass from pathlib import Path from typing import Iterator -from ..core import PathIsh +from my.config import fbmessenger as user_config import fbmessengerexport.dal as messenger -from my.config import fbmessenger as config -# TODO migrate this config to my.fbmessenger.export + +### +# support old style config +_new_section = getattr(user_config, 'fbmessengerexport', None) +_old_attr = getattr(user_config, 'export_db', None) + +if _new_section is None and _old_attr is not None: + from my.core.warnings import high + high("""DEPRECATED! Please modify your fbmessenger config to look like: + +class fbmessenger: + class fbmessengerexport: + export_db: PathIsh = '/path/to/fbmessengerexport/database' + """) + class fbmessengerexport: + export_db = _old_attr + setattr(user_config, 'fbmessengerexport', fbmessengerexport) +### + + +from ..core import PathIsh +@dataclass +class config(user_config.fbmessengerexport): + export_db: PathIsh def _dal() -> messenger.DAL: