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']
>>> # d) 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']
>>> # create a new identity and store it in a Python variable
>>> idt = Identity("YN - YK")
>>> idt
Identity('YN - YK')
>>> # add it to the database
>>> identities["NEW_IDT"] = idt
>>> identities["NEW_IDT"]
Identity('YN - YK')
>>> # then delete it from the database
>>> del identities["NEW_IDT"]
>>> "NEW_IDT" in identities
False
>>> # NOTE: the Python variable 'idt' still contains the identity object
>>> idt
Identity('YN - YK')