try using Protocol for my.whatsapp.android

This commit is contained in:
Dima Gerasimov 2024-08-22 01:44:32 +01:00
parent 675bb66e52
commit 0e0ab5fe24

View file

@ -3,12 +3,11 @@ Whatsapp data from Android app database (in =/data/data/com.whatsapp/databases/m
""" """
from __future__ import annotations from __future__ import annotations
from abc import abstractmethod
from dataclasses import dataclass from dataclasses import dataclass
from datetime import datetime, timezone from datetime import datetime, timezone
from pathlib import Path from pathlib import Path
import sqlite3 import sqlite3
from typing import Union, Sequence, Iterator, Optional from typing import Union, Sequence, Iterator, Optional, Protocol
from my.core import get_files, Paths, datetime_aware, Res, make_logger from my.core import get_files, Paths, datetime_aware, Res, make_logger
from my.core.common import unique_everseen from my.core.common import unique_everseen
@ -20,16 +19,11 @@ import my.config
logger = make_logger(__name__) logger = make_logger(__name__)
class Config: class Config(Protocol):
# paths[s]/glob to the exported sqlite databases # paths[s]/glob to the exported sqlite databases
@property export_path: Paths
@abstractmethod
def export_path(self) -> Paths:
raise NotImplementedError
@property my_user_id: Optional[str] = None
def my_user_id(self) -> Optional[str]:
return None
def make_config() -> Config: def make_config() -> Config: