def add_to_database_if_nonzero( tiid, new_content, method_name, provider_name): if new_content: # don't need item with metrics for this purpose, so don't bother getting metrics from db item_obj = item_module.Item.query.get(tiid) if item_obj: if method_name=="aliases": if isinstance(new_content, list): new_content = item_module.alias_dict_from_tuples(new_content) item_obj = item_module.add_aliases_to_item_object(new_content, item_obj) elif method_name=="biblio": updated_item_doc = item_module.update_item_with_new_biblio(new_content, item_obj, provider_name) elif method_name=="metrics": for metric_name in new_content: item_obj = item_module.add_metric_to_item_object(metric_name, new_content[metric_name], item_obj) else: logger.warning(u"ack, supposed to save something i don't know about: " + str(new_content)) return
def update_item_with_new_aliases(cls, alias_dict, item_doc): if alias_dict == item_doc["aliases"]: item_doc = None else: item_obj = item_module.add_aliases_to_item_object(alias_dict, item_doc) merged_aliases = item_module.merge_alias_dicts(alias_dict, item_doc["aliases"]) item_doc["aliases"] = merged_aliases return(item_doc)
def update_item_with_new_aliases(cls, alias_dict, item_doc): if alias_dict == item_doc["aliases"]: item_doc = None else: item_obj = item_module.add_aliases_to_item_object( alias_dict, item_doc) merged_aliases = item_module.merge_alias_dicts( alias_dict, item_doc["aliases"]) item_doc["aliases"] = merged_aliases return (item_doc)