def test_db_item_id_new_to_old(self): itemid_list = ['novl123456', 'novl32435', 'novlerewqerq', 'novl432342234'] prefer_res = {} for itemid in itemid_list: self.assertEqual( True, db_models_update.set_db_offline_item_id_new_to_old(DataDef.get_resource_type_from_item_id(itemid), itemid, 'old_'+itemid)) prefer_res[itemid] = 'old_'+itemid res = db_models.get_db_offline_item_id_new_to_old(itemid_list) self.assertEqual(True, res[0]) self.assertEqual(prefer_res, res[1])
def get_offline_item_id_new_to_old(new_item_id_list): cache_errorCode, cache_res = cache_models.get_cache_offline_item_id_new_to_old(new_item_id_list) return_none_keys = get_return_none_keys(cache_res, new_item_id_list) db_errorCode = True db_res = {} if len(return_none_keys) > 0: logger.warning('get_offline_item_id_new_to_old, cache has return none key: %s' % return_none_keys) db_errorCode, db_res = db_models.get_db_offline_item_id_new_to_old(return_none_keys) #logger.debug('db_Code: %s, db_res:%s' % (db_errorCode, db_res)) for key , data in db_res.items(): cache_models.set_cache_offline_item_id_new_to_old(key, data) logger.debug('get_offline_item_id_new_to_old, set cache new_item_id[%s]' % key) if True == db_errorCode: for key in [x for x in return_none_keys if x not in db_res.keys()]: cache_models.set_cache_offline_item_id_new_to_old(key, DataDef.CACHE_DEFAULT_NONE_VALUE, DataDef.CACHE_NONE_EXPIRE_SECONDS) logger.debug('get_offline_item_id_new_to_old, set cache new_item_id[%s] None Value' % key) return (cache_errorCode and db_errorCode, merge_db_cache_result(cache_res, db_res))