Skip to content

Commit 03b6baf

Browse files
committed
updates
1 parent 2be9b58 commit 03b6baf

9 files changed

+142
-155
lines changed

compareTwoKeysInCommunity.py

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,26 @@
44
import csv
55
import time
66
import urllib3
7+
import argparse
8+
9+
parser = argparse.ArgumentParser()
10+
parser.add_argument('-1', '--key', help='the first key to be output. optional - if not provided, the script will ask for input')
11+
parser.add_argument('-2', '--key2', help='the second key to be output. optional - if not provided, the script will ask for input')
12+
parser.add_argument('-i', '--handle', help='handle of the community to retreive. optional - if not provided, the script will ask for input')
13+
args = parser.parse_args()
14+
15+
if args.key:
16+
key = args.key
17+
else:
18+
key = raw_input('Enter first key: ')
19+
if args.key2:
20+
key2 = args.key2
21+
else:
22+
key2 = raw_input('Enter second key: ')
23+
if args.handle:
24+
handle = args.handle
25+
else:
26+
handle = raw_input('Enter community handle: ')
727

828
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
929

@@ -23,10 +43,6 @@
2343
filePath = secrets.filePath
2444
verify = secrets.verify
2545

26-
communityHandle = raw_input('Enter community handle: ')
27-
key = raw_input('Enter first key: ')
28-
key2 = raw_input('Enter second key: ')
29-
3046
startTime = time.time()
3147
data = {'email':email,'password':password}
3248
header = {'content-type':'application/json','accept':'application/json'}
@@ -37,7 +53,7 @@
3753
status = requests.get(baseURL+'/rest/status', headers=header, cookies=cookies, verify=verify).json()
3854
print 'authenticated'
3955

40-
endpoint = baseURL+'/rest/handle/'+communityHandle
56+
endpoint = baseURL+'/rest/handle/'+handle
4157
community = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
4258
communityID = community['uuid']
4359

@@ -47,7 +63,7 @@
4763
for j in range (0, len (collections)):
4864
collectionID = collections[j]['uuid']
4965
print collectionID
50-
if collectionID != '4dccec82-4cfb-4583-a728-2cb823b15ef0':
66+
if collectionID != '45794375-6640-4efe-848e-082e60bae375':
5167
offset = 0
5268
items = ''
5369
while items != []:
@@ -60,6 +76,7 @@
6076
itemID = items[k]['uuid']
6177
itemList.append(itemID)
6278
offset = offset + 200
79+
print offset
6380
elapsedTime = time.time() - startTime
6481
m, s = divmod(elapsedTime, 60)
6582
h, m = divmod(m, 60)

findBogusUris.py

Lines changed: 19 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -35,46 +35,27 @@
3535
userFullName = status['fullname']
3636
print 'authenticated'
3737

