def get(self): """ Returns a simple HTML form for home """ try: ##: We will look at the entire year...once more trafic hits go to a week or day counterPeriod = str(datetime.now())[0:4] # 2013 trendingProducts = LivecountCounter.get_top_objects(namespace="products", period=counterPeriod, quantity=4) trendingCarts = LivecountCounter.get_top_objects(namespace="publicCarts", period=counterPeriod, quantity=4) params = { 'trendingProducts':trendingProducts, 'trendingCarts':trendingCarts, } except: params = {'trendingProducts':None,'trendingCarts':None} logging.error('Error getting trendingProducts from LiveCounter during HomeRequestHandler') finally: self.bournee_template('home.html', **params)
def get(self): namespace = self.request.get('namespace') period_type = self.request.get('period_type') period_types = self.request.get('period_types').replace(" ", "") period = self.request.get('period') name = self.request.get('counter_name') delta = self.request.get('delta') fetch_limit = self.request.get('fetch_limit') if not namespace: namespace = "default" if not period_type: period_type = PeriodType.DAY if not period_types: period_types = PeriodType.DAY + "," + PeriodType.WEEK if not period: period = str(datetime.now()).split(".")[0] if not delta: delta = 1 if not fetch_limit: fetch_limit = "20" modified_counter = None if name: keyName = LivecountCounter.KeyName(namespace, period_type, period, name) key = ndb.Key(LivecountCounter, keyName ) modified_counter = key.get() counter_entities_query = LivecountCounter.query().order('-count') if namespace: counter_entities_query.filter(LivecountCounter.namespace == namespace) if period_type: counter_entities_query.filter(LivecountCounter.period_type == period_type) scoped_period = PeriodType.find_scope(period_type, period) if period: counter_entities_query.filter(LivecountCounter.period == scoped_period) counter_entities = counter_entities_query.fetch(int(fetch_limit)) logging.info("counter_entities: " + str(counter_entities)) stats = counter.GetMemcacheStats() template_values = { 'namespace': namespace, 'period_type': period_type, 'period_types': period_types, 'period': period, 'counter_name': name, 'delta': delta, 'modified_counter': modified_counter, 'counters': counter_entities, 'stats': stats } logging.info("template_values: " + str(template_values)) template_file = os.path.join(os.path.dirname(__file__), 'counter_admin.html') self.response.out.write(template.render(template_file, template_values))