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
|
# connectivity methods
|
||||||
|
|
||||||
def canConnect(self):
|
def CanConnect(self):
|
||||||
|
|
||||||
endpoint = GetPingEndpoint(self.baseUrl)
|
endpoint = GetPingEndpoint(self.baseUrl)
|
||||||
|
|
||||||
@@ -672,18 +672,19 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code in [403,404,500]:
|
if response.status_code in [403,404,500]:
|
||||||
|
|
||||||
jsonResponse = response.json()
|
jsonResponse = dict(response.json())
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
response.status_code,
|
response.status_code,
|
||||||
message=jsonResponse['message'],
|
message=jsonResponse.get('message'),
|
||||||
headers=response.headers,
|
headers=response.headers,
|
||||||
responseText=response.text)
|
responseText=response.text)
|
||||||
|
|
||||||
if response.status_code == 201:
|
if response.status_code == 201:
|
||||||
responseJson = response.json()
|
|
||||||
|
|
||||||
data = SaveFileResponse(responseJson['id'])
|
responseJson = dict(response.json())
|
||||||
|
|
||||||
|
data = SaveFileResponse(responseJson.get('id'))
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
response.status_code,
|
response.status_code,
|
||||||
@@ -724,19 +725,19 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code in [403,404]:
|
if response.status_code in [403,404]:
|
||||||
|
|
||||||
jsonResponse = response.json()
|
jsonResponse = dict(response.json())
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
response.status_code,
|
response.status_code,
|
||||||
message=jsonResponse['message'],
|
message=jsonResponse.get('message'),
|
||||||
headers=response.headers,
|
headers=response.headers,
|
||||||
responseText=response.text)
|
responseText=response.text)
|
||||||
|
|
||||||
if response.status_code == 201:
|
if response.status_code == 201:
|
||||||
|
|
||||||
responseJson = response.json()
|
responseJson = dict(response.json())
|
||||||
|
|
||||||
data = AddOrUpdateListItemResponse(responseJson['id'])
|
data = AddOrUpdateListItemResponse(responseJson.get('id'))
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
response.status_code,
|
response.status_code,
|
||||||
@@ -747,9 +748,9 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
responseJson = response.json()
|
responseJson = dict(response.json())
|
||||||
|
|
||||||
data = AddOrUpdateListItemResponse(responseJson['id'])
|
data = AddOrUpdateListItemResponse(responseJson.get('id'))
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
response.status_code,
|
response.status_code,
|
||||||
@@ -782,11 +783,11 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 403:
|
if response.status_code == 403:
|
||||||
|
|
||||||
jsonResponse = response.json()
|
jsonResponse = dict(response.json())
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
response.status_code,
|
response.status_code,
|
||||||
message=jsonResponse['message'],
|
message=jsonResponse.get('message'),
|
||||||
headers=response.headers,
|
headers=response.headers,
|
||||||
responseText=response.text)
|
responseText=response.text)
|
||||||
|
|
||||||
@@ -834,25 +835,29 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
jsonResponse = response.json()
|
jsonResponse = dict(response.json())
|
||||||
|
|
||||||
records = []
|
records = []
|
||||||
|
|
||||||
for item in jsonResponse['items']:
|
for item in jsonResponse.get('items'):
|
||||||
|
|
||||||
|
item = dict(item)
|
||||||
|
|
||||||
fields = []
|
fields = []
|
||||||
|
|
||||||
record = Record(
|
record = Record(
|
||||||
item['appId'],
|
item.get('appId'),
|
||||||
item['recordId'],
|
item.get('recordId'),
|
||||||
fields)
|
fields)
|
||||||
|
|
||||||
for field in item['fieldData']:
|
for field in item.get('fieldData'):
|
||||||
|
|
||||||
|
field = dict(field)
|
||||||
|
|
||||||
field = RecordFieldValue(
|
field = RecordFieldValue(
|
||||||
field['type'],
|
field.get('type'),
|
||||||
field['fieldId'],
|
field.get('fieldId'),
|
||||||
field['value'])
|
field.get('value'))
|
||||||
|
|
||||||
fields.append(field)
|
fields.append(field)
|
||||||
|
|
||||||
@@ -861,10 +866,10 @@ class OnspringClient:
|
|||||||
records.append(record)
|
records.append(record)
|
||||||
|
|
||||||
data = GetRecordsByAppResponse(
|
data = GetRecordsByAppResponse(
|
||||||
jsonResponse['pageNumber'],
|
jsonResponse.get('pageNumber'),
|
||||||
jsonResponse['pageSize'],
|
jsonResponse.get('pageSize'),
|
||||||
jsonResponse['totalPages'],
|
jsonResponse.get('totalPages'),
|
||||||
jsonResponse['totalRecords'],
|
jsonResponse.get('totalRecords'),
|
||||||
records)
|
records)
|
||||||
|
|
||||||
return ApiResponse(
|
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