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
Exemple #2
0
 def update_item_with_new_metrics(cls, metric_name, metrics_method_response,
                                  item_doc):
     item_doc = item_module.add_metrics_data(metric_name,
                                             metrics_method_response,
                                             item_doc)
     item_obj = item_module.add_metric_to_item_object(
         metric_name, metrics_method_response, item_doc)
     return (item_doc)
Exemple #3
0
 def update_item_with_new_metrics(cls, metric_name, metrics_method_response, item_doc):
     item_doc = item_module.add_metrics_data(metric_name, metrics_method_response, item_doc)
     item_obj = item_module.add_metric_to_item_object(metric_name, metrics_method_response, item_doc)
     return(item_doc)