list_things

Выводит список всех вещей и их местоположений из SQLite БД.

Использование: python list_things.py # БД из DATA_DIR (по умолчанию ./data/locations.db) python list_things.py <путь> # конкретный файл БД DATA_DIR=/srv/LostAndFound-data python list_things.py

 1"""
 2Выводит список всех вещей и их местоположений из SQLite БД.
 3
 4Использование:
 5    python list_things.py            # БД из DATA_DIR (по умолчанию ./data/locations.db)
 6    python list_things.py <путь>     # конкретный файл БД
 7    DATA_DIR=/srv/LostAndFound-data python list_things.py
 8"""
 9
10import sys
11
12from thingman import ThingManager
13
14
15def main(argv: list[str] | None = None) -> int:
16    """Печатает список вещей и возвращает код завершения."""
17    args = list(sys.argv[1:]) if argv is None else argv
18    db_path = args[0] if args else None
19    manager = ThingManager(db_path) if db_path else ThingManager()
20
21    rows = manager.get_all()
22    if not rows:
23        print("Вещей не найдено.")
24        return 0
25
26    print(f"Всего записей: {len(rows)}")
27    for row in rows:
28        print(f"- {row['thing']}: {row['place']}  (user: {row['user_id']})")
29    return 0
30
31
32if __name__ == "__main__":
33    sys.exit(main())
def main(argv: list[str] | None = None) -> int:
16def main(argv: list[str] | None = None) -> int:
17    """Печатает список вещей и возвращает код завершения."""
18    args = list(sys.argv[1:]) if argv is None else argv
19    db_path = args[0] if args else None
20    manager = ThingManager(db_path) if db_path else ThingManager()
21
22    rows = manager.get_all()
23    if not rows:
24        print("Вещей не найдено.")
25        return 0
26
27    print(f"Всего записей: {len(rows)}")
28    for row in rows:
29        print(f"- {row['thing']}: {row['place']}  (user: {row['user_id']})")
30    return 0

Печатает список вещей и возвращает код завершения.