forked from DevCycleHQ/python-server-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplatform_data.py
More file actions
35 lines (30 loc) · 849 Bytes
/
Copy pathplatform_data.py
File metadata and controls
35 lines (30 loc) · 849 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# ruff: noqa: N815
import platform
import socket
from typing import Optional
from dataclasses import dataclass
from devcycle_python_sdk.util.version import sdk_version
@dataclass(order=False)
class PlatformData:
sdkType: str
sdkVersion: str
platformVersion: str
deviceModel: str
platform: str
hostname: str
sdkPlatform: Optional[str] = None
def to_json(self):
return {
key: getattr(self, key)
for key in self.__dataclass_fields__
if getattr(self, key) is not None
}
def default_platform_data() -> PlatformData:
return PlatformData(
sdkType="server",
sdkVersion=sdk_version(),
platformVersion=platform.python_version(),
deviceModel=platform.platform(),
platform="Python",
hostname=socket.gethostname(),
)