Beispiel #1
0
def updateUser(user, name, email, password, bank, active, isadmin):
	sha_pass = sha.new(password)
	userdata = dict()
	userdata['email'] = email
	userdata['name'] = name
	userdata['bank'] = bank
	userdata['password'] = sha_pass.hexdigest()
	userdata['active'] = active
	userdata['isadmin'] = isadmin
	userdata['userid'] = user
	print "Adding user = "******" to list"
	firebase.curlPut(firebase_url + "/users/" + user + ".json", json.dumps(userdata))
Beispiel #2
0
def pushResults(gpid, gpresultlist, qresultlist, fastest):
#        if (logging.isEnabledFor(logging.DEBUG)):
        logging.debug ("Gp results  ", json.dumps(gpresultlist))
        logging.debug ("Qu results  ", json.dumps(qresultlist))
        logging.debug ("Fastest lap ", json.dumps(fastest))
        
	driverlist = drivers.getAllDriverData(firebase_url, season)
	gpdata = calendar.getCalendarData(firebase_url, season, gpid)

	results = dict()

	if fastest:
		fastestlap = dict()
		driver = driverlist[fastest]
		fastestlap['d_id'] = driver['d_id']
		fastestlap['info'] = driver['d_name']
		fastestlap['points'] = 3
		results['fastestlap'] = fastestlap

	results['qlresults'] = []
	results['gpresults'] = []

	for idx, val in enumerate(qresultlist):
		if val in driverlist:
			driver = driverlist[val]
			result = dict()
			result['driverid'] = driver['d_id']
			result['position'] = idx + 1
			result['points'] = len(qresultlist) - idx
			result['info'] = driver['d_name']
			results['qlresults'].append(result)
			gpdata['gp_status'] = __GP_QUAL
	
	for idx, val in enumerate(gpresultlist):
		if val in driverlist:
			driver = driverlist[val]
			result = dict()
			result['driverid'] = driver['d_id']
			result['position'] = idx + 1
			result['points'] = len(gpresultlist) - idx
			result['info'] = driver['d_name']
			results['gpresults'].append(result)
			gpdata['gp_status'] = __GP_RACE
	
	gpdata['results'] = results
	query = "/calendar/" + str(gpdata['gp_year']) + "/" + str(gpdata['gp_id']) + ".json"
	logging.info ("Pushing results to " + query)
	firebase.curlPut(firebase_url + query, json.dumps(gpdata))
Beispiel #3
0
def checkBetvalues(gp_id, user_id):
	gpdata = calendar.getCalendarData(firebase_url, season, gp_id)
	userlist = profiles.getUserData(firebase_url, user_id)
	
	logging.info ("Checking bet values for gp = " + gp_id)						
	for user in userlist:
                logging.info ("-----------------------------------------------------------------")
		userid = user['userid']
		currentbet = dict()
		logging.info ("Checking bet values for user = "******"User " + userid + " has bet for " + gp_id )
			userbets = user['bets']
			currentbet  = userbets[gp_id]
			if 'results' in gpdata:
				currentbet = calculateScore(currentbet, gpdata['results'])
				
		else: 
			logging.info ("User " + userid + " has no bets for gp " + gp_id)
			currentbet = dict()
			currentbet['status'] = __BET_MISSING
			currentbet['gp_id'] = gp_id
			currentbet['gp_name'] = gpdata['gp_short_name']
			currentbet['userid'] = userid
			currentbet['totalpoints'] = 0
			
		query = "/users/" + str(userid) + "/bets/" + str(gp_id) + ".json" 
		firebase.curlPut(firebase_url + query, json.dumps(currentbet))
		query = "/users/" + str(userid) + "/scores/" + str(gp_id) + ".json" 
		firebase.curlPut(firebase_url + query, json.dumps(currentbet))
		query = "/scores/" + season + "/" + str(gp_id) + "/" + str(userid) + ".json" 
		firebase.curlPut(firebase_url + query, json.dumps(currentbet))		
		query = "/calendar/" + season + "/" + str(gp_id) + "/scores/" + str(userid) + ".json" 
		firebase.curlPut(firebase_url + query, json.dumps(currentbet))		
		
	if gpdata['gp_status'] < __GP_QUAL:
		closeGP(gpdata)
