Example #1
0
	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)
Example #2
0
	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))