Skip to content

Commit 35d7e3c

Browse files
authored
Add files via upload
1 parent 06e73a2 commit 35d7e3c

20 files changed

+2090
-2090
lines changed

compareTwoKeysInCommunity.py

Lines changed: 122 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -1,122 +1,122 @@
1-
import json
2-
import requests
3-
import secrets
4-
import csv
5-
import time
6-
import urllib3
7-
import argparse
8-
9-
secretsVersion = raw_input('To edit production server, enter the name of the secrets file: ')
10-
if secretsVersion != '':
11-
try:
12-
secrets = __import__(secretsVersion)
13-
print 'Editing Production'
14-
except ImportError:
15-
print 'Editing Stage'
16-
else:
17-
print 'Editing Stage'
18-
19-
parser = argparse.ArgumentParser()
20-
parser.add_argument('-1', '--key', help='the first key to be output. optional - if not provided, the script will ask for input')
21-
parser.add_argument('-2', '--key2', help='the second key to be output. optional - if not provided, the script will ask for input')
22-
parser.add_argument('-i', '--handle', help='handle of the community to retreive. optional - if not provided, the script will ask for input')
23-
args = parser.parse_args()
24-
25-
if args.key:
26-
key = args.key
27-
else:
28-
key = raw_input('Enter first key: ')
29-
if args.key2:
30-
key2 = args.key2
31-
else:
32-
key2 = raw_input('Enter second key: ')
33-
if args.handle:
34-
handle = args.handle
35-
else:
36-
handle = raw_input('Enter community handle: ')
37-
38-
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
39-
40-
41-
baseURL = secrets.baseURL
42-
email = secrets.email
43-
password = secrets.password
44-
filePath = secrets.filePath
45-
verify = secrets.verify
46-
skippedCollections = secrets.skippedCollections
47-
48-
startTime = time.time()
49-
data = {'email':email,'password':password}
50-
header = {'content-type':'application/json','accept':'application/json'}
51-
session = requests.post(baseURL+'/rest/login', headers=header, verify=verify, params=data).cookies['JSESSIONID']
52-
cookies = {'JSESSIONID': session}
53-
headerFileUpload = {'accept':'application/json'}
54-
cookiesFileUpload = cookies
55-
status = requests.get(baseURL+'/rest/status', headers=header, cookies=cookies, verify=verify).json()
56-
print 'authenticated'
57-
58-
endpoint = baseURL+'/rest/handle/'+handle
59-
community = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
60-
communityID = community['uuid']
61-
62-
itemList = []
63-
endpoint = baseURL+'/rest/communities'
64-
collections = requests.get(baseURL+'/rest/communities/'+str(communityID)+'/collections', headers=header, cookies=cookies, verify=verify).json()
65-
for j in range (0, len (collections)):
66-
collectionID = collections[j]['uuid']
67-
print collectionID
68-
if collectionID not in skippedCollections:
69-
offset = 0
70-
items = ''
71-
while items != []:
72-
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
73-
while items.status_code != 200:
74-
time.sleep(5)
75-
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
76-
items = items.json()
77-
for k in range (0, len (items)):
78-
itemID = items[k]['uuid']
79-
itemList.append(itemID)
80-
offset = offset + 200
81-
print offset
82-
elapsedTime = time.time() - startTime
83-
m, s = divmod(elapsedTime, 60)
84-
h, m = divmod(m, 60)
85-
print 'Item list creation time: ','%d:%02d:%02d' % (h, m, s)
86-
87-
valueList = []
88-
for number, itemID in enumerate(itemList):
89-
itemsRemaining = len(itemList) - number
90-
print 'Items remaining: ', itemsRemaining, 'ItemID: ', itemID
91-
metadata = requests.get(baseURL+'/rest/items/'+str(itemID)+'/metadata', headers=header, cookies=cookies, verify=verify).json()
92-
itemTuple = (itemID,)
93-
tupleValue1 = ''
94-
tupleValue2 = ''
95-
for l in range (0, len (metadata)):
96-
if metadata[l]['key'] == key:
97-
metadataValue = metadata[l]['value'].encode('utf-8')
98-
tupleValue1 = metadataValue
99-
if metadata[l]['key'] == key2:
100-
metadataValue = metadata[l]['value'].encode('utf-8')
101-
tupleValue2 = metadataValue
102-
itemTuple = itemTuple + (tupleValue1 , tupleValue2)
103-
valueList.append(itemTuple)
104-
print itemTuple
105-
print valueList
106-
107-
elapsedTime = time.time() - startTime
108-
m, s = divmod(elapsedTime, 60)
109-
h, m = divmod(m, 60)
110-
print 'Value list creation time: ','%d:%02d:%02d' % (h, m, s)
111-
112-
f=csv.writer(open(filePath+key+'-'+key2+'Values.csv', 'wb'))
113-
f.writerow(['itemID']+[key]+[key2])
114-
for i in range (0, len (valueList)):
115-
f.writerow([valueList[i][0]]+[valueList[i][1]]+[valueList[i][2]])
116-
117-
logout = requests.post(baseURL+'/rest/logout', headers=header, cookies=cookies, verify=verify)
118-
119-
elapsedTime = time.time() - startTime
120-
m, s = divmod(elapsedTime, 60)
121-
h, m = divmod(m, 60)
122-
print 'Total script run time: ', '%d:%02d:%02d' % (h, m, s)
1+
import json
2+
import requests
3+
import secrets
4+
import csv
5+
import time
6+
import urllib3
7+
import argparse
8+
9+
secretsVersion = input('To edit production server, enter the name of the secrets file: ')
10+
if secretsVersion != '':
11+
try:
12+
secrets = __import__(secretsVersion)
13+
print('Editing Production')
14+
except ImportError:
15+
print('Editing Stage')
16+
else:
17+
print('Editing Stage')
18+
19+
parser = argparse.ArgumentParser()
20+
parser.add_argument('-1', '--key', help='the first key to be output. optional - if not provided, the script will ask for input')
21+
parser.add_argument('-2', '--key2', help='the second key to be output. optional - if not provided, the script will ask for input')
22+
parser.add_argument('-i', '--handle', help='handle of the community to retreive. optional - if not provided, the script will ask for input')
23+
args = parser.parse_args()
24+
25+
if args.key:
26+
key = args.key
27+
else:
28+
key = input('Enter first key: ')
29+
if args.key2:
30+
key2 = args.key2
31+
else:
32+
key2 = input('Enter second key: ')
33+
if args.handle:
34+
handle = args.handle
35+
else:
36+
handle = input('Enter community handle: ')
37+
38+
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
39+
40+
41+
baseURL = secrets.baseURL
42+
email = secrets.email
43+
password = secrets.password
44+
filePath = secrets.filePath
45+
verify = secrets.verify
46+
skippedCollections = secrets.skippedCollections
47+
48+
startTime = time.time()
49+
data = {'email':email,'password':password}
50+
header = {'content-type':'application/json','accept':'application/json'}
51+
session = requests.post(baseURL+'/rest/login', headers=header, verify=verify, params=data).cookies['JSESSIONID']
52+
cookies = {'JSESSIONID': session}
53+
headerFileUpload = {'accept':'application/json'}
54+
cookiesFileUpload = cookies
55+
status = requests.get(baseURL+'/rest/status', headers=header, cookies=cookies, verify=verify).json()
56+
print('authenticated')
57+
58+
endpoint = baseURL+'/rest/handle/'+handle
59+
community = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
60+
communityID = community['uuid']
61+
62+
itemList = []
63+
endpoint = baseURL+'/rest/communities'
64+
collections = requests.get(baseURL+'/rest/communities/'+str(communityID)+'/collections', headers=header, cookies=cookies, verify=verify).json()
65+
for j in range (0, len (collections)):
66+
collectionID = collections[j]['uuid']
67+
print(collectionID)
68+
if collectionID not in skippedCollections:
69+
offset = 0
70+
items = ''
71+
while items != []:
72+
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
73+
while items.status_code != 200:
74+
time.sleep(5)
75+
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
76+
items = items.json()
77+
for k in range (0, len (items)):
78+
itemID = items[k]['uuid']
79+
itemList.append(itemID)
80+
offset = offset + 200
81+
print(offset)
82+
elapsedTime = time.time() - startTime
83+
m, s = divmod(elapsedTime, 60)
84+
h, m = divmod(m, 60)
85+
print('Item list creation time: ','%d:%02d:%02d' % (h, m, s))
86+
87+
valueList = []
88+
for number, itemID in enumerate(itemList):
89+
itemsRemaining = len(itemList) - number
90+
print('Items remaining: ', itemsRemaining, 'ItemID: ', itemID)
91+
metadata = requests.get(baseURL+'/rest/items/'+str(itemID)+'/metadata', headers=header, cookies=cookies, verify=verify).json()
92+
itemTuple = (itemID,)
93+
tupleValue1 = ''
94+
tupleValue2 = ''
95+
for l in range (0, len (metadata)):
96+
if metadata[l]['key'] == key:
97+
metadataValue = metadata[l]['value']
98+
tupleValue1 = metadataValue
99+
if metadata[l]['key'] == key2:
100+
metadataValue = metadata[l]['value']
101+
tupleValue2 = metadataValue
102+
itemTuple = itemTuple + (tupleValue1 , tupleValue2)
103+
valueList.append(itemTuple)
104+
print(itemTuple)
105+
print(valueList)
106+
107+
elapsedTime = time.time() - startTime
108+
m, s = divmod(elapsedTime, 60)
109+
h, m = divmod(m, 60)
110+
print('Value list creation time: ','%d:%02d:%02d' % (h, m, s))
111+
112+
f=csv.writer(open(filePath+key+'-'+key2+'Values.csv', 'w'))
113+
f.writerow(['itemID']+[key]+[key2])
114+
for i in range (0, len (valueList)):
115+
f.writerow([valueList[i][0]]+[valueList[i][1]]+[valueList[i][2]])
116+
117+
logout = requests.post(baseURL+'/rest/logout', headers=header, cookies=cookies, verify=verify)
118+
119+
elapsedTime = time.time() - startTime
120+
m, s = divmod(elapsedTime, 60)
121+
h, m = divmod(m, 60)
122+
print('Total script run time: ', '%d:%02d:%02d' % (h, m, s))

0 commit comments

Comments
 (0)