from dataclasses import dataclass @dataclass class DeviceProfile: name: str viewport_width: int = 1280 viewport_height: int = 800 locale: str = "en-US" timezone_id: str = "America/New_York" PROFILES: dict[str, DeviceProfile] = { "desktop": DeviceProfile( name="desktop", viewport_width=1280, viewport_height=800, ), "mobile_ios": DeviceProfile( name="mobile_ios", viewport_width=390, viewport_height=844, locale="en-US", timezone_id="America/Los_Angeles", ), "mobile_android": DeviceProfile( name="mobile_android", viewport_width=412, viewport_height=915, locale="en-US", timezone_id="America/Chicago", ), } def get_profile(name: str) -> DeviceProfile: return PROFILES.get(name, PROFILES["desktop"]) def list_profiles() -> list[str]: return list(PROFILES.keys())