123456789101112131415161718192021222324 |
- """Utility functions for switchbot."""
- from functools import lru_cache
- @lru_cache(maxsize=512)
- def format_mac_upper(mac: str) -> str:
- """Format the mac address string to uppercase with colons."""
- to_test = mac
- if len(to_test) == 17 and to_test.count(":") == 5:
- return to_test.upper()
- if len(to_test) == 17 and to_test.count("-") == 5:
- to_test = to_test.replace("-", "")
- elif len(to_test) == 14 and to_test.count(".") == 2:
- to_test = to_test.replace(".", "")
- if len(to_test) == 12:
- # no : included
- return ":".join(to_test.upper()[i : i + 2] for i in range(0, 12, 2))
- # Not sure how formatted, return original
- return mac.upper()
|