38-
itemList = []
39-
endpoint = baseURL+'/rest/communities'
40-
communities = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
41-
for i in range (0, len (communities)):
42-
communityID = communities[i]['uuid']
43-
collections = requests.get(baseURL+'/rest/communities/'+str(communityID)+'/collections', headers=header, cookies=cookies, verify=verify).json()
44-
for j in range (0, len (collections)):
45-
collectionID = collections[j]['uuid']
46-
print collectionID
47-
if collectionID != '4dccec82-4cfb-4583-a728-2cb823b15ef0':
48-
offset = 0
49-
items = ''
50-
while items != []:
51-
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
52-
while items.status_code != 200:
53-
time.sleep(5)
54-
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
55-
items = items.json()
56-
for k in range (0, len (items)):
57-
itemID = items[k]['uuid']
58-
itemList.append(itemID)
59-
offset = offset + 200
60-
print offset
61-
elapsedTime = time.time() - startTime
62-
m, s = divmod(elapsedTime, 60)
63-
h, m = divmod(m, 60)
64-
print 'Item list creation time: ','%d:%02d:%02d' % (h, m, s)
65-
66-
6738
f=csv.writer(open(filePath+'bogusUris.csv', 'wb'))
6839
f.writerow(['itemID']+['uri'])
69-
for number, itemID in enumerate(itemList):
70-
itemsRemaining = len(itemList) - number
71-
print 'Items remaining: ', itemsRemaining, 'ItemID: ', itemID
72-
metadata = requests.get(baseURL+'/rest/items/'+str(itemID)+'/metadata', headers=header, cookies=cookies, verify=verify).json()
73-
for l in range (0, len (metadata)):
74-
if metadata[l]['key'] == 'dc.identifier.uri':
75-
uri = str(metadata[l]['value'])
76-
if uri.startswith(handlePrefix) == False:
77-
f.writerow([itemID]+[uri])
40+
offset = 0
41+
recordsEdited = 0
42+
items = ''
43+
while items != []:
44+
endpoint = baseURL+'/rest/filtered-items?query_field[]=dc.identifier.uri&query_op[]=doesnt_contain&query_val[]='+handlePrefix+'&limit=200&offset='+str(offset)
45+
print endpoint
46+
response = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
47+
items = response['items']
48+
for item in items:
49+
itemMetadataProcessed = []
50+
itemLink = item['link']
51+
metadata = requests.get(baseURL+itemLink+'/metadata', headers=header, cookies=cookies, verify=verify).json()
52+
for l in range (0, len (metadata)):
53+
if metadata[l]['key'] == 'dc.identifier.uri':
54+
uri = str(metadata[l]['value'])
55+
if uri.startswith(handlePrefix) == False:
56+
f.writerow([itemLink]+[uri])
57+
offset = offset + 200
58+
print offset
7859

7960
logout = requests.post(baseURL+'/rest/logout', headers=header, cookies=cookies, verify=verify)
8061

findDuplicateKeys.py

Lines changed: 28 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@
44
import time
55
import csv
66
import urllib3
7+
import argparse
8+
9+
parser = argparse.ArgumentParser()
10+
parser.add_argument('-k', '--key', help='the key to be searched. optional - if not provided, the script will ask for input')
11+
args = parser.parse_args()
12+
13+
if args.key:
14+
key = args.key
15+
else:
16+
key = raw_input('Enter the key: ')
717

818
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
919

@@ -23,7 +33,6 @@
2333
filePath = secrets.filePath
2434
verify = secrets.verify
2535

26-
key = raw_input('Enter key: ')
2736
searchString = "\""+key+"\""
2837

2938
startTime = time.time()
@@ -37,43 +46,25 @@
3746
userFullName = status['fullname']
3847
print 'authenticated'
3948

