コード例 #1
0
ファイル: Listener.py プロジェクト: haidark/rahat
	def run(self):
		try:
			logMsg = 'Place holder for log message'
			#prepend parent ID to log message
			parentID = str(self.parentID)
			#connect to the database by constructing a DBManager object
			db = DBManager()
			#get devID from client
			devID = self.getChunk()		
			
			#check if node exists
			try:
				node = db.getNode(devID)
				nID = node['nID']
				
				#get the location time and data from the client
				locTime = self.getChunk()
				lat = self.getChunk()
				lon = self.getChunk()
				
				#update node location in nodes table regardless of whether it is active
				db.updateNodeLocation(nID, locTime, lat, lon)
				sessionTblName = node['session']
				if sessionTblName == None:
					logMsg = "(-) %s - Node is not active. Device ID: %s" % (parentID, devID)
				else:
					#write the location data to DB
					db.createLocation(sessionTblName, nID, locTime, lat, lon)
					logMsg = "(+) %s - Received data. Device ID: %s" % (parentID, devID)
			#if the node does not exist
			except NodeError:
				logMsg = "(-) %s - Device at %s not recognized. Device ID: %s" % (parentID, self.sockname, devID)
		# if client hangs up
		except (EOFError, socket.timeout):
			logMsg = "(-) %s - Client %s closed connection or timed-out" % (parentID, self.sockname)

		self.logger.info(logMsg)
		# print logMsg
		db.close()
		self.cSock.close()
コード例 #2
0
ファイル: NodeHandler.py プロジェクト: haidark/rahat
	def update(self):
		db = DBManager()
		nodeData = db.getNode(self.devID)		
		db.close()
		self.setLocals(nodeData)