Пример #1
0
	def get(self, action=None):

		app.fetch.mpservers_status_update()
		if self.request.get("return"):
			self.redirect("/mpservers/")
		return
		""" Paarses out the http://mpmap01.flightgear.org/mpstatus/ page """
		from BeautifulSoup import BeautifulSoup 
		
		## fetch content 
		result = urlfetch.fetch(conf.MP_STATUS_URL)
		if result.status_code == 200:
				
			soup = BeautifulSoup.BeautifulSoup(result.content)
			
			## find all tables
			tables = soup.findAll('table')
			
			## Parse the MP status ie first table.. 3 cols = descripioon, "-" and OK or Down
			rows =  tables[0].findAll(['tr'])

			## Loop rows and update local store
			online = 0
			down = 0
			for row in rows:			
				cells = row.findAll('td')
				server_name = cells[0].text.split(" ", 1)[0] 
				status = cells[2].text  

				query = db.GqlQuery("SELECT * FROM  MPServer where host = :1", server_name) 
				server = query.get()
				if not server:
					print "NOT= server error"
				else:
					server.status = status
					if status == "OK":
						online += 1
						server.status_updated = datetime.datetime.now()
					else:
						down += 1
					server.put()
		status_info = {'updated': datetime.datetime.now(), 'up': online, 'down': down, 'total': online + down}
		if not memcache.set("status_info", status_info):
			print "memcache error"

		print "all done"
		return
		query = MPServer.all()
		servers = query.fetch(10000)
		#print servers
		template_values = {
			'conf': conf, 'path': '/mpservers/', 'title': 'MP Servers Database',
			'servers': servers
		}
		path = os.path.join(os.path.dirname(__file__), 'templates/mpservers.html')
		self.response.out.write(template.render(path, template_values))
Пример #2
0
	def get(self):

		template_values = {
			'conf': conf, 'path': '/mpservers/', 'title': 'MP Server import #######'
		}

		query = db.GqlQuery("SELECT * FROM  MPServer where no = :1", self.request.get("no")) 
		server = query.get()

		x =  "edit"
		if not server:
			x =  "create"
			server = MPServer()
			server.server = self.request.get("server")
		
		server.no = self.request.get("no")
		server.description = self.request.get("description")
		server.host = self.request.get("host")
		server.port = self.request.get("port")
		server.ip = self.request.get("ip")
		server.dev = self.request.get("dev") == "1"
		server.location = self.request.get("location")
		server.put()
		#if not memcache.set("server/%s" % server.server, server):
		#	print "error"
		#data['loaded'] = True
		#return data

		## todo render proper response
		print "id=", self.request.get("id")

		path = os.path.join(os.path.dirname(__file__), 'templates/mpservers.html')
		self.response.out.write("id=" + x )#template.render(path, template_values))
Пример #3
0
	def get(self):
		reply = {"no:": self.request.get("no") }
		query = db.GqlQuery("SELECT * FROM  MPServer where no = :1", self.request.get("no")) 
		server = query.get()
	
		x =  "edit"
		if not server:
			x =  "create"
			server = MPServer()
			server.server = self.request.get("server")
		
		server.no = self.request.get("no")
		server.description = self.request.get("description")
		server.host = self.request.get("host")
		server.port = self.request.get("port")
		server.ip = self.request.get("ip")
		server.dev = self.request.get("dev") == "1"
		server.location = self.request.get("location")
		server.put()
		#if not memcache.set("server/%s" % server.server, server):
		#	print "error"
		#data['loaded'] = True
		#return data

		## todo render proper response
		

		
		self.response.out.write(json.dumps(reply))