import abc
import sys
import types
from collections.abc import Mapping, MutableMapping
class _TypingMeta(abc.ABCMeta):
# A fake metaclass to satisfy typing deps in runtime
# basically MultiMapping[str] and other generic-like type instantiations
# are emulated.
# Note: real type hints are provided by __init__.pyi stub file
if sys.version_info >= (3, 9):
def __getitem__(self, key):
return types.GenericAlias(self, key)
else:
def __getitem__(self, key):
return self
class MultiMapping(Mapping, metaclass=_TypingMeta):
@abc.abstractmethod
def getall(self, key, default=None):
raise KeyError
@abc.abstractmethod
def getone(self, key, default=None):
raise KeyError
class MutableMultiMapping(MultiMapping, MutableMapping):
@abc.abstractmethod
def add(self, key, value):
raise NotImplementedError
@abc.abstractmethod
def extend(self, *args, **kwargs):
raise NotImplementedError
@abc.abstractmethod
def popone(self, key, default=None):
raise KeyError
@abc.abstractmethod
def popall(self, key, default=None):
raise KeyError
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| _multilib | Folder | 0755 |
|
|
| __init__.py | File | 942 B | 0644 |
|
| __init__.pyi | File | 4.82 KB | 0644 |
|
| _abc.py | File | 1.16 KB | 0644 |
|
| _compat.py | File | 363 B | 0644 |
|
| _multidict.cpython-37m-x86_64-linux-gnu.so | File | 77.16 KB | 0755 |
|
| _multidict_base.py | File | 3.7 KB | 0644 |
|
| _multidict_py.py | File | 14.36 KB | 0644 |
|
| py.typed | File | 15 B | 0644 |
|