Patroni custom object types somewhat like collections module.

Provides a case insensitive dict and set object types.

class patroni.collections. CaseInsensitiveDict ( data : Dict [ str , Any ] | None = None ) View on GitHub

Bases: MutableMapping [ str , Any ]

A case-insensitive dict -like object.

Implements all methods and operations of MutableMapping as well as dict ’s copy() . All keys are expected to be strings. The structure remembers the case of the last key to be set, and iter() , dict.keys() , dict.items() , dict.iterkeys() , and dict.iteritems() will contain case-sensitive keys. However, querying and contains testing is case insensitive.

__init__ ( data : Dict [ str , Any ] | None = None ) None View on GitHub

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 ( ) CaseInsensitiveDict View on GitHub

Create a copy of this dict.

Returns :

a new dict object with the same keys and values of this dict.

keys ( ) KeysView [ str ] View on GitHub

Return a new view of the dict’s keys.

Returns :

a set-like object providing a view on the dict’s keys

class patroni.collections. CaseInsensitiveSet ( values : Collection [ str ] | None = None ) View on GitHub

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 : Collection [ str ] | None = None ) None View on GitHub

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 View on GitHub

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 View on GitHub

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 : CaseInsensitiveSet ) bool View on GitHub

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 , else False .