40-
itemList = []
41-
endpoint = baseURL+'/rest/communities'
42-
communities = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
43-
for i in range (0, len (communities)):
44-
communityID = communities[i]['uuid']
45-
collections = requests.get(baseURL+'/rest/communities/'+str(communityID)+'/collections', headers=header, cookies=cookies, verify=verify).json()
46-
for j in range (0, len (collections)):
47-
collectionID = collections[j]['uuid']
48-
print collectionID
49-
if collectionID != '4dccec82-4cfb-4583-a728-2cb823b15ef0':
50-
offset = 0
51-
items = ''
52-
while items != []:
53-
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
54-
while items.status_code != 200:
55-
time.sleep(5)
56-
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
57-
items = items.json()
58-
for k in range (0, len (items)):
59-
itemID = items[k]['uuid']
60-
itemList.append(itemID)
61-
offset = offset + 200
62-
print offset
63-
elapsedTime = time.time() - startTime
64-
m, s = divmod(elapsedTime, 60)
65-
h, m = divmod(m, 60)
66-
print 'Item list creation time: ','%d:%02d:%02d' % (h, m, s)
67-
68-
f=csv.writer(open(filePath+'recordsWithDuplicate'+key+'.csv', 'wb'))
49+
f=csv.writer(open(filePath+'recordsWithDuplicate-'+key+'.csv', 'wb'))
6950
f.writerow(['itemID'])
70-
for number, itemID in enumerate(itemList):
71-
itemsRemaining = len(itemList) - number
72-
print 'Items remaining: ', itemsRemaining, 'ItemID: ', itemID
73-
metadata = requests.get(baseURL+'/rest/items/'+str(itemID)+'/metadata', headers=header, cookies=cookies, verify=verify).json()
74-
metadata = json.dumps(metadata)
75-
if metadata.find(searchString) != metadata.rfind(searchString):
76-
f.writerow([itemID])
51+
offset = 0
52+
recordsEdited = 0
53+
items = ''
54+
while items != []:
55+
endpoint = baseURL+'/rest/filtered-items?query_field[]='+key+'&query_op[]=exists&query_val[]=&limit=200&offset='+str(offset)
56+
print endpoint
57+
response = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
58+
items = response['items']
59+
for item in items:
60+
itemMetadataProcessed = []
61+
itemLink = item['link']
62+
metadata = requests.get(baseURL + itemLink + '/metadata', headers=header, cookies=cookies, verify=verify).json()
63+
metadata = json.dumps(metadata)
64+
if metadata.find(searchString) != metadata.rfind(searchString):
65+
f.writerow([itemLink])
66+
offset = offset + 200
67+
print offset
7768

7869
logout = requests.post(baseURL+'/rest/logout', headers=header, cookies=cookies, verify=verify)
7970

getCompleteAndUniqueValuesForAllKeys.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
for j in range (0, len (collections)):
5050
collectionID = collections[j]['uuid']
5151
print collectionID
52-
if collectionID != '4dccec82-4cfb-4583-a728-2cb823b15ef0':
52+
if collectionID != '45794375-6640-4efe-848e-082e60bae375':
5353
offset = 0
5454
items = ''
5555
while items != []:

getCompleteAndUniqueValuesForAllKeysInCommunity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
collections = requests.get(baseURL+'/rest/communities/'+str(communityID)+'/collections', headers=header, cookies=cookies, verify=verify).json()
5252
for j in range (0, len (collections)):
5353
collectionID = collections[j]['uuid']
54-
if collectionID != '4dccec82-4cfb-4583-a728-2cb823b15ef0':
54+
if collectionID != '45794375-6640-4efe-848e-082e60bae375':
5555
offset = 0
5656
items = ''
5757
while items != []:

getGlobalLanguageValues.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
collections = requests.get(baseURL+'/rest/communities/'+str(communityID)+'/collections', headers=header, cookies=cookies, verify=verify).json()
4141
for j in range (0, len (collections)):
4242
collectionID = collections[j]['uuid']
43-
if collectionID != '4dccec82-4cfb-4583-a728-2cb823b15ef0':
43+
if collectionID != '45794375-6640-4efe-848e-082e60bae375':
4444
offset = 0
4545
items = ''
4646
while items != []:

getLanguageValuesForKeys.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
collections = requests.get(baseURL+'/rest/communities/'+str(communityID)+'/collections', headers=header, cookies=cookies, verify=verify).json()
4343
for j in range (0, len (collections)):
4444
collectionID = collections[j]['uuid']
45-
if collectionID != '4dccec82-4cfb-4583-a728-2cb823b15ef0':
45+
if collectionID != '45794375-6640-4efe-848e-082e60bae375':
4646
offset = 0
4747
items = ''
4848
while items != []:

getRecordsAndValuesForKey.py

Lines changed: 31 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@
44
import csv
55
import time
66
import urllib3
7+
import argparse
8+
9+
parser = argparse.ArgumentParser()
10+
parser.add_argument('-k', '--key', help='the key to be searched. optional - if not provided, the script will ask for input')
11+
args = parser.parse_args()
12+
13+
if args.key:
14+
key = args.key
15+
else:
16+
key = raw_input('Enter the key: ')
717

