This repository was archived by the owner on Mar 17, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathIsenseModule.py
More file actions
73 lines (46 loc) · 2.27 KB
/
IsenseModule.py
File metadata and controls
73 lines (46 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import requests,json,time,datetime
baseUrl = 'http://rsense-dev.cs.uml.edu/api/v1/projects/';
def projectGetRequest(projectID):
urlProject = baseUrl+projectID+'?recur=true';
data = requests.get(urlProject)
return data
def getDatasetLocation(datasetName,parsedResponseProject):
for i in range(0,parsedResponseProject.json()['dataSetCount']):
if parsedResponseProject.json()['dataSets'][i]['name'] == datasetName:
datasetLocation = i
datasetID = parsedResponseProject.json()['dataSets'][i]['id']
return datasetLocation
return 'Dataset not found'
def getFieldID(fieldName,parsedResponseProject):
for i in range(0,parsedResponseProject.json()['fieldCount']):
if parsedResponseProject.json()['fields'][i]['name'] == fieldName:
fieldID = parsedResponseProject.json()['fields'][i]['id']
fieldID = str(fieldID)
return fieldID;
return "Field Not Found"
def getDatasetFieldData(projectID,datasetName,fieldName):
values = []
parsedResponseProject = projectGetRequest(projectID)
datasetLocation = getDatasetLocation(datasetName,parsedResponseProject)
fieldID = getFieldID(fieldName,parsedResponseProject)
for i in range(0,parsedResponseProject.json()['dataSets'][datasetLocation]['datapointCount']):
values.append(int(parsedResponseProject.json()['dataSets'][datasetLocation]['data'][i][fieldID]))
return values
def postDataset(projectID,contributionKey,fieldName,datasetName,contributorName,fieldData):
timestamp = time.time()
timestamp_reformatted = datetime.datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
parsedResponseProject = projectGetRequest(projectID)
fieldID = getFieldID(fieldName,parsedResponseProject)
url = baseUrl+projectID+'/jsonDataUpload'
payload = {
'title': datasetName + ' ' + timestamp_reformatted,
'contribution_key': contributionKey,
'contributor_name': contributorName,
'data':
{
fieldID: fieldData
}
}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
print "\nPost Complete"