def get_taobao_items(top, items, fn_join_iids=lambda x:','.join(x), batch_size=20, calllimit=60, expire=600): request = TOPRequest('taobao.items.list.get') for chunk in waitlimit(calllimit, 60.0, batch(items, batch_size)): # calllimit for minutes chunk = list(chunk) request['fields'] = "detail_url,cid,num_iid,title,nick,pic_url,num,price,has_showcase,approve_status,list_time,delist_time,modified,stuff_status,is_timing,post_fee,express_fee,ems_fee, has_discount,freight_payer" request['num_iids'] = fn_join_iids(chunk) results = try_execute(top, request, expire) #logger.debug('Calling %s(%s) -> %s', request.method_name, request.api_params, results) yield TopRequests(chunk, results)
def get_deleted_items(top, items, fn_join_iids=lambda x:','.join(map(str, x)), batch_size=20, calllimit=60, expire=600): request = TOPRequest('taobao.items.list.get') for chunk in waitlimit(calllimit, 60.0, batch(items, batch_size)): chunk = list(chunk) request['fields'] = "num_iid,approve_status" request['num_iids'] = fn_join_iids(chunk) results = try_execute(top, request, expire) logger.debug('Calling %s(%s) -> %s', request.method_name, request.api_params, results) try: # TODO: request may not show in result for item in results['items']['item']: if item['approve_status'] != 'onsale': yield item except: logger.warn("get_deleted_items %s", traceback.format_exc())
def get_taobao_items(top, items, fn_join_iids=lambda x: ','.join(x), batch_size=20, calllimit=60, expire=600): request = TOPRequest('taobao.items.list.get') for chunk in waitlimit(calllimit, 60.0, batch(items, batch_size)): # calllimit for minutes chunk = list(chunk) request[ 'fields'] = "detail_url,cid,num_iid,title,nick,pic_url,num,price,has_showcase,approve_status,list_time,delist_time,modified,stuff_status,is_timing,post_fee,express_fee,ems_fee, has_discount,freight_payer" request['num_iids'] = fn_join_iids(chunk) results = try_execute(top, request, expire) #logger.debug('Calling %s(%s) -> %s', request.method_name, request.api_params, results) yield TopRequests(chunk, results)
def get_deleted_items(top, items, fn_join_iids=lambda x: ','.join(map(str, x)), batch_size=20, calllimit=60, expire=600): request = TOPRequest('taobao.items.list.get') for chunk in waitlimit(calllimit, 60.0, batch(items, batch_size)): chunk = list(chunk) request['fields'] = "num_iid,approve_status" request['num_iids'] = fn_join_iids(chunk) results = try_execute(top, request, expire) logger.debug('Calling %s(%s) -> %s', request.method_name, request.api_params, results) try: # TODO: request may not show in result for item in results['items']['item']: if item['approve_status'] != 'onsale': yield item except: logger.warn("get_deleted_items %s", traceback.format_exc())