def GET(self, *args, **kwargs): # if len(args) < 1: # raise cherrypy.HTTPError(403, 'Directory Listing Denied') mp = MapProcessor() sensors = self._sr.resolveStates(self._dao.findSensors()) sensors = self._sr.appendSensorMetadata(sensors) # adds location and type cob = self._dao.getRobotByName(self._robotName) robot = { "type": "robot", "name": cob["robotName"], "location": ( cob["xCoord"], cob["yCoord"], "%sd" % (cob["orientation"] * -1), ), # svg rotates opposite of our cooridnate system "id": "r%s" % (cob["robotId"]), } elements = [] elements.extend(sensors) # important to put robot last as z-order is determined by render order in svg and we want the robot icon # to always be on top elements.append(robot) img = mp.buildMap(elements) data = io.BytesIO(img) cherrypy.response.headers["Content-Type"] = mimetypes.guess_type("img.svg")[0] return file_generator(data)
def GET(self, *args, **kwargs): #if len(args) < 1: #raise cherrypy.HTTPError(403, 'Directory Listing Denied') mp = MapProcessor() sensors = self._sr.resolveStates(self._dao.findSensors()) sensors = self._sr.appendSensorMetadata( sensors) #adds location and type cob = self._dao.getRobotByName(self._robotName) robot = { 'type': 'robot', 'name': cob['robotName'], 'location': (cob['xCoord'], cob['yCoord'], '%sd' % (cob['orientation'] * -1) ), #svg rotates opposite of our cooridnate system 'id': 'r%s' % (cob['robotId']) } elements = [] elements.extend(sensors) #important to put robot last as z-order is determined by render order in svg and we want the robot icon #to always be on top elements.append(robot) img = mp.buildMap(elements) data = io.BytesIO(img) cherrypy.response.headers['Content-Type'] = mimetypes.guess_type( 'img.svg')[0] return file_generator(data)
def GET(self, *args, **kwargs): #if len(args) < 1: #raise cherrypy.HTTPError(403, 'Directory Listing Denied') mp = MapProcessor(self._emptyMap) sensors = self._sr.resolveStates(self._dao.findSensors()) #sensors = self._sr.appendSensorMetadata(sensors, self._emptyMap) #adds location and type cob = self._dao.getRobotByName(self._robotName) robot = { 'icon':self._dao.sensors.getSensorIconByName('robot')['id'], 'name':cob['robotName'], 'xCoord': cob['xCoord'], 'yCoord': cob['yCoord'], 'orientation': '%sd' % cob['orientation'], 'id':'r%s' % (cob['robotId']) } elements = [] elements.extend(sensors) #important to put robot last as z-order is determined by render order in svg and we want the robot icon #to always be on top elements.append(robot) img = mp.buildMap(elements) data = io.BytesIO(img) cherrypy.response.headers['Content-Type'] = mimetypes.guess_type('img.svg')[0] return file_generator(data)
def GET(self, *args, **kwargs): #if len(args) < 1: #raise cherrypy.HTTPError(403, 'Directory Listing Denied') mp = MapProcessor(self._emptyMap) sensors = self._sr.resolveStates(self._dao.findSensors()) #sensors = self._sr.appendSensorMetadata(sensors, self._emptyMap) #adds location and type cob = self._dao.getRobotByName(self._robotName) robot = { 'icon':self._dao.sensors.getSensorIconByName('robot')['id'], 'name':cob['robotName'], 'xCoord': cob['xCoord'], 'yCoord': cob['yCoord'], 'orientation': '%sd' % cob['orientation'], 'id':'r%s' % (cob['robotId']) } elements = [] elements.extend(sensors) #important to put robot last as z-order is determined by render order in svg and we want the robot icon #to always be on top elements.append(robot) img = mp.buildMap(elements) data = io.BytesIO(img) cherrypy.response.headers['Content-Type'] = mimetypes.guess_type('img.svg')[0] cherrypy.response.headers['Cache-Control'] = "max-age=0, no-cache, must-revalidate" cherrypy.response.headers['Pragma'] = "no-cache" # In the past to prevent browser caching cherrypy.response.headers['Expires'] = (datetime.datetime.utcnow() - datetime.timedelta(hours=1)).strftime('%a, %d %b %Y %H:%M:%S GMT') return file_generator(data)
def GET(self, *args, **kwargs): if len(args) < 1: raise cherrypy.HTTPError(403, 'Directory Listing Denied') key = args[0] sensorHist = self._dao.getSensorHistory(key) if len(sensorHist) > 0: mp = MapProcessor() s = StateResolver() sensors = s.resolveStates(sensorHist) img = mp.buildMap(sensors) data = io.BytesIO(img) cherrypy.response.headers['Content-Type'] = mimetypes.guess_type('img.svg')[0] return file_generator(data)
def GET(self, *args, **kwargs): if len(args) < 1: raise cherrypy.HTTPError(403, 'Directory Listing Denied') key = args[0] sensorHist = self._dao.getSensorHistory(key) if len(sensorHist) > 0: mp = MapProcessor() s = StateResolver() sensors = s.resolveStates(sensorHist) #[{'id': sensor['sensorId'], 'value': sensor['value'], 'state':'on'},] sensors = s.appendSensorMetadata(sensors) #adds location and type img = mp.buildMap(sensors) data = io.BytesIO(img) cherrypy.response.headers['Content-Type'] = mimetypes.guess_type('img.svg')[0] return file_generator(data)
def GET(self, *args, **kwargs): if len(args) < 1: raise cherrypy.HTTPError(403, 'Directory Listing Denied') key = args[0] sensorHist = self._dao.getSensorHistory(key) if len(sensorHist) > 0: mp = MapProcessor() s = StateResolver() sensors = s.resolveStates(sensorHist) #[{'id': sensor['sensorId'], 'value': sensor['value'], 'state':'on'},] sensors = s.appendSensorMetadata(sensors) #adds location and type img = mp.buildMap(sensors) data = io.BytesIO(img) cherrypy.response.headers['Content-Type'] = mimetypes.guess_type( 'img.svg')[0] return file_generator(data)