コード例 #1
0
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
コード例 #2
0
ファイル: backend.py プロジェクト: dbeucke/total-impact-core
    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)
コード例 #3
0
ファイル: backend.py プロジェクト: dbeucke/total-impact-core
    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)