##// END OF EJS Templates
stream-clone: check is a compatible protocol can be found...
stream-clone: check is a compatible protocol can be found The previous code was explicitly checking if "v2" is listed in the "stream" bundle2 capability. The new code is checking is there is anything common between the versions supported client side and server side overlaps. This prepare the introduction of more stream version than "v2".

File last commit:

r50538:e1c586b9 default
r51416:a6543983 default
Show More
filters.py
51 lines | 1.0 KiB | text/x-python | PythonLexer
Matt Harbison
attr: vendor 22.1.0...
r50538 # SPDX-License-Identifier: MIT
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 """
Matt Harbison
attr: vendor 22.1.0...
r50538 Commonly useful filters for `attr.asdict`.
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 """
from ._make import Attribute
def _split_what(what):
"""
Returns a tuple of `frozenset`s of classes and attributes.
"""
return (
Matt Harbison
attr: vendor 22.1.0...
r50538 frozenset(cls for cls in what if isinstance(cls, type)),
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 frozenset(cls for cls in what if isinstance(cls, Attribute)),
)
def include(*what):
Matt Harbison
attr: vendor 22.1.0...
r50538 """
Include *what*.
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
Matt Harbison
attr: vendor 22.1.0...
r50538 :param what: What to include.
:type what: `list` of `type` or `attrs.Attribute`\\ s
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
Matt Harbison
attr: vendor 22.1.0...
r50538 :rtype: `callable`
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 """
cls, attrs = _split_what(what)
def include_(attribute, value):
return value.__class__ in cls or attribute in attrs
return include_
def exclude(*what):
Matt Harbison
attr: vendor 22.1.0...
r50538 """
Exclude *what*.
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
Matt Harbison
attr: vendor 22.1.0...
r50538 :param what: What to exclude.
:type what: `list` of classes or `attrs.Attribute`\\ s.
Siddharth Agarwal
thirdparty: vendor attrs...
r34398
Matt Harbison
attr: vendor 22.1.0...
r50538 :rtype: `callable`
Siddharth Agarwal
thirdparty: vendor attrs...
r34398 """
cls, attrs = _split_what(what)
def exclude_(attribute, value):
return value.__class__ not in cls and attribute not in attrs
return exclude_