def post(self): model_kind = self.request.get('model_kind') frequency = self.request.get('frequency') date = str_to_date(self.request.get('date_string')) store_key_name = self.request.get('store_key_name') logging.info('Cleanupworker model kind: %s frequency: \ %s store: %s' % (model_kind, frequency, store_key_name)) recursion_flag = False if model_kind == 'ProductRenderer': store_key = Key.from_path('Store', store_key_name) query = get_renderer_query_for_frequency(frequency, date, store_key) keys = query.fetch(200, TEMPLATE_PRODUCT_COUNT) elif model_kind == 'ProductCounter': store_key = Key.from_path('Store', store_key_name) query = get_counter_query_for_frequency(frequency, date, store_key) keys = query.fetch(200) elif model_kind == 'UserCounter': query = USER_COUNTER_CLEANUP_TARGETS keys = query.fetch(200) else: logging.error('No type found for CleanupWorker :%s' % model_kind) if len(keys): recursion_flag = True pdb.delete(keys) if recursion_flag: logging.info('Enqueing cleanup for model %s' % model_kind) enqueue_cleanup(model_kind, frequency, str(date), store_key_name)
def post(self): model_kind = self.request.get('model_kind') frequency = self.request.get('frequency') date = str_to_date(self.request.get('date_string')) store_key_name = self.request.get('store_key_name') logging.info('Cleanupworker model kind: %s frequency: \ %s store: %s' %(model_kind,frequency,store_key_name)) recursion_flag = False if model_kind == 'ProductRenderer': store_key = Key.from_path('Store',store_key_name) query = get_renderer_query_for_frequency(frequency, date, store_key) keys = query.fetch(200, TEMPLATE_PRODUCT_COUNT) elif model_kind == 'ProductCounter': store_key = Key.from_path('Store',store_key_name) query = get_counter_query_for_frequency(frequency, date, store_key) keys = query.fetch(200) elif model_kind == 'UserCounter': query = USER_COUNTER_CLEANUP_TARGETS keys = query.fetch(200) else: logging.error('No type found for CleanupWorker :%s' %model_kind) if len(keys): recursion_flag = True pdb.delete(keys) if recursion_flag: logging.info('Enqueing cleanup for model %s' %model_kind) enqueue_cleanup(model_kind,frequency,str(date),store_key_name)
def create_template_data(locale, frequency, date, request, **kwargs): current_date = time_util.today() current_period_flag = False query_cache_expiration = 0 store_key = Store.key_for_locale(locale) query = get_renderer_query_for_frequency(frequency, date, store_key) result_data = {} if len(request.query_string) > 0: result_data['query_string'] = '?' + request.query_string request_url = request.url[:request.url.find('?')] else: result_data['query_string'] = '' request_url = request.url #Debugger for turkey ban filter try: request.params['ban'] root = 'http://tweethitapp.appspot.com' except KeyError: root = root_url if frequency == DAILY: result_data['next_href'] = create_day_href(locale, date, 1, root) result_data['prev_href'] = create_day_href(locale, date, -1, root) if date == current_date: current_period_flag = True elif frequency == WEEKLY: result_data['next_href'] = create_week_href(locale, date, 1, root) result_data['prev_href'] = create_week_href(locale, date, -1, root) if date.year == current_date.year and \ date.isocalendar()[1] == current_date.isocalendar()[1]: current_period_flag = True elif frequency == MONTHLY: if date.year == current_date.year and \ date.month == current_date.month: current_period_flag = True result_data['next_href'] = create_month_href(locale, date, 1, root) result_data['prev_href'] = create_month_href(locale, date, -1, root) else: raise RendererException('Problem creating template data for \ locale: %s, frequency: %s, kwargs: %s' % (locale, frequency, kwargs)) groups = defaultdict(int) products = query.fetch(TEMPLATE_PRODUCT_COUNT) for item in products: groups[item.product_group] += 1 if len(item.title) > 72: item.title = item.title[:72] + '...' group_tuples = [] keys = sorted(groups.keys()) for key in keys: group_tuples.append((key, groups[key])) result_data['date'] = date result_data['current_period_flag'] = current_period_flag result_data['products'] = products result_data['group_tuples'] = group_tuples result_data['assoc_id'] = secret.ASSOCIATE_DICT[locale] result_data['root_url'] = root result_data['daily_ranking_href'] = root + '/' + locale + '/day/' result_data['weekly_ranking_href'] = root + '/' + locale + '/week/' result_data['monthly_ranking_href'] = root + '/' + locale + '/month/' return result_data
def create_template_data(locale,frequency,date,request,**kwargs): current_date = time_util.today() current_period_flag = False query_cache_expiration = 0 store_key = Store.key_for_locale(locale) query = get_renderer_query_for_frequency(frequency,date,store_key) result_data = {} if len(request.query_string) > 0: result_data['query_string'] = '?'+request.query_string request_url = request.url[:request.url.find('?')] else: result_data['query_string'] = '' request_url = request.url #Debugger for turkey ban filter try: request.params['ban'] root = 'http://tweethitapp.appspot.com' except KeyError: root = root_url if frequency == DAILY: result_data['next_href'] = create_day_href(locale, date, 1,root) result_data['prev_href'] = create_day_href(locale, date, -1,root) if date == current_date: current_period_flag = True elif frequency == WEEKLY: result_data['next_href'] = create_week_href(locale, date, 1,root) result_data['prev_href'] = create_week_href(locale, date, -1,root) if date.year == current_date.year and \ date.isocalendar()[1] == current_date.isocalendar()[1]: current_period_flag = True elif frequency == MONTHLY: if date.year == current_date.year and \ date.month == current_date.month: current_period_flag = True result_data['next_href'] = create_month_href(locale, date, 1,root) result_data['prev_href'] = create_month_href(locale, date, -1,root) else: raise RendererException('Problem creating template data for \ locale: %s, frequency: %s, kwargs: %s' %(locale,frequency,kwargs)) groups = defaultdict(int) products = query.fetch(TEMPLATE_PRODUCT_COUNT) for item in products: groups[item.product_group] += 1 if len(item.title) > 72: item.title = item.title[:72]+'...' group_tuples = [] keys = sorted(groups.keys()) for key in keys: group_tuples.append((key,groups[key])) result_data['date'] = date result_data['current_period_flag'] = current_period_flag result_data['products'] = products result_data['group_tuples'] = group_tuples result_data['assoc_id'] = secret.ASSOCIATE_DICT[locale] result_data['root_url'] = root result_data['daily_ranking_href'] = root+'/'+locale+'/day/' result_data['weekly_ranking_href'] = root+'/'+locale+'/week/' result_data['monthly_ranking_href'] = root+'/'+locale+'/month/' return result_data