more work;
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
from http import client
|
||||
import mimetypes
|
||||
import os
|
||||
|
||||
from OnspringClient import OnspringClient
|
||||
from configparser import ConfigParser
|
||||
from Helpers import GetResultValueString
|
||||
|
||||
from Models import *
|
||||
from Enums import *
|
||||
|
||||
cfg = ConfigParser()
|
||||
cfg.read('config.ini')
|
||||
|
||||
key = cfg['prod']['key']
|
||||
url = cfg['prod']['url']
|
||||
|
||||
onspring = OnspringClient(url, key)
|
||||
|
||||
def main():
|
||||
|
||||
# PrintGetApps(onspring)
|
||||
|
||||
PrintGetAppById(onspring, 195)
|
||||
|
||||
# PrintSaveFile(
|
||||
# onspring,
|
||||
# 'C:\\Users\\sfree\\OneDrive\\Desktop\\Test Attachment.txt',
|
||||
# 60,
|
||||
# 6989
|
||||
# )
|
||||
|
||||
return
|
||||
|
||||
#connectivity
|
||||
|
||||
def PrintCanConnect(client: OnspringClient):
|
||||
|
||||
print(client.CanConnect())
|
||||
|
||||
# apps
|
||||
|
||||
def PrintGetApps(client: OnspringClient):
|
||||
|
||||
response = client.GetApps()
|
||||
|
||||
print(f'Status Code: {response.statusCode}')
|
||||
print(f'Page Size: {response.data.pageSize}')
|
||||
print(f'Page Number: {response.data.pageNumber}')
|
||||
print(f'Total Pages: {response.data.totalPages}')
|
||||
print(f'Total Records: {response.data.totalRecords}')
|
||||
print('----')
|
||||
|
||||
for app in response.data.apps:
|
||||
print(f'Id: {app.id}')
|
||||
print(f'Name: {app.name}')
|
||||
print(f'href: {app.href}')
|
||||
print('--')
|
||||
|
||||
print('----')
|
||||
|
||||
def PrintGetAppById(client: OnspringClient, appId: int):
|
||||
|
||||
response = client.GetAppById(appId)
|
||||
|
||||
print(f'Status Code: {response.statusCode}')
|
||||
print(f'id: {response.data.app.id}')
|
||||
print(f'Name: {response.data.app.name}')
|
||||
print(f'href: {response.data.app.href}')
|
||||
|
||||
# records
|
||||
|
||||
def PrintGetRecordsByAppId(client: OnspringClient, appId: int):
|
||||
|
||||
request = GetRecordsByAppRequest(appId, dataFormat=DataFormat.Raw.name)
|
||||
|
||||
response = client.GetRecordsByAppId(request)
|
||||
|
||||
print(f'Status Code: {response.statusCode}')
|
||||
print(f'Page Size: {response.data.pageSize}')
|
||||
print(f'Page Number: {response.data.pageNumber}')
|
||||
print(f'Total Pages: {response.data.totalPages}')
|
||||
print(f'Total Records: {response.data.totalRecords}')
|
||||
print('----')
|
||||
|
||||
for record in response.data.records:
|
||||
print(f'AppId: {record.appId}')
|
||||
print(f'RecordId: {record.recordId}')
|
||||
print('--')
|
||||
|
||||
for field in record.fields:
|
||||
print(f'Type: {field.type}')
|
||||
print(f'FieldId: {field.fieldId}')
|
||||
print(f'Value: {GetResultValueString(field)}')
|
||||
print('--')
|
||||
|
||||
print('----')
|
||||
|
||||
# files
|
||||
|
||||
def PrintSaveFile(client: OnspringClient, filePath: str, recordId: int, fieldId: int, notes: str=None, modifiedDate: datetime=None):
|
||||
|
||||
filePath = filePath
|
||||
fileName = os.path.basename(filePath)
|
||||
contentType = mimetypes.guess_type(filePath)
|
||||
|
||||
request = SaveFileRequest(
|
||||
recordId,
|
||||
fieldId,
|
||||
fileName,
|
||||
filePath,
|
||||
contentType,
|
||||
notes,
|
||||
modifiedDate)
|
||||
|
||||
response = client.SaveFile(request)
|
||||
|
||||
print(f'Status Code: {response.statusCode}')
|
||||
print(f'File Id: {response.data.id}')
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
+30
-25
@@ -15,7 +15,7 @@ class OnspringClient:
|
||||
|
||||
# connectivity methods
|
||||
|
||||
def canConnect(self):
|
||||
def CanConnect(self):
|
||||
|
||||
endpoint = GetPingEndpoint(self.baseUrl)
|
||||
|
||||
@@ -672,18 +672,19 @@ class OnspringClient:
|
||||
|
||||
if response.status_code in [403,404,500]:
|
||||
|
||||
jsonResponse = response.json()
|
||||
jsonResponse = dict(response.json())
|
||||
|
||||
return ApiResponse(
|
||||
response.status_code,
|
||||
message=jsonResponse['message'],
|
||||
message=jsonResponse.get('message'),
|
||||
headers=response.headers,
|
||||
responseText=response.text)
|
||||
|
||||
if response.status_code == 201:
|
||||
responseJson = response.json()
|
||||
|
||||
data = SaveFileResponse(responseJson['id'])
|
||||
responseJson = dict(response.json())
|
||||
|
||||
data = SaveFileResponse(responseJson.get('id'))
|
||||
|
||||
return ApiResponse(
|
||||
response.status_code,
|
||||
@@ -724,19 +725,19 @@ class OnspringClient:
|
||||
|
||||
if response.status_code in [403,404]:
|
||||
|
||||
jsonResponse = response.json()
|
||||
jsonResponse = dict(response.json())
|
||||
|
||||
return ApiResponse(
|
||||
response.status_code,
|
||||
message=jsonResponse['message'],
|
||||
message=jsonResponse.get('message'),
|
||||
headers=response.headers,
|
||||
responseText=response.text)
|
||||
|
||||
if response.status_code == 201:
|
||||
|
||||
responseJson = response.json()
|
||||
responseJson = dict(response.json())
|
||||
|
||||
data = AddOrUpdateListItemResponse(responseJson['id'])
|
||||
data = AddOrUpdateListItemResponse(responseJson.get('id'))
|
||||
|
||||
return ApiResponse(
|
||||
response.status_code,
|
||||
@@ -747,9 +748,9 @@ class OnspringClient:
|
||||
|
||||
if response.status_code == 200:
|
||||
|
||||
responseJson = response.json()
|
||||
responseJson = dict(response.json())
|
||||
|
||||
data = AddOrUpdateListItemResponse(responseJson['id'])
|
||||
data = AddOrUpdateListItemResponse(responseJson.get('id'))
|
||||
|
||||
return ApiResponse(
|
||||
response.status_code,
|
||||
@@ -782,11 +783,11 @@ class OnspringClient:
|
||||
|
||||
if response.status_code == 403:
|
||||
|
||||
jsonResponse = response.json()
|
||||
jsonResponse = dict(response.json())
|
||||
|
||||
return ApiResponse(
|
||||
response.status_code,
|
||||
message=jsonResponse['message'],
|
||||
message=jsonResponse.get('message'),
|
||||
headers=response.headers,
|
||||
responseText=response.text)
|
||||
|
||||
@@ -834,25 +835,29 @@ class OnspringClient:
|
||||
|
||||
if response.status_code == 200:
|
||||
|
||||
jsonResponse = response.json()
|
||||
jsonResponse = dict(response.json())
|
||||
|
||||
records = []
|
||||
|
||||
for item in jsonResponse['items']:
|
||||
for item in jsonResponse.get('items'):
|
||||
|
||||
item = dict(item)
|
||||
|
||||
fields = []
|
||||
|
||||
record = Record(
|
||||
item['appId'],
|
||||
item['recordId'],
|
||||
item.get('appId'),
|
||||
item.get('recordId'),
|
||||
fields)
|
||||
|
||||
for field in item['fieldData']:
|
||||
for field in item.get('fieldData'):
|
||||
|
||||
field = dict(field)
|
||||
|
||||
field = RecordFieldValue(
|
||||
field['type'],
|
||||
field['fieldId'],
|
||||
field['value'])
|
||||
field.get('type'),
|
||||
field.get('fieldId'),
|
||||
field.get('value'))
|
||||
|
||||
fields.append(field)
|
||||
|
||||
@@ -861,10 +866,10 @@ class OnspringClient:
|
||||
records.append(record)
|
||||
|
||||
data = GetRecordsByAppResponse(
|
||||
jsonResponse['pageNumber'],
|
||||
jsonResponse['pageSize'],
|
||||
jsonResponse['totalPages'],
|
||||
jsonResponse['totalRecords'],
|
||||
jsonResponse.get('pageNumber'),
|
||||
jsonResponse.get('pageSize'),
|
||||
jsonResponse.get('totalPages'),
|
||||
jsonResponse.get('totalRecords'),
|
||||
records)
|
||||
|
||||
return ApiResponse(
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
from OnspringClient import OnspringClient
|
||||
from configparser import ConfigParser
|
||||
from Helpers import GetResultValueString
|
||||
|
||||
from Models import *
|
||||
from Enums import *
|
||||
|
||||
cfg = ConfigParser()
|
||||
cfg.read('config.ini')
|
||||
|
||||
key = cfg['prod']['key']
|
||||
url = cfg['prod']['url']
|
||||
|
||||
onspringClient = OnspringClient(url, key)
|
||||
|
||||
def main():
|
||||
GetRecordsByAppIdTest()
|
||||
|
||||
|
||||
|
||||
# apps
|
||||
|
||||
def GetRecordsByAppIdTest():
|
||||
|
||||
request = GetRecordsByAppRequest(240, dataFormat=DataFormat.Raw.name)
|
||||
|
||||
response = onspringClient.GetRecordsByAppId(request)
|
||||
|
||||
print(f'Status Code: {response.statusCode}')
|
||||
print(f'Page Size: {response.data.pageSize}')
|
||||
print(f'Page Number: {response.data.pageNumber}')
|
||||
print(f'Total Pages: {response.data.totalPages}')
|
||||
print(f'Total Records: {response.data.totalRecords}')
|
||||
|
||||
for record in response.data.records:
|
||||
print(f'AppId: {record.appId}')
|
||||
print(f'RecordId: {record.recordId}')
|
||||
|
||||
for field in record.fields:
|
||||
print(f'Type: {field.type}')
|
||||
print(f'FieldId: {field.fieldId}')
|
||||
print(f'Value: {GetResultValueString(field)}')
|
||||
|
||||
# files
|
||||
|
||||
def SaveFileTest():
|
||||
|
||||
filePath = 'C:\\Users\\sfree\\OneDrive\\Desktop\\Test Attachment.txt'
|
||||
|
||||
request = SaveFileRequest(
|
||||
60,
|
||||
6989,
|
||||
'Test Attachment.text',
|
||||
filePath, 'text/plain',
|
||||
'Updating record with attachment')
|
||||
|
||||
response = onspringClient.SaveFile(request)
|
||||
|
||||
print(response.statusCode)
|
||||
print(response.data.id)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user