Skip to content
Snippets Groups Projects
Commit 48637abe authored by Romin's avatar Romin :eye:
Browse files

Merge branch 'dev' into 'master'

Fixed datetime format

See merge request coscine/community-features/coscine-python-sdk!15
parents 2d42a03b efe88af8
Branches
Tags v0.9.4
1 merge request!15Fixed datetime format
......@@ -30,7 +30,7 @@ __title__ = "coscine"
# Current package version
# Do not set version to 1.0.0 before update to Coscine API version 2
__version__ = "0.9.3"
__version__ = "0.9.4"
# Short package description
__summary__ = (
......
......@@ -580,21 +580,29 @@ class InputForm:
###############################################################################
def xsd_type(self, key: str) -> str:
"""
Returns the xsd type identifier for a given field.
"""
datatype = self.properties(key).datatype
if datatype and datatype.startswith("http:"):
datatype = f"xsd:{urllib.parse.urlparse(datatype)[-1]}"
return datatype
###############################################################################
def datatype(self, key: str) -> type:
"""
Returns the datatype for a given field (which may be None).
"""
datatype = self.properties(key).datatype
if datatype and datatype.startswith("http:"):
datatype = f"xsd:{urllib.parse.urlparse(datatype)[-1]}"
if self.is_controlled(key):
return str
else:
datatype: str = self.xsd_type(key)
return self._xsd_typeof(datatype)
###############################################################################
# FIXME: Lots of xsd types still unhandled, especially datetime formats
def type_format(self, key: str) -> str:
"""
Returns the format for a datatype of a field.
......@@ -608,6 +616,9 @@ class InputForm:
if datatype == float:
return "%f"
if datatype == datetime:
if self.xsd_type(key) == "xsd:dateTime":
return "%Y-%m-%dT%H:%M:%S"
else:
return "%Y-%m-%d"
return "Invalid Format"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment