fbmessenger: support config migration for fbmessengerexport source

for now kinda copied from reddit... still thinking about a more generic way
This commit is contained in:
Dima Gerasimov 2022-02-05 14:15:41 +00:00 committed by karlicoss
parent 403ca9c111
commit 4626c1bba6
2 changed files with 28 additions and 3 deletions

View file

@ -120,5 +120,7 @@ class hackernews:
class fbmessenger: class fbmessenger:
class fbmessengerexport:
export_db: PathIsh
class android: class android:
export_path: Paths export_path: Paths

View file

@ -7,15 +7,38 @@ REQUIRES = [
'git+https://github.com/karlicoss/fbmessengerexport', 'git+https://github.com/karlicoss/fbmessengerexport',
] ]
from dataclasses import dataclass
from pathlib import Path from pathlib import Path
from typing import Iterator from typing import Iterator
from ..core import PathIsh from my.config import fbmessenger as user_config
import fbmessengerexport.dal as messenger 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: def _dal() -> messenger.DAL: