@@ -71,7 +71,7 @@ def __deserialize(self, data, klass):
7171 if data is None :
7272 return None
7373
74- if type (klass ) == str :
74+ if isinstance (klass , str ) :
7575 if klass .startswith ('list[' ):
7676 sub_kls = re .match (r'list\[(.*)\]' , klass ).group (1 )
7777 return [self .__deserialize (sub_data , sub_kls )
@@ -90,11 +90,11 @@ def __deserialize(self, data, klass):
9090
9191 if klass in self .PRIMITIVE_TYPES :
9292 return self .__deserialize_primitive (data , klass )
93- elif klass == object :
93+ elif klass is object :
9494 return self .__deserialize_object (data )
95- elif klass == datetime .date :
95+ elif klass is datetime .date :
9696 return self .__deserialize_date (data )
97- elif klass == datetime .datetime :
97+ elif klass is datetime .datetime :
9898 return self .__deserialize_datatime (data )
9999 else :
100100 return self .__deserialize_model (data , klass )
@@ -108,7 +108,7 @@ def __deserialize_primitive(self, data, klass):
108108 :return: int, long, float, str, bool.
109109 """
110110 try :
111- if klass == str and type (data ) == bytes :
111+ if isinstance ( klass , str ) and isinstance (data , bytes ) :
112112 return self .__deserialize_bytes_to_str (data )
113113 return klass (data )
114114 except UnicodeEncodeError :
0 commit comments