|
6 | 6 | import argparse |
7 | 7 | from datetime import datetime |
8 | 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 Development' |
| 16 | +else: |
| 17 | + print 'Editing Development' |
| 18 | + |
9 | 19 | parser = argparse.ArgumentParser() |
10 | 20 | parser.add_argument('-1', '--replacedValue', help='the value to be replaced. optional - if not provided, the script will ask for input') |
11 | 21 | parser.add_argument('-2', '--replacementValue', help='the replacement value. optional - if not provided, the script will ask for input') |
|
37 | 47 | print len(ids) |
38 | 48 |
|
39 | 49 | f=csv.writer(open('doUrlEdits'+datetime.now().strftime('%Y-%m-%d %H.%M.%S')+'.csv', 'wb')) |
40 | | -f.writerow(['uri']+['originalValue']+['editedValue']+['doPost']) |
| 50 | +f.writerow(['endpoint']+['doPost']) |
41 | 51 |
|
42 | 52 | for id in ids: |
| 53 | + print id |
43 | 54 | endpoint = '/repositories/3/digital_objects/'+str(id) |
44 | 55 | output = requests.get(baseURL + endpoint, headers=headers).json() |
45 | | - value = output['digital_object_id'] |
46 | | - editedValue = value.replace(replacedValue, replacementValue) |
47 | | - output['digital_object_id'] = editedValue |
| 56 | + originalOutput = output |
| 57 | + originalIdValue = output['digital_object_id'] |
| 58 | + editedIdValue = originalIdValue.replace(replacedValue, replacementValue) |
| 59 | + output['digital_object_id'] = editedIdValue |
48 | 60 | file_versions = output['file_versions'] |
49 | | - if value != editedValue: |
50 | | - for file_version in file_versions: |
51 | | - file_version['file_uri'] = editedValue |
52 | | - output['file_versions'] = file_versions |
| 61 | + fileUriChange = False |
| 62 | + for file_version in file_versions: |
| 63 | + originalUriValue = file_version['file_uri'] |
| 64 | + print originalUriValue |
| 65 | + editedUriValue = originalUriValue.replace(replacedValue, replacementValue) |
| 66 | + if originalUriValue != editedUriValue: |
| 67 | + file_version['file_uri'] = editedUriValue |
| 68 | + fileUriChange = True |
| 69 | + output['file_versions'] = file_versions |
| 70 | + if originalIdValue != editedIdValue or fileUriChange == True: |
53 | 71 | output = json.dumps(output) |
54 | 72 | doPost = requests.post(baseURL + '/repositories/3/digital_objects/'+str(id), headers=headers, data=output).json() |
55 | 73 | print doPost |
56 | | - f.writerow([endpoint]+[value]+[editedValue]+[doPost]) |
57 | | - |
| 74 | + f.writerow([endpoint]+[doPost]) |
58 | 75 |
|
59 | 76 | elapsedTime = time.time() - startTime |
60 | 77 | m, s = divmod(elapsedTime, 60) |
|
0 commit comments