patroni.collections module¶
Patroni custom object types somewhat like collections
module.
Provides a case insensitive dict
and set
object types, and EMPTY_DICT frozen dictionary object.
- class patroni.collections.CaseInsensitiveDict(data: Optional[Dict[str, Any]] = None)¶
Bases:
MutableMapping
[str
,Any
]A case-insensitive
dict
-like object.Implements all methods and operations of
MutableMapping
as well asdict
’scopy()
. All keys are expected to be strings. The structure remembers the case of the last key to be set, anditer()
,dict.keys()
,dict.items()
,dict.iterkeys()
, anddict.iteritems()
will contain case-sensitive keys. However, querying and contains testing is case insensitive.- __init__(data: Optional[Dict[str, Any]] = None) None ¶
Create a new instance of
CaseInsensitiveDict
with the given data.- Parameters
data – initial dictionary to create a
CaseInsensitiveDict
from.
- _abc_impl = <_abc._abc_data object>¶
- copy() patroni.collections.CaseInsensitiveDict ¶
Create a copy of this dict.
- Returns
a new dict object with the same keys and values of this dict.
- class patroni.collections.CaseInsensitiveSet(values: Optional[Collection[str]] = None)¶
Bases:
MutableSet
[str
]A case-insensitive
set
-like object.Implements all methods and operations of
MutableSet
. All values are expected to be strings. The structure remembers the case of the last value set, however, contains testing is case insensitive.- __init__(values: Optional[Collection[str]] = None) None ¶
Create a new instance of
CaseInsensitiveSet
with the given values.- Parameters
values – values to be added to the set.
- _abc_impl = <_abc._abc_data object>¶
- add(value: str) None ¶
Add value to this set.
Search is performed case-insensitively. If value is already in the set, overwrite it with value, so we “remember” the last case of value.
- Parameters
value – value to be added to the set.
- discard(value: str) None ¶
Remove value from this set.
Search is performed case-insensitively. If value is not present in the set, no exception is raised.
- Parameters
value – value to be removed from the set.
- issubset(other: patroni.collections.CaseInsensitiveSet) bool ¶
Check if this set is a subset of other.
- Parameters
other – another set to be compared with this set.
- Returns
True
if this set is a subset of other, elseFalse
.
- class patroni.collections._FrozenDict(*args: Any, **kwargs: Any)¶
-
Frozen dictionary object.
- __init__(*args: Any, **kwargs: Any) None ¶
Create a new instance of
_FrozenDict
with given data.
- _abc_impl = <_abc._abc_data object>¶