From c9bc3062ed4e1ee6d08e67832602ab227f5e7e14 Mon Sep 17 00:00:00 2001 From: StevanFreeborn Date: Tue, 19 Apr 2022 12:37:10 -0500 Subject: [PATCH] more work; --- Helpers.py | 62 ++++++++++++++++++++++++++++++- TestScripts.py => TestSnippets.py | 25 +++++++++++-- 2 files changed, 82 insertions(+), 5 deletions(-) rename TestScripts.py => TestSnippets.py (72%) diff --git a/Helpers.py b/Helpers.py index 4bea54e..69aa364 100644 --- a/Helpers.py +++ b/Helpers.py @@ -1,4 +1,5 @@ from datetime import datetime +from Enums import * def parseDate(date: str): @@ -9,4 +10,63 @@ def parseDate(date: str): try: return datetime.strptime(date, format) except ValueError: - pass \ No newline at end of file + 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])}' \ No newline at end of file diff --git a/TestScripts.py b/TestSnippets.py similarity index 72% rename from TestScripts.py rename to TestSnippets.py index e3726f7..96c81b7 100644 --- a/TestScripts.py +++ b/TestSnippets.py @@ -1,6 +1,9 @@ from OnspringClient import OnspringClient from configparser import ConfigParser +from Helpers import GetResultValueString + from Models import * +from Enums import * cfg = ConfigParser() cfg.read('config.ini') @@ -10,6 +13,13 @@ url = cfg['prod']['url'] onspringClient = OnspringClient(url, key) +def main(): + GetRecordsByAppIdTest() + + + +# apps + def GetRecordsByAppIdTest(): request = GetRecordsByAppRequest(240, dataFormat=DataFormat.Raw.name) @@ -23,11 +33,15 @@ def GetRecordsByAppIdTest(): print(f'Total Records: {response.data.totalRecords}') for record in response.data.records: - print(f' AppId: {record.appId}') - print(f' RecordId: {record.recordId}') + print(f'AppId: {record.appId}') + print(f'RecordId: {record.recordId}') for field in record.fields: - print(f' Type: {field.type}, FieldId: {field.fieldId}, Value: {field.getValue()}') + print(f'Type: {field.type}') + print(f'FieldId: {field.fieldId}') + print(f'Value: {GetResultValueString(field)}') + +# files def SaveFileTest(): @@ -43,4 +57,7 @@ def SaveFileTest(): response = onspringClient.SaveFile(request) print(response.statusCode) - print(response.data.id) \ No newline at end of file + print(response.data.id) + +if __name__ == "__main__": + main() \ No newline at end of file