def write(self, data): # Message handler cannot be set upon instantiation, because the PDB may not # have been initialized yet. self._orig_message_handler = pdb.gimp_message_get_handler() pdb.gimp_message_set_handler(self._message_handler) self._write(data) self.write = self._write
def write(self, data): # Message handler can't be set upon instantiation, because the PDB may not # have been initialized yet. self._orig_message_handler = pdb.gimp_message_get_handler() pdb.gimp_message_set_handler(self._message_handler) self._write(data) self.write = self._write
def redirect_messages(message_handler=gimpenums.ERROR_CONSOLE): """ Temporarily redirect GIMP messages to the specified message handler. Use this function as a context manager: with redirect_messages(): # do stuff """ orig_message_handler = pdb.gimp_message_get_handler() pdb.gimp_message_set_handler(message_handler) try: yield finally: pdb.gimp_message_set_handler(orig_message_handler)
def close(self): if self._orig_message_handler is not None: pdb.gimp_message_set_handler(self._orig_message_handler)