if (metadata_str is None): new_entry = True # Don't need a real copy - reference will do old_metadata = metadata else: new_entry = False js = json.loads(metadata_str) except Exception, e: self.logerror(err_str + str(e)) if content_added: os.remove(cfn) raise sys.exc_info()[0](err_str + str(e)) if not new_entry: old_metadata = NetInfMetaData() old_metadata.set_json_val(js) if not old_metadata.merge_latest_details(metadata): err_str = "put_cache: Mismatched information in metadata update: %s" % \ ni_url self.logerror(err_str) if content_added: os.remove(cfn) raise ValueError(err_str) err_str = "put_cache: problem storing metadata record %s: " % mfk try: new_metadata_str = json.dumps(old_metadata.json_val()) except Exception, e: self.logerror(err_str + str(e)) if content_added: os.remove(cfn)