my.tinder.android: better error handing and fix case with empty db
This commit is contained in:
parent
103ea2096e
commit
8a8a1ebb0e
1 changed files with 7 additions and 3 deletions
|
@ -92,7 +92,10 @@ def _entities() -> Iterator[Res[_Entity]]:
|
|||
for idx, path in enumerate(paths):
|
||||
logger.info(f'processing [{idx:>{width}}/{total:>{width}}] {path}')
|
||||
with sqlite_connection(path, immutable=True, row_factory='row') as db:
|
||||
try:
|
||||
yield from _handle_db(db)
|
||||
except Exception as e:
|
||||
yield e
|
||||
|
||||
|
||||
def _handle_db(db: sqlite3.Connection) -> Iterator[Res[_Entity]]:
|
||||
|
@ -103,6 +106,7 @@ def _handle_db(db: sqlite3.Connection) -> Iterator[Res[_Entity]]:
|
|||
# shit, sometime in 2023 profile_user_view stoppped containing user profile..
|
||||
# presumably the most common from_id/to_id would be our own username
|
||||
counter = Counter([id_ for (id_,) in db.execute('SELECT from_id FROM message UNION ALL SELECT to_id FROM message')])
|
||||
if len(counter) > 0: # this might happen if db is empty (e.g. user got logged out)
|
||||
[(you_id, _)] = counter.most_common(1)
|
||||
yield Person(id=you_id, name='you')
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue