HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //lib/python3/dist-packages/coreapi/codecs/base.py
import itypes


class BaseCodec(itypes.Object):
    media_type = None

    # We don't implement stubs, to ensure that we can check which of these
    # two operations a codec supports. For example:
    # `if hasattr(codec, 'decode'): ...`

    # def decode(self, bytestring, **options):
    #    pass

    # def encode(self, document, **options):
    #    pass

    # The following will be removed at some point, most likely in a 2.1 release:
    def dump(self, *args, **kwargs):
        # Fallback for v1.x interface
        return self.encode(*args, **kwargs)

    def load(self, *args, **kwargs):
        # Fallback for v1.x interface
        return self.decode(*args, **kwargs)

    @property
    def supports(self):
        # Fallback for v1.x interface.
        if '+' not in self.media_type:
            return ['data']

        ret = []
        if hasattr(self, 'encode'):
            ret.append('encoding')
        if hasattr(self, 'decode'):
            ret.append('decoding')
        return ret

    def get_media_types(self):
        # Fallback, while transitioning from `application/vnd.coreapi+json`
        # to simply `application/coreapi+json`.
        if hasattr(self, 'media_types'):
            return list(self.media_types)
        return [self.media_type]