iode.Identities.__delitem__

Identities.__delitem__(key)[source]

Remove the (subset of) identity(ies) referenced by key from the Identities database.

Parameters:
key: str or list(str)

(list of) name(s) of the identity(ies) to be removed. The list of names can be given as a string pattern (e.g. “A*;*_”).

Examples

>>> from iode import SAMPLE_DATA_DIR
>>> from iode import identities
>>> identities.load(f"{SAMPLE_DATA_DIR}/fun.idt")       
Loading .../fun.idt
48 objects loaded 
>>> # a) delete one identity
>>> identities.get_names("W*")
['W', 'WBGR', 'WCRH', 'WMINR', 'WO']
>>> del identities["W"]
>>> identities.get_names("W*")
['WBGR', 'WCRH', 'WMINR', 'WO']
>>> # b) delete several identities at once using a pattern
>>> del identities["W*"]
>>> identities.get_names("W*")
[]
>>> # c) delete several identities at once using a list of names
>>> identities.get_names("XP*")
['XPOIL', 'XPWMAB', 'XPWMS', 'XPWXAB', 'XPWXS']
>>> del identities[["XPOIL", "XPWXS"]]
>>> identities.get_names("XP*")
['XPWMAB', 'XPWMS', 'XPWXAB']
>>> # delete one identity from a subset of the global database
>>> identities_subset = identities["Y*"]
>>> identities_subset.names
['Y', 'YSEFPR', 'YSFICR']
>>> del identities_subset["Y"]
>>> identities_subset.names
['YSEFPR', 'YSFICR']
>>> # NOTE: the identity has also been deleted from the global database
>>> "Y" in identities
False
>>> identities.get_names("Y*")
['YSEFPR', 'YSFICR']