818
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
919

@@ -23,8 +33,6 @@
2333
filePath = secrets.filePath
2434
verify = secrets.verify
2535

26-
key = raw_input('Enter key: ')
27-
2836
startTime = time.time()
2937
data = {'email':email,'password':password}
3038
header = {'content-type':'application/json','accept':'application/json'}
@@ -36,45 +44,29 @@
3644
userFullName = status['fullname']
3745
print 'authenticated'
3846

39-
itemList = []
40-
endpoint = baseURL+'/rest/communities'
41-
communities = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
42-
for i in range (0, len (communities)):
43-
communityID = communities[i]['uuid']
44-
collections = requests.get(baseURL+'/rest/communities/'+str(communityID)+'/collections', headers=header, cookies=cookies, verify=verify).json()
45-
for j in range (0, len (collections)):
46-
collectionID = collections[j]['uuid']
47-
if collectionID != '4dccec82-4cfb-4583-a728-2cb823b15ef0':
48-
offset = 0
49-
items = ''
50-
while items != []:
51-
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
52-
while items.status_code != 200:
53-
time.sleep(5)
54-
items = requests.get(baseURL+'/rest/collections/'+str(collectionID)+'/items?limit=200&offset='+str(offset), headers=header, cookies=cookies, verify=verify)
55-
items = items.json()
56-
for k in range (0, len (items)):
57-
itemID = items[k]['uuid']
58-
itemList.append(itemID)
59-
offset = offset + 200
60-
elapsedTime = time.time() - startTime
61-
m, s = divmod(elapsedTime, 60)
62-
h, m = divmod(m, 60)
63-
print 'Item list creation time: ','%d:%02d:%02d' % (h, m, s)
64-
6547
f=csv.writer(open(filePath+'recordsWith'+key+'.csv', 'wb'))
6648
f.writerow(['itemID']+['uri']+[key])
67-
for number, itemID in enumerate(itemList):
68-
itemsRemaining = len(itemList) - number
69-
print 'Items remaining: ', itemsRemaining, 'ItemID: ', itemID
70-
metadata = requests.get(baseURL+'/rest/items/'+str(itemID)+'/metadata', headers=header, cookies=cookies, verify=verify).json()
71-
for l in range (0, len (metadata)):
72-
if metadata[l]['key'] == key:
73-
metadataValue = metadata[l]['value']
74-
for l in range (0, len (metadata)):
75-
if metadata[l]['key'] == 'dc.identifier.uri':
76-
uri = metadata[l]['value']
77-
f.writerow([itemID]+[uri]+[metadataValue.encode('utf8')])
49+
offset = 0
50+
recordsEdited = 0
51+
items = ''
52+
while items != []:
53+
endpoint = baseURL+'/rest/filtered-items?query_field[]='+key+'&query_op[]=exists&query_val[]=&limit=200&offset='+str(offset)
54+
print endpoint
55+
response = requests.get(endpoint, headers=header, cookies=cookies, verify=verify).json()
56+
items = response['items']
57+
for item in items:
58+
itemMetadataProcessed = []
59+
itemLink = item['link']
60+
metadata = requests.get(baseURL + itemLink + '/metadata', headers=header, cookies=cookies, verify=verify).json()
61+
for l in range (0, len (metadata)):
62+
if metadata[l]['key'] == key:
63+
metadataValue = metadata[l]['value'].encode('utf-8')
64+
for l in range (0, len (metadata)):
65+
if metadata[l]['key'] == 'dc.identifier.uri':
66+
uri = metadata[l]['value']
67+
f.writerow([itemLink]+[uri]+[metadataValue])
68+
offset = offset + 200
69+
print offset
7870

7971
logout = requests.post(baseURL+'/rest/logout', headers=header, cookies=cookies, verify=verify)
8072

0 commit comments

Comments
 (0)