Exemple #1
0
    def render_GET(self, request):
        try:
            request.setHeader('Content-Type', 'application/json')
            request.setHeader('Cache-Control', 'no-cache')
            request.setHeader('Connection', 'close')
            if len(request.postpath) > 0 and len(request.postpath[0])>0:
                address=request.postpath[0].replace("_", ":")
                if len(request.args) == 0:
                    return json.dumps(CameraFactory.getCamera(address))
                camera = settings.getCamera(address)
                for key in request.args:
                        settings.setCameraSetting(address, key, request.args[key][-1])
                settings.save()
                cli = CameraFactory.getConnected(address)
                if cli:
                    cli.updateSettings()
                return json.dumps(CameraFactory.getCamera(address))
            request.setResponseCode(500, "invalid address")
            return "Invalid address"

        except Exception, err:
            print err
            CameraFactory.connect(address, 1, "RFCOMM")
            CameraFactory.registerListener(address, ConnectionTest(request))
            return server.NOT_DONE_YET
Exemple #2
0
    def render_GET(self, request):
        try:
            request.setHeader('Content-Type', 'application/json')
            request.setHeader('Cache-Control', 'no-cache')
            request.setHeader('Connection', 'close')
            if len(request.postpath) > 0 and len(request.postpath[0]) > 0:
                address = request.postpath[0].replace("_", ":")
                if len(request.args) == 0:
                    return json.dumps(CameraFactory.getCamera(address))
                camera = settings.getCamera(address)
                for key in request.args:
                    settings.setCameraSetting(address, key,
                                              request.args[key][-1])
                settings.save()
                cli = CameraFactory.getConnected(address)
                if cli:
                    cli.updateSettings()
                return json.dumps(CameraFactory.getCamera(address))
            request.setResponseCode(500, "invalid address")
            return "Invalid address"

        except Exception, err:
            print err
            CameraFactory.connect(address, 1, "RFCOMM")
            CameraFactory.registerListener(address, ConnectionTest(request))
            return server.NOT_DONE_YET
Exemple #3
0
 def render_POST(self, request):
     try:
         request.setHeader('Content-Type', 'application/json')
         request.setHeader('Cache-Control', 'no-cache')
         request.setHeader('Connection', 'close')
         address = request.args["address"][0]
         if CameraFactory.isConnected(address):
             CameraFactory.disconnect(address)
             return json.dumps({"result": "disconnected"})
         else:
             CameraFactory.connect(address)
             return json.dumps({"result": "connecting"})
     except Exception, err:
         request.setHeader('Content-Type', 'text/html')
         request.setHeader('Cache-Control', 'no-cache')
         request.setHeader('Connection', 'close')
         request.setResponseCode(500, str(err))
         return "<html><h1>ERROR:</h1>\n<pre>%s</pre></html>" % (traceback.format_exc())
Exemple #4
0
 def render_GET(self, request):
   address = request.path.split("/",2)[-1].replace("_", ":")
   request.transport.socket.settimeout(5)
   multipart = MultiPartStream(request)
   multipart.process()
   multipart.target = address
   if len(address) == 17:
       ready = CameraFactory.isConnected(address) or CameraFactory.isPending(address)
       if multipart.thumbnail and not ready:
           multipart.sendPart("")
           return
       if not ready:
           method = request.args.get("method", ["RFCOMM",])[-1]
           try:
               CameraFactory.connect(address, 1, method)
           except Exception, err:
               log.msg("Failed while trying to connect")
               log.err(err)
Exemple #5
0
 def render_POST(self, request):
     try:
         request.setHeader('Content-Type', 'application/json')
         request.setHeader('Cache-Control', 'no-cache')
         request.setHeader('Connection', 'close')
         address = request.args["address"][0]
         if CameraFactory.isConnected(address):
             CameraFactory.disconnect(address)
             return json.dumps({"result": "disconnected"})
         else:
             CameraFactory.connect(address)
             return json.dumps({"result": "connecting"})
     except Exception, err:
         request.setHeader('Content-Type', 'text/html')
         request.setHeader('Cache-Control', 'no-cache')
         request.setHeader('Connection', 'close')
         request.setResponseCode(500, str(err))
         return "<html><h1>ERROR:</h1>\n<pre>%s</pre></html>" % (
             traceback.format_exc())
Exemple #6
0
 def render_GET(self, request):
     try:
         request.setHeader('Content-Type', 'application/json')
         request.setHeader('Cache-Control', 'no-cache')
         request.setHeader('Connection', 'close')
         if len(request.postpath) > 0 and len(request.postpath[0])>0:
             address=request.postpath[0].replace("_", ":")
             cli = CameraFactory.getCamera(address, silent=True)
             if cli or not request.args.get("test", None):
                 return json.dumps(CameraFactory.getCamera(address))
             CameraFactory.connect(address, 1, "RFCOMM")
             CameraFactory.registerListener(address, ConnectionTest(request))
             return server.NOT_DONE_YET
         else:
             return json.dumps(self.render_all(request))
     except Exception, err:
         request.setHeader('Content-Type', 'text/html')
         request.setHeader('Cache-Control', 'no-cache')
         request.setHeader('Connection', 'close')
         request.setResponseCode(500, str(err))
         return "<html><h1>ERROR:</h1>\n<pre>%s</pre></html>" % (traceback.format_exc())
Exemple #7
0
 def render_GET(self, request):
     try:
         request.setHeader('Content-Type', 'application/json')
         request.setHeader('Cache-Control', 'no-cache')
         request.setHeader('Connection', 'close')
         if len(request.postpath) > 0 and len(request.postpath[0]) > 0:
             address = request.postpath[0].replace("_", ":")
             cli = CameraFactory.getCamera(address, silent=True)
             if cli or not request.args.get("test", None):
                 return json.dumps(CameraFactory.getCamera(address))
             CameraFactory.connect(address, 1, "RFCOMM")
             CameraFactory.registerListener(address,
                                            ConnectionTest(request))
             return server.NOT_DONE_YET
         else:
             return json.dumps(self.render_all(request))
     except Exception, err:
         request.setHeader('Content-Type', 'text/html')
         request.setHeader('Cache-Control', 'no-cache')
         request.setHeader('Connection', 'close')
         request.setResponseCode(500, str(err))
         return "<html><h1>ERROR:</h1>\n<pre>%s</pre></html>" % (
             traceback.format_exc())
Exemple #8
0
 def render_GET(self, request):
     address = request.path.split("/", 2)[-1].replace("_", ":")
     request.transport.socket.settimeout(5)
     multipart = MultiPartStream(request)
     multipart.process()
     multipart.target = address
     if len(address) == 17:
         ready = CameraFactory.isConnected(
             address) or CameraFactory.isPending(address)
         if multipart.thumbnail and not ready:
             multipart.sendPart("")
             return server.NOT_DONE_YET
         if not ready:
             method = CameraFactory.getCamera(address).get(
                 "transport", "rfcomm")
             method = request.args.get("method", [
                 method,
             ])[-1].upper()
             try:
                 CameraFactory.connect(address, method=method)
             except Exception, err:
                 log.msg("Failed while trying to connect")
                 log.err(err)