Repository methods

Repositories have several useful methods for querying their contents, as shown in the following table:

Method Description
keys() Returns a list of the keys in the repository.
has_key() Returns 1 if the key is found in the repository; otherwise, returns 0.
values()  Returns a list of the objects in the repository.
items() Returns a list of key, value pairs in the repository.
changeKey(fromName, toName) Changes the name of a key in the repository. This method will also change the name attribute of the instance in the repository.

The following script illustrates some of these methods:

from customKernel
import CommandRegister
class Block(CommandRegister):
    def __init__(self, name):
        CommandRegister.__init__(self)

mdb.customData.Repository('blocks', Block)
mdb.customData.Block(name='Block-1')
mdb.customData.Block(name='Block-2')
print('The original repository keys are: ',
    mdb.customData.blocks.keys())
print(mdb.customData.blocks.has_key('Block-2'))
print(mdb.customData.blocks.has_key('Block-3'))
mdb.customData.blocks.changeKey('Block-1', 'Block-11')
print('The modified repository keys are: ',
    mdb.customData.blocks.keys())
print('The name member is ',
    mdb.customData.blocks['Block-11'].name)
print('The repository size is', len(mdb.customData.blocks))

The resulting output is

The original repository keys are ['Block-1', 'Block-2'] 
1 
0 
The modified repository keys are ['Block-11', 'Block-2'] 
The name member is Block-11 
The repository size is 2