Skip to content

Instantly share code, notes, and snippets.

@jjjake
Created January 14, 2013 21:25
Show Gist options
  • Select an option

  • Save jjjake/4533654 to your computer and use it in GitHub Desktop.

Select an option

Save jjjake/4533654 to your computer and use it in GitHub Desktop.
def write_metadata(identifier, metadata={}, target='metadata'):
log_in_cookies = {'logged-in-sig': os.environ['LOGGED_IN_SIG'],
'logged-in-user': os.environ['LOGGED_IN_USER']}
url = 'http://archive.org/metadata/%s' % identifier
src = requests.get(url).json().get(target, {})
dest = dict((src.items() + metadata.items()))
json_patch = jsonpatch.make_patch(src, dest).patch
patch = [{p['op']: p['path'], 'value': p['value']} for p in json_patch]
if patch == []:
return 'no changes made to Metadata.'
params = {'-patch': json.dumps(patch), '-target': target}
r = requests.patch(url, params=params, cookies=log_in_cookies)
return r.content
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment