72 lines
2.4 KiB
Python
72 lines
2.4 KiB
Python
from datetime import datetime
|
|
from Enums import *
|
|
|
|
def parseDate(date: str):
|
|
|
|
if date==None:
|
|
return None
|
|
|
|
for format in ["%Y-%m-%dT%H:%M:%S.%fZ","%Y-%m-%dT%H:%M:%SZ"]:
|
|
try:
|
|
return datetime.strptime(date, format)
|
|
except ValueError:
|
|
pass
|
|
|
|
def GetResultValueString(value):
|
|
match value.type:
|
|
case ResultValueType.String.name:
|
|
return value.AsString()
|
|
|
|
case ResultValueType.Integer.name:
|
|
return value.AsInteger()
|
|
|
|
case ResultValueType.Decimal.name:
|
|
return value.AsDecimal()
|
|
|
|
case ResultValueType.Date.name:
|
|
return value.AsDate()
|
|
|
|
case ResultValueType.TimeSpan.name:
|
|
data = value.AsTimeSpan()
|
|
return f'Quantity: {data.quantity}, Increment: {data.increment}, Recurrence: {data.recurrence}, EndByDate: {data.endByDate}, EndAfterOccurrences: {data.endAfterOccurrences}'
|
|
|
|
case ResultValueType.Guid.name:
|
|
return value.AsGuid()
|
|
|
|
case ResultValueType.StringList.name:
|
|
data = value.AsStringList()
|
|
return f'{",".join(data)}'
|
|
|
|
case ResultValueType.IntegerList.name:
|
|
data = value.AsIntegerList()
|
|
return f'{",".join([str(i) for i in data])}'
|
|
|
|
case ResultValueType.GuidList.name:
|
|
data = value.AsGuidList()
|
|
return f'{",".join([str(guid) for guid in data])}'
|
|
|
|
case ResultValueType.AttachmentList.name:
|
|
data = value.AsAttachmentList()
|
|
|
|
strings = []
|
|
|
|
for attachment in data:
|
|
string = f'FileId: {attachment.fileId}, FileName: {attachment.fileName}, Notes: {attachment.notes}, StorageLocation: {attachment.storageLocation}'
|
|
strings.append(string)
|
|
|
|
return f'{"; ".join(strings)}'
|
|
|
|
case ResultValueType.ScoringGroupList.name:
|
|
data = value.AsScoringGroupList()
|
|
|
|
strings = []
|
|
|
|
for scoringGroup in data:
|
|
string = f'ListValueId: {scoringGroup.listValueId}, Name: {scoringGroup.name}, Score: {scoringGroup.score}, Max Score: {scoringGroup.maximumScore}'
|
|
strings.append(string)
|
|
|
|
return f'{"; ".join(strings)}'
|
|
|
|
case ResultValueType.FileList.name:
|
|
data = value.AsFileList()
|
|
return f'{",".join([str(i) for i in data])}' |