more work;
This commit is contained in:
+87
-72
@@ -56,23 +56,26 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
responseJson = response.json()
|
responseJson = dict(response.json())
|
||||||
|
|
||||||
apps = []
|
apps = []
|
||||||
|
|
||||||
for item in responseJson['items']:
|
for item in responseJson.get('items'):
|
||||||
|
|
||||||
|
item = dict(item)
|
||||||
|
|
||||||
app = App(
|
app = App(
|
||||||
item['href'],
|
item.get('href'),
|
||||||
item['id'],
|
item.get('id'),
|
||||||
item['name'])
|
item.get('name'))
|
||||||
|
|
||||||
apps.append(app)
|
apps.append(app)
|
||||||
|
|
||||||
data = GetAppsResponse(
|
data = GetAppsResponse(
|
||||||
responseJson['pageNumber'],
|
responseJson.get('pageNumber'),
|
||||||
responseJson['pageSize'],
|
responseJson.get('pageSize'),
|
||||||
responseJson['totalPages'],
|
responseJson.get('totalPages'),
|
||||||
responseJson['totalRecords'],
|
responseJson.get('totalRecords'),
|
||||||
apps)
|
apps)
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
@@ -121,12 +124,12 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
responseJson = response.json()
|
responseJson = dict(response.json())
|
||||||
|
|
||||||
app = App(
|
app = App(
|
||||||
responseJson['href'],
|
responseJson.get('href'),
|
||||||
responseJson['id'],
|
responseJson.get('id'),
|
||||||
responseJson['name'])
|
responseJson.get('name'))
|
||||||
|
|
||||||
data = GetAppByIdResponse(app)
|
data = GetAppByIdResponse(app)
|
||||||
|
|
||||||
@@ -179,20 +182,23 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
responseJson = response.json()
|
responseJson = dict(response.json())
|
||||||
|
|
||||||
apps = []
|
apps = []
|
||||||
|
|
||||||
for item in responseJson['items']:
|
for item in responseJson['items']:
|
||||||
|
|
||||||
|
item = dict(item)
|
||||||
|
|
||||||
app = App(
|
app = App(
|
||||||
item['href'],
|
item.get('href'),
|
||||||
item['id'],
|
item.get('id'),
|
||||||
item['name'])
|
item.get('name'))
|
||||||
|
|
||||||
apps.append(app)
|
apps.append(app)
|
||||||
|
|
||||||
data = GetAppsByIdsResponse(
|
data = GetAppsByIdsResponse(
|
||||||
responseJson['count'],
|
responseJson.get('count'),
|
||||||
apps)
|
apps)
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
@@ -243,16 +249,16 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
jsonResponse = response.json()
|
jsonResponse = dict(response.json())
|
||||||
|
|
||||||
field = Field(
|
field = Field(
|
||||||
jsonResponse['id'],
|
jsonResponse.get('id'),
|
||||||
jsonResponse['appId'],
|
jsonResponse.get('appId'),
|
||||||
jsonResponse['name'],
|
jsonResponse.get('name'),
|
||||||
jsonResponse['type'],
|
jsonResponse.get('type'),
|
||||||
jsonResponse['status'],
|
jsonResponse.get('status'),
|
||||||
jsonResponse['isRequired'],
|
jsonResponse.get('isRequired'),
|
||||||
jsonResponse['isUnique'],)
|
jsonResponse.get('isUnique'))
|
||||||
|
|
||||||
data = GetFieldByIdResponse(field)
|
data = GetFieldByIdResponse(field)
|
||||||
|
|
||||||
@@ -313,24 +319,27 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
responseJson = response.json()
|
responseJson = dict(response.json())
|
||||||
|
|
||||||
fields = []
|
fields = []
|
||||||
|
|
||||||
for item in responseJson['items']:
|
for item in responseJson.get('items'):
|
||||||
|
|
||||||
|
item = dict(item)
|
||||||
|
|
||||||
field = Field(
|
field = Field(
|
||||||
item['id'],
|
item.get('id'),
|
||||||
item['appId'],
|
item.get('appId'),
|
||||||
item['name'],
|
item.get('name'),
|
||||||
item['type'],
|
item.get('type'),
|
||||||
item['status'],
|
item.get('status'),
|
||||||
item['isRequired'],
|
item.get('isRequired'),
|
||||||
item['isUnique'])
|
item.get('isUnique'))
|
||||||
|
|
||||||
fields.append(field)
|
fields.append(field)
|
||||||
|
|
||||||
data = GetFieldsByIdsResponse(
|
data = GetFieldsByIdsResponse(
|
||||||
responseJson['count'],
|
responseJson.get('count'),
|
||||||
fields)
|
fields)
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
@@ -374,27 +383,30 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
responseJson = response.json()
|
responseJson = dict(response.json())
|
||||||
|
|
||||||
fields = []
|
fields = []
|
||||||
|
|
||||||
for item in responseJson['items']:
|
for item in responseJson.get('items'):
|
||||||
|
|
||||||
|
item = dict(item)
|
||||||
|
|
||||||
field = Field(
|
field = Field(
|
||||||
item['id'],
|
item.get('id'),
|
||||||
item['appId'],
|
item.get('appId'),
|
||||||
item['name'],
|
item.get('name'),
|
||||||
item['type'],
|
item.get('type'),
|
||||||
item['status'],
|
item.get('status'),
|
||||||
item['isRequired'],
|
item.get('isRequired'),
|
||||||
item['isUnique'])
|
item.get('isUnique'))
|
||||||
|
|
||||||
fields.append(field)
|
fields.append(field)
|
||||||
|
|
||||||
data = GetFieldsByAppIdResponse(
|
data = GetFieldsByAppIdResponse(
|
||||||
responseJson['pageNumber'],
|
responseJson.get('pageNumber'),
|
||||||
responseJson['pageSize'],
|
responseJson.get('pageSize'),
|
||||||
responseJson['totalPages'],
|
responseJson.get('totalPages'),
|
||||||
responseJson['totalRecords'],
|
responseJson.get('totalRecords'),
|
||||||
fields)
|
fields)
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
@@ -457,19 +469,19 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
jsonResponse = response.json()
|
jsonResponse = dict(response.json())
|
||||||
|
|
||||||
createdDate = parseDate(jsonResponse['createdDate'])
|
createdDate = parseDate(jsonResponse.get('createdDate'))
|
||||||
modifiedDate = parseDate(jsonResponse['modifiedDate'])
|
modifiedDate = parseDate(jsonResponse.get('modifiedDate'))
|
||||||
|
|
||||||
fileInfo = FileInfo(
|
fileInfo = FileInfo(
|
||||||
jsonResponse['type'],
|
jsonResponse.get('type'),
|
||||||
jsonResponse['contentType'],
|
jsonResponse.get('contentType'),
|
||||||
jsonResponse['name'],
|
jsonResponse.get('name'),
|
||||||
createdDate,
|
createdDate,
|
||||||
modifiedDate,
|
modifiedDate,
|
||||||
jsonResponse['owner'],
|
jsonResponse.get('owner'),
|
||||||
jsonResponse['fileHref'])
|
jsonResponse.get('fileHref'))
|
||||||
|
|
||||||
data = GetFileInfoByIdResponse(fileInfo)
|
data = GetFileInfoByIdResponse(fileInfo)
|
||||||
|
|
||||||
@@ -515,11 +527,11 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 403 or response.status_code == 404:
|
if response.status_code == 403 or response.status_code == 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)
|
||||||
|
|
||||||
@@ -575,19 +587,23 @@ class OnspringClient:
|
|||||||
|
|
||||||
if response.status_code == 403 or response.status_code == 404:
|
if response.status_code == 403 or response.status_code == 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 == 200:
|
if response.status_code == 200:
|
||||||
|
|
||||||
fileName = response.headers['Content-Disposition']
|
headers = dict(response.headers)
|
||||||
|
|
||||||
|
fileName = headers.get('Content-Disposition')
|
||||||
result = re.search('filename=.*;', fileName).group()
|
result = re.search('filename=.*;', fileName).group()
|
||||||
|
|
||||||
|
# TODO: implement attempting to build file name using content-type header
|
||||||
|
# TODO: implement default filename value
|
||||||
if result:
|
if result:
|
||||||
fileName = re.sub('filename=|\'|;', '', result)
|
fileName = re.sub('filename=|\'|;', '', result)
|
||||||
else:
|
else:
|
||||||
@@ -595,8 +611,8 @@ class OnspringClient:
|
|||||||
|
|
||||||
file = File(
|
file = File(
|
||||||
fileName,
|
fileName,
|
||||||
response.headers['Content-Type'],
|
headers.get('Content-Type'),
|
||||||
response.headers['Content-Length'],
|
headers.get('Content-Length'),
|
||||||
response.content)
|
response.content)
|
||||||
|
|
||||||
data = GetFileByIdResponse(file)
|
data = GetFileByIdResponse(file)
|
||||||
@@ -617,13 +633,6 @@ class OnspringClient:
|
|||||||
|
|
||||||
endpoint = SaveFileEndpoint(self.baseUrl)
|
endpoint = SaveFileEndpoint(self.baseUrl)
|
||||||
|
|
||||||
requestData = {
|
|
||||||
'recordId': saveFileRequest.recordId,
|
|
||||||
'fieldId': saveFileRequest.fieldId,
|
|
||||||
'notes': saveFileRequest.notes,
|
|
||||||
'modifiedDate': saveFileRequest.modifiedDate
|
|
||||||
}
|
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
(
|
(
|
||||||
'File',
|
'File',
|
||||||
@@ -631,6 +640,13 @@ class OnspringClient:
|
|||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
saveFileRequest = saveFileRequest.__dict__
|
||||||
|
del saveFileRequest['fileName']
|
||||||
|
del saveFileRequest['filePath']
|
||||||
|
del saveFileRequest['contentType']
|
||||||
|
|
||||||
|
requestData = saveFileRequest
|
||||||
|
|
||||||
response = requests.request(
|
response = requests.request(
|
||||||
'POST',
|
'POST',
|
||||||
endpoint,
|
endpoint,
|
||||||
@@ -638,7 +654,6 @@ class OnspringClient:
|
|||||||
data=requestData,
|
data=requestData,
|
||||||
files=files)
|
files=files)
|
||||||
|
|
||||||
|
|
||||||
if response.status_code == 400:
|
if response.status_code == 400:
|
||||||
|
|
||||||
return ApiResponse(
|
return ApiResponse(
|
||||||
|
|||||||
@@ -10,19 +10,36 @@ url = cfg['prod']['url']
|
|||||||
|
|
||||||
onspringClient = OnspringClient(url, key)
|
onspringClient = OnspringClient(url, key)
|
||||||
|
|
||||||
request = GetRecordsByAppRequest(240, dataFormat=DataFormat.Raw.name)
|
def GetRecordsByAppRequestTest():
|
||||||
|
|
||||||
response = onspringClient.GetRecordsByAppId(request)
|
request = GetRecordsByAppRequest(240, dataFormat=DataFormat.Raw.name)
|
||||||
|
|
||||||
print(f'Status Code: {response.statusCode}')
|
response = onspringClient.GetRecordsByAppId(request)
|
||||||
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'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' AppId: {record.appId}')
|
||||||
print(f' RecordId: {record.recordId}')
|
print(f' RecordId: {record.recordId}')
|
||||||
|
|
||||||
for field in record.fields:
|
for field in record.fields:
|
||||||
print(f' Type: {field.type}, FieldId: {field.fieldId}, Value: {field.getValue()}')
|
print(f' Type: {field.type}, FieldId: {field.fieldId}, Value: {field.getValue()}')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
Reference in New Issue
Block a user