Example #1
0
def make_special_user():
	house_area, house_type, income, cooler_heater_type = 1, 1, 1, 1
	user_email = "User%d%d%d%d"%(house_area, house_type, income, cooler_heater_type)
	password = '******'
	
	u = User(user_email, password)
	db.session.add(u)
	db.session.commit()

	ui = UserInfo._make_user_info_with_email(user_email, house_area, house_type, income, cooler_heater_type)
	db.session.add(ui)
	db.session.commit()

	DEFAULT_YEAR, DEFAULT_MOONTH, DEFAULT_DAY, DEFAULT_TIME = 2013, 12, 1, 0

	special_energy_set = [3, 3, 5, 4, 6, 5, 2, 9, 1, 8, 5, 7, 4, 9, 3, 5, 2, 7, 7, 6, 1, 1, 1, 1, 6, 2, 9, 5, 9, 5]

	dt = datetime(DEFAULT_YEAR, DEFAULT_MOONTH, DEFAULT_DAY, DEFAULT_TIME)
	for day_plus in xrange(1, 31):
		for time_plus in xrange(0,24):
			
			
			energy_amount = special_energy_set[day_plus-1]*200

			ed = EnergyData._make_energy_data_with_email(user_email, dt, energy_amount)
			db.session.add(ed)
			dt += timedelta(hours=1)

	db.session.commit()
Example #2
0
	def dispatch_request(self):
		try:
			date = datetime.now().day
			
			email = request.form['userEmail']

			daily_datas = EnergyData.get_month_energy_datas(email)
			standby_datas = EnergyData.get_month_standby_datas(email)
			friend_dats = EnergyData.get_month_energy_datas('User1111')

			result = {'daily_datas':daily_datas, 'standby_datas':standby_datas, 'friend_datas':friend_dats, 'day':date}
			result = json.dumps(result) 
			return result

		except Exception, e:
			print e
			return 'False'
Example #3
0
def make_energy_data(user_email, energy_amount):
	DEFAULT_YEAR, DEFAULT_MOONTH, DEFAULT_DAY, DEFAULT_TIME = 2013, 12, 1, 0
	minus_flag = -1

	dt = datetime(DEFAULT_YEAR, DEFAULT_MOONTH, DEFAULT_DAY, DEFAULT_TIME)
	for day_plus in xrange(1, 31):
		for time_plus in xrange(0,24):
			
			growth_amount = random.random()*10*minus_flag
			energy_amount += growth_amount
			minus_flag *= -1

			ed = EnergyData._make_energy_data_with_email(user_email, dt, energy_amount)
			db.session.add(ed)
			dt += timedelta(hours=1)

	db.session.commit()
Example #4
0
	def dispatch_request(self):
		try:
			email = request.form['userEmail']
			submit_time = request.form['submitTime']
			energy_amount = int(request.form['energyAmount'])

			energy = EnergyData._make_energy_data_with_email(email, submit_time, energy_amount)
			
			db.session.add(energy)
			db.session.commit()

			return 'True'

		except Exception, e:

			print e
			return 'False'
Example #5
0
	def get_avg_energy_data_with_date(self, start_date, end_date):
		try:
			user_infos = UserInfo.query.filter_by( house_area=self.house_area \
				,house_type=self.house_type\
				,income_type=self.income_type\
				,cooler_heater_type=self.cooler_heater_type).all()

			watt_sum = 0
			count = 0
			for user_info in user_infos:
				user_id = user_info.user.id
				eds = EnergyData.get_energy_datas_with_date(user_id, start_date, end_date)
				for ed in eds:
					count+=1
					watt_sum += ed.energy_amount
			count = (count/24)*len(user_infos)
			result = "%.2f"%(float(watt_sum)/count)
		except Exception, e:
			print user_infos
			return 0