Skip to content

Commit

Permalink
Fix typing
Browse files Browse the repository at this point in the history
  • Loading branch information
ludovicsteinbach committed Dec 20, 2023
1 parent f8543fa commit 9d84530
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions src/ansys/openapi/common/_api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import os
import re
import tempfile
from enum import Enum, EnumType
from enum import Enum
from types import ModuleType
from typing import (
Any,
Expand Down Expand Up @@ -94,7 +94,7 @@ def __init__(
api_url: str,
configuration: SessionConfiguration,
):
self.models: Dict[str, Type[ModelBase]] = {}
self.models: Dict[str, Union[Type[ModelBase], Type[Enum]]] = {}
self.api_url = api_url
self.rest_client = session
self.configuration = configuration
Expand Down Expand Up @@ -381,19 +381,18 @@ def __deserialize(self, data: SerializedType, klass_name: str) -> DeserializedTy

if klass_name in self.NATIVE_TYPES_MAPPING:
klass = self.NATIVE_TYPES_MAPPING[klass_name]
else:
klass = self.models[klass_name]

if klass in self.PRIMITIVE_TYPES:
assert isinstance(data, (str, int, float, bool, bytes))
return self.__deserialize_primitive(data, klass)
elif klass == datetime.date:
assert isinstance(data, str)
return self.__deserialize_date(data)
elif klass == datetime.datetime:
assert isinstance(data, str)
return self.__deserialize_datetime(data)
elif type(klass) == EnumType:
if klass in self.PRIMITIVE_TYPES:
assert isinstance(data, (str, int, float, bool, bytes))
return self.__deserialize_primitive(data, klass)
elif klass == datetime.date:
assert isinstance(data, str)
return self.__deserialize_date(data)
elif klass == datetime.datetime:
assert isinstance(data, str)
return self.__deserialize_datetime(data)

klass = self.models[klass_name]
if issubclass(klass, Enum):
assert isinstance(data, str)
return klass(data)
else:
Expand Down

0 comments on commit 9d84530

Please sign in to comment.