Skip to content

Commit 6e670c8

Browse files
committed
fix commit hook warnings
1 parent 99de7d0 commit 6e670c8

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

examples/airtag.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
from _login import get_account_sync
1313

1414
from findmy import FindMyAccessory
15+
from findmy.accessory import RollingKeyPairSource
16+
from findmy.keys import HasHashedPublicKey
1517

1618
# Default path where login session will be stored.
1719
# This is necessary to avoid generating a new session every time we log in.
@@ -39,19 +41,20 @@ def get_battery_level(status: int) -> str:
3941
return BATTERY_LEVEL.get(battery_id, "Unknown")
4042

4143

42-
def get_airtag_name(airtag: FindMyAccessory, path: Path) -> str:
44+
def get_airtag_name(airtag: HasHashedPublicKey | RollingKeyPairSource, path: Path) -> str:
4345
"""Get a human-readable name for an airtag, with fallbacks."""
44-
if airtag.name:
45-
return airtag.name
46-
if airtag.identifier:
47-
return airtag.identifier
46+
if isinstance(airtag, FindMyAccessory):
47+
if airtag.name:
48+
return airtag.name
49+
if airtag.identifier:
50+
return airtag.identifier
4851
return path.stem # filename without extension
4952

5053

5154
def main(airtag_paths: list[Path], store_path: str) -> int:
5255
# Step 0: create accessory key generators for all paths
5356
airtags = [FindMyAccessory.from_json(path) for path in airtag_paths]
54-
airtag_to_path = dict(zip(airtags, airtag_paths))
57+
airtag_to_path: dict[HasHashedPublicKey | RollingKeyPairSource, Path] = dict(zip(airtags, airtag_paths))
5558

5659
# Step 1: log into an Apple account
5760
acc = get_account_sync(store_path, ANISETTE_SERVER, ANISETTE_LIBS_PATH)
@@ -62,8 +65,9 @@ def main(airtag_paths: list[Path], store_path: str) -> int:
6265

6366
# step 3: print 'em
6467
print("Last known locations:")
65-
for airtag, location in locations.items():
66-
name = get_airtag_name(airtag, airtag_to_path[airtag])
68+
for airtag, path in airtag_to_path.items():
69+
location = locations.get(airtag) # type: ignore[union-attr]
70+
name = get_airtag_name(airtag, path)
6771
if location:
6872
battery = get_battery_level(location.status)
6973
print(f" - {name}: {location} (Battery: {battery})")

0 commit comments

Comments
 (0)