pyh0n/pyhon/connection/device.py

46 lines
1.1 KiB
Python
Raw Normal View History

2023-04-09 21:43:50 +05:30
import secrets
2023-04-14 02:55:49 +05:30
from typing import Dict
2023-04-09 21:43:50 +05:30
from pyhon import const
class HonDevice:
2023-04-14 02:55:49 +05:30
def __init__(self) -> None:
self._app_version: str = const.APP_VERSION
self._os_version: int = const.OS_VERSION
self._os: str = const.OS
self._device_model: str = const.DEVICE_MODEL
self._mobile_id: str = secrets.token_hex(8)
2023-04-09 21:43:50 +05:30
@property
2023-04-14 02:55:49 +05:30
def app_version(self) -> str:
2023-04-09 21:43:50 +05:30
return self._app_version
@property
2023-04-14 02:55:49 +05:30
def os_version(self) -> int:
2023-04-09 21:43:50 +05:30
return self._os_version
@property
2023-07-12 23:06:32 +05:30
def os_type(self) -> str:
2023-04-09 21:43:50 +05:30
return self._os
@property
2023-04-14 02:55:49 +05:30
def device_model(self) -> str:
2023-04-09 21:43:50 +05:30
return self._device_model
@property
2023-04-14 02:55:49 +05:30
def mobile_id(self) -> str:
2023-04-09 21:43:50 +05:30
return self._mobile_id
2023-06-28 22:32:11 +05:30
def get(self, mobile: bool = False) -> Dict[str, str | int]:
result: Dict[str, str | int] = {
2023-04-10 00:25:36 +05:30
"appVersion": self.app_version,
"mobileId": self.mobile_id,
2023-07-12 23:06:32 +05:30
"os": self.os_type,
2023-04-15 03:59:24 +05:30
"osVersion": self.os_version,
2023-04-10 00:25:36 +05:30
"deviceModel": self.device_model,
}
2023-06-28 22:32:11 +05:30
if mobile:
result |= {"mobileOs": result.pop("os", "")}
return result