def query(self, statement:"str", args:"list"=[], commit:"bool"=False): try: cursor = self._connection.cursor() cursor.execute(statement, args) if commit: self._connection.commit() return cursor except sqlite3.InterfaceError as error: logger.error("Error in query '" + statement + "': " + str(error))
def _processEvent(self, event): eventType = pygame.event.event_name(event.type) try: processFunction = getattr(self.mainDelegate, "on" + eventType) processFunction(event.dict) except AttributeError as exception: logger.info("Error handling event '" + eventType + "': " + str(exception)) except pygame.error as exception: logger.error("Error from pygame: " + str(exception))
def process(self, midiEvent:"MidiEvent", delegate): mappingKey = midiEvent.getMappingKey() try: if mappingKey in self.mappingTable: mapping = self.mappingTable[mappingKey] if mapping.isButton() and not midiEvent.data2: return handlerFunction = getattr(delegate, "on" + mapping.value) handlerFunction() else: raise UnhandledMidiError(midiEvent) except AttributeError: logger.error("Delegate does not handle MIDI command") except UnhandledMidiError as error: logger.debug("Unhandled midi event: " + str(error.midiEvent))
def run(self): try: self.mainWindow = MainWindow(self.mainDelegate, self.sequence, self.settings, self.mediaRequestLoop, self.midiEventLoop, self.statusLoop, self.systemUsageLoop) self.mainWindow.open() self.mainWindow.setStatusText("Starting Up...") initializer = Initializer(self) initializer.start() self.mainWindow.run() except BaseException: logger.error(traceback.format_exc().strip()) try: self.quit() except BaseException as error: logger.error("Unable to shut down cleanly: " + str(error)) exit()
def onKeyDown(self, delegate, key, modifiers = None): #logger.debug("Got key: " + str(key) + ", mods: " + str(modifiers)) try: if key in ModifierKeys: return if modifiers not in ModifierHashes: raise UnhandledModifierError(key, modifiers) keyHash = ModifierHashes[modifiers] if key in keyHash: self.handlerFunction = getattr(delegate, "on" + keyHash[key]) self.handlerFunction() self.timer = Timer(0.5, self.repeatKey) self.timer.start() else: raise UnhandledKeyError(key, modifiers) except AttributeError: logger.error("Error handling key command") logger.error(traceback.format_exc().strip()) except UnhandledKeyError as error: logger.debug("Unhandled command: " + error.printKey()) except UnhandledModifierError as error: logger.debug("Unhandled modifier: " + error.printKey())