Skip to content

Commit

Permalink
fix: prevent crash when platform.architecture() is not allowed (#1120)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-bot authored Feb 4, 2024
1 parent 66bab65 commit 9490554
Showing 1 changed file with 28 additions and 6 deletions.
34 changes: 28 additions & 6 deletions src/openai/_base_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1836,8 +1836,12 @@ def __str__(self) -> str:


def get_platform() -> Platform:
system = platform.system().lower()
platform_name = platform.platform().lower()
try:
system = platform.system().lower()
platform_name = platform.platform().lower()
except Exception:
return "Unknown"

if "iphone" in platform_name or "ipad" in platform_name:
# Tested using Python3IDE on an iPhone 11 and Pythonista on an iPad 7
# system is Darwin and platform_name is a string like:
Expand Down Expand Up @@ -1880,8 +1884,8 @@ def platform_headers(version: str) -> Dict[str, str]:
"X-Stainless-Package-Version": version,
"X-Stainless-OS": str(get_platform()),
"X-Stainless-Arch": str(get_architecture()),
"X-Stainless-Runtime": platform.python_implementation(),
"X-Stainless-Runtime-Version": platform.python_version(),
"X-Stainless-Runtime": get_python_runtime(),
"X-Stainless-Runtime-Version": get_python_version(),
}


Expand All @@ -1897,9 +1901,27 @@ def __str__(self) -> str:
Arch = Union[OtherArch, Literal["x32", "x64", "arm", "arm64", "unknown"]]


def get_python_runtime() -> str:
try:
return platform.python_implementation()
except Exception:
return "unknown"


def get_python_version() -> str:
try:
return platform.python_version()
except Exception:
return "unknown"


def get_architecture() -> Arch:
python_bitness, _ = platform.architecture()
machine = platform.machine().lower()
try:
python_bitness, _ = platform.architecture()
machine = platform.machine().lower()
except Exception:
return "unknown"

if machine in ("arm64", "aarch64"):
return "arm64"

Expand Down

0 comments on commit 9490554

Please sign in to comment.