Beispiel #4
0
def pushDriverData(firebase_url, year, driverlist):
	for key in driverlist:
		driver = key
		print "Refresh driver " + json.dumps(driver) + "."		
		query = "/drivers/" + year + "/" + str(driver['d_id']) + ".json"
		firebase.curlPut(firebase_url + query, json.dumps(driver))
Beispiel #5
0
def pushGpData(firebase_url, year, gpdata):
    print "Push gp data " + json.dumps(gpdata) + "."
    query = "/calendar/" + year + "/" + str(gpdata["gp_id"]) + ".json"
    firebase.curlPut(firebase_url + query, json.dumps(gpdata))
Beispiel #6
0
def pushAllCalendarData(year, calendarlist):
    for key in calendarlist:
        calendar = key
        print "Refresh calendar " + json.dumps(calendar) + "."
        query = "/calendar/" + year + "/" + str(calendar["gp_id"]) + ".json"
        firebase.curlPut(firebase_url + query, json.dumps(calendar))
Beispiel #7
0
def parseXMLtoJSON(xml_root):		
	global place
	
	beginPosition = xml_root.find('.//{0}beginPosition'.format(gml_namespace))
	endPosition = xml_root.find('.//{0}endPosition'.format(gml_namespace))
	geoid = xml_root.find('.//{0}identifier'.format(gml_namespace))
	gmlpos = xml_root.find('.//{0}pos'.format(gml_namespace))
	timezone = xml_root.find('.//{0}timezone'.format(target_namespace))
	country = xml_root.find('.//{0}country'.format(target_namespace))
	region = xml_root.find('.//{0}region'.format(target_namespace))
	print ("Report dates:" + beginPosition.text, "to " + endPosition.text)
	print ("Place: " + place, " geoid: " + geoid.text, " gml pos: " + gmlpos.text)
	

	measurements = xml_root.findall(".//{0}MeasurementTimeseries".format(wml2_namespace))
	for measurement in measurements:
		m_id = measurement.get('{0}id'.format(gml_namespace))		
		# list which values will be included in an array variable - or better one: make a json mapping
		if m_id == 'mts-1-1-Temperature':
			printMeasurementTVPs(measurement, "temp")
		if m_id == 'mts-1-1-humidity':
			printMeasurementTVPs(measurement, "humi")
		if m_id == 'mts-1-1-WindSpeedMS':
			printMeasurementTVPs(measurement, "wspd")
		if m_id == 'mts-1-1-WindDirection':
			printMeasurementTVPs(measurement, "wdir")
		if m_id == 'mts-1-1-TotalCloudCover':
			printMeasurementTVPs(measurement, "ccvr")
		if m_id == 'mts-1-1-precipitationamount':
			printMeasurementTVPs(measurement, "prct")
				
	root = dict()
	meta = dict()
	#root['place'] = place
	root['geoid'] = geoid.text
	root['gml_pos'] = gmlpos.text
	root['timezone'] = timezone.text
	root['region'] = region.text
	root['country'] = country.text
	meta['geoid'] = geoid.text
	meta['gml_pos'] = gmlpos.text
	meta['region'] = region.text
	meta['timezone'] = timezone.text
	meta['country'] = country.text
	meta['lastupdate'] = datetime.today().strftime("%Y-%m-%dT%H:%S:%MZ")
		
	dictlist = []
		
	for value in sorted(weather_table.items()):		
		key = value[0]
		#print(key)
		dictlist.append(weather_table.get(key))
	
	root['data'] = dictlist;
	
	with open(place + '.json', 'w') as outfile:
		json.dump(root, outfile, sort_keys=True, indent=4, separators=(',', ': '), ensure_ascii=False)
	outfile.close()

	firebase.curlPut("https://activeweather.firebaseIO.com/observations/data/" + geoid.text + ".json", json.dumps(root))	
	firebase.curlPut("https://activeweather.firebaseIO.com/observations/meta/" + geoid.text + ".json", json.dumps(meta))