##// END OF EJS Templates
interfaces: introduce and use a protocol class for the `mpatch` module...
interfaces: introduce and use a protocol class for the `mpatch` module See f2832de2a46c for details when this was done for the `bdiff` module. Two things worth pointing out- 1) The `cffi` module "inherits" the `pure` implementation of `patchedsize()` because of its wildcard import. 2) It's odd that the `mpatchError` lives in both `pure` and `cext` modules. I initially thought to move the exception into the new class, and make the existing class name an alias to the class in the new location, but the exception is created in C code by the `cext` module, so that won't work. I don't think a protocol class is approriate, because there's nothing special about the class to distinguish from any other `Exception`. Fortunately, nobody is catching this exception in core, so we can kick the can down the road.

File last commit:

r50538:e1c586b9 default
r52857:d7f17819 default
Show More
__init__.py
79 lines | 1.6 KiB | text/x-python | PythonLexer
Matt Harbison
attr: vendor 22.1.0...
r50538 # SPDX-License-Identifier: MIT
import sys
from functools import partial
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
Matt Harbison
attr: vendor 22.1.0...
r50538 from . import converters, exceptions, filters, setters, validators
from ._cmp import cmp_using
from ._config import get_run_validators, set_run_validators
from ._funcs import asdict, assoc, astuple, evolve, has, resolve_types
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 from ._make import (
Matt Harbison
attr: vendor 22.1.0...
r50538 NOTHING,
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 Attribute,
Factory,
Matt Harbison
attr: vendor 22.1.0...
r50538 attrib,
attrs,
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 fields,
Matt Harbison
attr: vendor 22.1.0...
r50538 fields_dict,
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 make_class,
validate,
)
Matt Harbison
attr: vendor 22.1.0...
r50538 from ._version_info import VersionInfo
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
Matt Harbison
attr: vendor 22.1.0...
r50538 __version__ = "22.1.0"
__version_info__ = VersionInfo._from_version_string(__version__)
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
__title__ = "attrs"
__description__ = "Classes Without Boilerplate"
Matt Harbison
attr: vendor 22.1.0...
r50538 __url__ = "https://www.attrs.org/"
__uri__ = __url__
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 __doc__ = __description__ + " <" + __uri__ + ">"
__author__ = "Hynek Schlawack"
__email__ = "hs@ox.cx"
__license__ = "MIT"
__copyright__ = "Copyright (c) 2015 Hynek Schlawack"
Matt Harbison
attr: vendor 22.1.0...
r50538 s = attributes = attrs
ib = attr = attrib
dataclass = partial(attrs, auto_attribs=True) # happy Easter ;)
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
__all__ = [
"Attribute",
"Factory",
"NOTHING",
"asdict",
"assoc",
"astuple",
"attr",
"attrib",
"attributes",
"attrs",
Matt Harbison
attr: vendor 22.1.0...
r50538 "cmp_using",
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 "converters",
"evolve",
"exceptions",
"fields",
Matt Harbison
attr: vendor 22.1.0...
r50538 "fields_dict",
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 "filters",
"get_run_validators",
"has",
"ib",
"make_class",
Matt Harbison
attr: vendor 22.1.0...
r50538 "resolve_types",
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 "s",
"set_run_validators",
Matt Harbison
attr: vendor 22.1.0...
r50538 "setters",
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 "validate",
"validators",
]
Matt Harbison
attr: vendor 22.1.0...
r50538
if sys.version_info[:2] >= (3, 6):
from ._next_gen import define, field, frozen, mutable # noqa: F401
__all__.extend(("define", "field", "frozen", "mutable"))