hio.help.hicting

hio.help.hicting module

Module Contents

class hio.help.hicting.Hict(arg: multidict._abc.MDArg[_V] = None, /, **kwargs: _V)

Bases: multidict.CIMultiDict

Hict is a Case Insensitive Keyed Multiple valued dictionary like class that extends CIMultiDict and is used for HTTP headers which have case insentive labels. Insertion order of keys preserved. Associated with each key is a valuelist i.e. a list of values for that key.

https://multidict.readthedocs.io/en/stable/ CIMultiDict keys must be subclass of str no ints allowed In CIMultiDict:

.add(key, value) appends value to the valuelist at key
m["key"] = value replaces the valuelist at key with [value]
m["key"] returns the first added element of the valuelist at key

MultiDict methods access values in FIFO order Hict adds method to access values in LIFO order

Extended methods in Hict but not in CIMultiDict:
  • nabone(key [,default]): get last value at key else default or KeyError

  • nab(key [,default]): get last value at key else default or None

  • naball(key [,default]): get all values inverse order else default or KeyError

  • firsts(): get all items where item value is first inserted value at key

  • lasts(): get all items where item value is last inserted value at key

nabone(key, *pa, **kwa)
Usage:

.nabone(key [, default])

returns last value at key if key in dict else default raises KeyError if key not in dict and default not provided.

nab(key, *pa, **kwa)
Usage:

.nab(key [, default])

returns last value at key if key in dict else default returns None if key not in dict and default not provided.

naball(key, *pa, **kwa)
Usage:

.nabone(key [, default])

returns list of values at key if key in dict else default raises KeyError if key not in dict and default not provided.

firsts()

Returns list of (key, value) pair where each value is first value at key but with no duplicate keys. MultiDict .keys() returns a key for each duplicate value

lasts()

Returns list of (key, value) pairs where each value is last value at key but with no duplicate keys. MultiDict .keys() returns a key for each duplicate value

class hio.help.hicting.Mict(arg: multidict._abc.MDArg[_V] = None, /, **kwargs: _V)

Bases: multidict.MultiDict

Mict is a multiple valued dictionary like class that extends MultiDict. Insertion order of keys preserved. Associated with each key is a valuelist i.e. a list of values for that key.

https://multidict.readthedocs.io/en/stable/ MultiDict keys must be subclass of str no ints allowed In MultiDict:

.add(key, value) appends value to the valuelist at key
m["key"] = value replaces the valuelist at key with [value]
m["key"] returns the first added element of the valuelist at key

MultiDict methods access values in FIFO order Mict adds methods to access values in LIFO order

Extended methods in Mict but not in MultiDict:
  • nabone(key [,default]): get last value at key else default or KeyError

  • nab(key [,default]): get last value at key else default or None

  • naball(key [,default]): get all values inverse order else default or KeyError

nabone(key, *pa, **kwa)
Usage:

.nabone(key [, default])

returns last value at key if key in dict else default raises KeyError if key not in dict and default not provided.

nab(key, *pa, **kwa)
Usage:

.nab(key [, default])

returns last value at key if key in dict else default returns None if key not in dict and default not provided.

naball(key, *pa, **kwa)
Usage:

.nabone(key [, default])

returns list of values at key if key in dict else default raises KeyError if key not in dict and default not provided.

firsts()

Returns list of (key, value) pair where each value is first value at key No duplicate keys

lasts()

Returns list of (key, value) pairs where each value is last value at key No duplicate keys