def get(self, path): try: uri = self.get_argument('uri') except: return self.shared_resource(path) try: data = get_plugin_info(uri) except: raise HTTPError(404) try: root = data['gui']['resourcesDirectory'] except: raise HTTPError(404) try: super(EffectResource, self).initialize(root) return super(EffectResource, self).get(path) except HTTPError as e: if e.status_code != 404: raise e return self.shared_resource(path) except IOError: raise HTTPError(404)
def get(self): uri = self.get_argument('uri') try: data = get_plugin_info(uri) except: print("ERROR in webserver.py: get_plugin_info for '%s' failed" % uri) raise web.HTTPError(404) self.write(data)
def post(self): result = {} for uri in self.uris: try: info = get_plugin_info(uri) except: continue result[uri] = info self.write(result)
def get(self): uri = self.get_argument('uri') try: data = get_plugin_info(uri) except: print("ERROR: get_plugin_info for '%s' failed" % uri) raise HTTPError(404) self.write(data)
def get(self): uri = self.get_argument('uri') try: data = get_plugin_info(uri) except: print("ERROR: get_plugin_info for '%s' failed" % uri) raise HTTPError(404) self.set_header('Content-type', 'application/json') self.write(json.dumps(data)) self.finish()
def get(self, instance): uri = self.get_argument('uri') x = float(self.request.arguments.get('x', [0])[0]) y = float(self.request.arguments.get('y', [0])[0]) ok = yield gen.Task(SESSION.web_add, instance, uri, x, y) if not ok: self.write(False) return try: data = get_plugin_info(uri) except: print("ERROR in webserver.py: get_plugin_info for '%s' failed" % uri) raise web.HTTPError(404) self.write(data)
def get(self): uri = self.get_argument('uri') try: data = get_plugin_info(uri) except: raise HTTPError(404) try: path = data['gui']['javascript'] except: raise HTTPError(404) if not os.path.exists(path): raise HTTPError(404) with open(path, 'rb') as fd: self.set_header('Content-type', 'text/javascript') self.write(fd.read())
def __init__(self): QMainWindow.__init__(self) gCarla.gui = self URI = sys.argv[1] # ---------------------------------------------------------------------------------------------------- # Internal stuff self.fCurrentFrame = None self.fDocElemement = None self.fCanSetValues = False self.fNeedsShow = False self.fSizeSetup = False self.fQuitReceived = False self.fWasRepainted = False self.fPlugin = get_plugin_info(URI) self.fPorts = self.fPlugin['ports'] self.fPortSymbols = {} self.fPortValues = {} for port in self.fPorts['control']['input'] + self.fPorts['control']['output']: self.fPortSymbols[port['index']] = port['symbol'] self.fPortValues [port['index']] = port['ranges']['default'] # ---------------------------------------------------------------------------------------------------- # Init pipe if len(sys.argv) == 7: self.fPipeClient = gCarla.utils.pipe_client_new(lambda s,msg: self.msgCallback(msg)) else: self.fPipeClient = None # ---------------------------------------------------------------------------------------------------- # Init Web server self.fWebServerThread = WebServerThread(self) self.fWebServerThread.start() # ---------------------------------------------------------------------------------------------------- # Set up GUI self.setContentsMargins(0, 0, 0, 0) self.fWebview = QWebView(self) #self.fWebview.setAttribute(Qt.WA_OpaquePaintEvent, False) #self.fWebview.setAttribute(Qt.WA_TranslucentBackground, True) self.setCentralWidget(self.fWebview) page = self.fWebview.page() page.setViewportSize(QSize(980, 600)) mainFrame = page.mainFrame() mainFrame.setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff) mainFrame.setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff) palette = self.fWebview.palette() palette.setBrush(QPalette.Base, palette.brush(QPalette.Window)) page.setPalette(palette) self.fWebview.setPalette(palette) settings = self.fWebview.settings() settings.setAttribute(QWebSettings.DeveloperExtrasEnabled, True) self.fWebview.loadFinished.connect(self.slot_webviewLoadFinished) url = "http://127.0.0.1:%s/icon.html#%s" % (PORT, URI) print("url:", url) self.fWebview.load(QUrl(url)) # ---------------------------------------------------------------------------------------------------- # Connect actions to functions self.SIGTERM.connect(self.slot_handleSIGTERM) # ---------------------------------------------------------------------------------------------------- # Final setup self.fIdleTimer = self.startTimer(30) if self.fPipeClient is None: # testing, show UI only self.setWindowTitle("TestUI") self.fNeedsShow = True
def __init__(self): QMainWindow.__init__(self) gCarla.gui = self URI = sys.argv[1] # ---------------------------------------------------------------------------------------------------- # Internal stuff self.fCurrentFrame = None self.fDocElemement = None self.fCanSetValues = False self.fNeedsShow = False self.fSizeSetup = False self.fQuitReceived = False self.fWasRepainted = False self.fPlugin = get_plugin_info(URI) self.fPorts = self.fPlugin['ports'] self.fPortSymbols = {} self.fPortValues = {} for port in self.fPorts['control']['input']: self.fPortSymbols[port['index']] = (port['symbol'], False) self.fPortValues[port['index']] = port['ranges']['default'] for port in self.fPorts['control']['output']: self.fPortSymbols[port['index']] = (port['symbol'], True) self.fPortValues[port['index']] = port['ranges']['default'] # ---------------------------------------------------------------------------------------------------- # Init pipe if len(sys.argv) == 7: self.fPipeClient = gCarla.utils.pipe_client_new( lambda s, msg: self.msgCallback(msg)) else: self.fPipeClient = None # ---------------------------------------------------------------------------------------------------- # Init Web server self.fWebServerThread = WebServerThread(self) self.fWebServerThread.start() # ---------------------------------------------------------------------------------------------------- # Set up GUI self.setContentsMargins(0, 0, 0, 0) self.fWebview = QWebView(self) #self.fWebview.setAttribute(Qt.WA_OpaquePaintEvent, False) #self.fWebview.setAttribute(Qt.WA_TranslucentBackground, True) self.setCentralWidget(self.fWebview) page = self.fWebview.page() page.setViewportSize(QSize(980, 600)) mainFrame = page.mainFrame() mainFrame.setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff) mainFrame.setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff) palette = self.fWebview.palette() palette.setBrush(QPalette.Base, palette.brush(QPalette.Window)) page.setPalette(palette) self.fWebview.setPalette(palette) settings = self.fWebview.settings() settings.setAttribute(QWebSettings.DeveloperExtrasEnabled, True) self.fWebview.loadFinished.connect(self.slot_webviewLoadFinished) url = "http://127.0.0.1:%s/icon.html#%s" % (PORT, URI) print("url:", url) self.fWebview.load(QUrl(url)) # ---------------------------------------------------------------------------------------------------- # Connect actions to functions self.SIGTERM.connect(self.slot_handleSIGTERM) # ---------------------------------------------------------------------------------------------------- # Final setup self.fIdleTimer = self.startTimer(30) if self.fPipeClient is None: # testing, show UI only self.setWindowTitle("TestUI") self.fNeedsShow = True