patroni.collections module¶
Patroni custom object types somewhat like collections
module.
Provides a case insensitive dict
and set
object types.
-
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
.
-