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_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 #4
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 #5
0
                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)
        CameraFactory.registerListener(address, self)
        StreamResource.tellClientCount(address)
        return server.NOT_DONE_YET


class TestStreamResource(Resource):
    isLeaf = True

    def render_GET(self, request):
        log.msg(str(request))
        log.msg(str(request.requestHeaders))
        multipart = MultiPartStream(request)
        multipart.process()
        return server.NOT_DONE_YET

    def render_POST(self, request):
Exemple #6
0
        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)
        CameraFactory.registerListener(address, self)
        StreamResource.tellClientCount(address)
        return server.NOT_DONE_YET

class TestStreamResource(Resource):
    isLeaf = True

    def render_GET(self, request):
        log.msg(str(request))
        log.msg(str(request.requestHeaders))
        multipart = MultiPartStream(request)
        multipart.process()
        return server.NOT_DONE_YET

    def render_POST(self, request):
        return self.render_GET(request)