Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
J
jass
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Léo HENCHES
jass
Commits
dd03f534
Commit
dd03f534
authored
5 years ago
by
Hervé MENAGER
Browse files
Options
Downloads
Patches
Plain Diff
Update util.py to a python3.7-compatible version
parent
416b851f
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
jass/util.py
+25
-34
25 additions, 34 deletions
jass/util.py
with
25 additions
and
34 deletions
jass/util.py
+
25
−
34
View file @
dd03f534
from
typing
import
GenericMeta
import
datetime
from
datetime
import
datetime
,
date
from
six
import
integer_types
,
iteritems
import
six
import
typing
def
_deserialize
(
data
,
klass
):
def
_deserialize
(
data
,
klass
):
"""
"""
Deserializes dict, list, str into an object.
Deserializes dict, list, str into an object.
:param data: dict, list or str.
:param data: dict, list or str.
:param klass: class literal, or string of class name.
:param klass: class literal, or string of class name.
...
@@ -15,15 +15,15 @@ def _deserialize(data, klass):
...
@@ -15,15 +15,15 @@ def _deserialize(data, klass):
if
data
is
None
:
if
data
is
None
:
return
None
return
None
if
klass
in
integer_types
or
klass
in
(
float
,
str
,
bool
):
if
klass
in
six
.
integer_types
or
klass
in
(
float
,
str
,
bool
):
return
_deserialize_primitive
(
data
,
klass
)
return
_deserialize_primitive
(
data
,
klass
)
elif
klass
==
object
:
elif
klass
==
object
:
return
_deserialize_object
(
data
)
return
_deserialize_object
(
data
)
elif
klass
==
date
:
elif
klass
==
datetime
.
date
:
return
deserialize_date
(
data
)
return
deserialize_date
(
data
)
elif
klass
==
datetime
:
elif
klass
==
datetime
.
datetime
:
return
deserialize_datetime
(
data
)
return
deserialize_datetime
(
data
)
elif
type
(
klass
)
==
GenericMeta
:
elif
type
(
klass
)
==
typing
.
GenericMeta
:
if
klass
.
__extra__
==
list
:
if
klass
.
__extra__
==
list
:
return
_deserialize_list
(
data
,
klass
.
__args__
[
0
])
return
_deserialize_list
(
data
,
klass
.
__args__
[
0
])
if
klass
.
__extra__
==
dict
:
if
klass
.
__extra__
==
dict
:
...
@@ -33,8 +33,7 @@ def _deserialize(data, klass):
...
@@ -33,8 +33,7 @@ def _deserialize(data, klass):
def
_deserialize_primitive
(
data
,
klass
):
def
_deserialize_primitive
(
data
,
klass
):
"""
"""
Deserializes to primitive type.
Deserializes to primitive type.
:param data: data to deserialize.
:param data: data to deserialize.
:param klass: class literal.
:param klass: class literal.
...
@@ -45,15 +44,14 @@ def _deserialize_primitive(data, klass):
...
@@ -45,15 +44,14 @@ def _deserialize_primitive(data, klass):
try
:
try
:
value
=
klass
(
data
)
value
=
klass
(
data
)
except
UnicodeEncodeError
:
except
UnicodeEncodeError
:
value
=
unicode
(
data
)
value
=
six
.
u
(
data
)
except
TypeError
:
except
TypeError
:
value
=
data
value
=
data
return
value
return
value
def
_deserialize_object
(
value
):
def
_deserialize_object
(
value
):
"""
"""
Return a original value.
Return a original value.
:return: object.
:return: object.
"""
"""
...
@@ -61,8 +59,7 @@ def _deserialize_object(value):
...
@@ -61,8 +59,7 @@ def _deserialize_object(value):
def
deserialize_date
(
string
):
def
deserialize_date
(
string
):
"""
"""
Deserializes string to date.
Deserializes string to date.
:param string: str.
:param string: str.
:type string: str
:type string: str
...
@@ -71,15 +68,13 @@ def deserialize_date(string):
...
@@ -71,15 +68,13 @@ def deserialize_date(string):
"""
"""
try
:
try
:
from
dateutil.parser
import
parse
from
dateutil.parser
import
parse
return
parse
(
string
).
date
()
return
parse
(
string
).
date
()
except
ImportError
:
except
ImportError
:
return
string
return
string
def
deserialize_datetime
(
string
):
def
deserialize_datetime
(
string
):
"""
"""
Deserializes string to datetime.
Deserializes string to datetime.
The string should be in iso8601 datetime format.
The string should be in iso8601 datetime format.
...
@@ -90,15 +85,13 @@ def deserialize_datetime(string):
...
@@ -90,15 +85,13 @@ def deserialize_datetime(string):
"""
"""
try
:
try
:
from
dateutil.parser
import
parse
from
dateutil.parser
import
parse
return
parse
(
string
)
return
parse
(
string
)
except
ImportError
:
except
ImportError
:
return
string
return
string
def
deserialize_model
(
data
,
klass
):
def
deserialize_model
(
data
,
klass
):
"""
"""
Deserializes list or dict to model.
Deserializes list or dict to model.
:param data: dict, list.
:param data: dict, list.
:type data: dict | list
:type data: dict | list
...
@@ -110,12 +103,10 @@ def deserialize_model(data, klass):
...
@@ -110,12 +103,10 @@ def deserialize_model(data, klass):
if
not
instance
.
swagger_types
:
if
not
instance
.
swagger_types
:
return
data
return
data
for
attr
,
attr_type
in
iteritems
(
instance
.
swagger_types
):
for
attr
,
attr_type
in
six
.
iteritems
(
instance
.
swagger_types
):
if
(
if
data
is
not
None
\
data
is
not
None
and
instance
.
attribute_map
[
attr
]
in
data
\
and
instance
.
attribute_map
[
attr
]
in
data
and
isinstance
(
data
,
(
list
,
dict
)):
and
isinstance
(
data
,
(
list
,
dict
))
):
value
=
data
[
instance
.
attribute_map
[
attr
]]
value
=
data
[
instance
.
attribute_map
[
attr
]]
setattr
(
instance
,
attr
,
_deserialize
(
value
,
attr_type
))
setattr
(
instance
,
attr
,
_deserialize
(
value
,
attr_type
))
...
@@ -123,8 +114,7 @@ def deserialize_model(data, klass):
...
@@ -123,8 +114,7 @@ def deserialize_model(data, klass):
def
_deserialize_list
(
data
,
boxed_type
):
def
_deserialize_list
(
data
,
boxed_type
):
"""
"""
Deserializes a list and its elements.
Deserializes a list and its elements.
:param data: list to deserialize.
:param data: list to deserialize.
:type data: list
:type data: list
...
@@ -133,12 +123,12 @@ def _deserialize_list(data, boxed_type):
...
@@ -133,12 +123,12 @@ def _deserialize_list(data, boxed_type):
:return: deserialized list.
:return: deserialized list.
:rtype: list
:rtype: list
"""
"""
return
[
_deserialize
(
sub_data
,
boxed_type
)
for
sub_data
in
data
]
return
[
_deserialize
(
sub_data
,
boxed_type
)
for
sub_data
in
data
]
def
_deserialize_dict
(
data
,
boxed_type
):
def
_deserialize_dict
(
data
,
boxed_type
):
"""
"""
Deserializes a dict and its elements.
Deserializes a dict and its elements.
:param data: dict to deserialize.
:param data: dict to deserialize.
:type data: dict
:type data: dict
...
@@ -147,4 +137,5 @@ def _deserialize_dict(data, boxed_type):
...
@@ -147,4 +137,5 @@ def _deserialize_dict(data, boxed_type):
:return: deserialized dict.
:return: deserialized dict.
:rtype: dict
:rtype: dict
"""
"""
return
{
k
:
_deserialize
(
v
,
boxed_type
)
for
k
,
v
in
iteritems
(
data
)}
return
{
k
:
_deserialize
(
v
,
boxed_type
)
for
k
,
v
in
six
.
iteritems
(
data
)}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment