def removeCallback(self, callback, eventType=None):
        if eventType is None:
            eventType = callback._eventType

        if issubclass(eventType, FailedEvent):
            self.withdrawCallback(FailedEvent, callback)

        elif issubclass(eventType, FinishedEvent):
            self.withdrawCallback(FinishedEvent, callback)

        elif issubclass(eventType, IProgressListener):  # no progress event
            if callback in self._progressCallbacks:
                del self._progressListeners[callback]

        elif issubclass(eventType, StartedEvent):
            self.withdrawCallback(StartedEvent, callback)

        elif issubclass(eventType, SucceededEvent):
            self.withdrawCallback(SucceededEvent, callback)

        else:
            super(Upload, self).removeCallback(callback, eventType)
dataset/ETHPy150Open rwl/muntjac/muntjac/ui/upload.py/Upload.removeCallback/original