f ddlZGddZy)Nc:eZdZdZdZdZdZddZedZ y) DictRegistryz+A simple registry for a mapping of objects.c$|jyN)resetselfs 4/usr/lib/python3/dist-packages/cloudinit/registry.py__init__zDictRegistry.__init__ s  ci|_yr)_itemsrs r rzDictRegistry.resets  r cr||jvrtdj|||j|<y)zAdd item to the registry.z$Item already registered with key {0}N)r ValueErrorformat)r keyitems r register_itemzDictRegistry.register_items9 $++ 6==cB   Cr c\||jvr|j|=y|std|zy)zRemove item from the registry.z!%s: key not present to unregisterN)rKeyError)r rforces r unregister_itemzDictRegistry.unregister_items3 $++  C >DE Er c@tj|jS)zvAll the items that have been registered. This cannot be used to modify the contents of the registry. )copyrrs r registered_itemszDictRegistry.registered_items s yy%%r N)T) __name__ __module__ __qualname____doc__r rrrpropertyrr r rrs.5 F&&r r)rrr!r r r"s  &&r