def getMatchingPlugins(elementNode, namePathDictionary):
 matchingPlugins = []
 namePathDictionaryCopy = namePathDictionary.copy()
 for key in elementNode.attributes:
  dotIndex = key.find('.')
  if (dotIndex > (-1)):
   keyUntilDot = key[:dotIndex]
   if (keyUntilDot in namePathDictionaryCopy):
    pluginModule = archive.getModuleWithPath(namePathDictionaryCopy[keyUntilDot])
    del namePathDictionaryCopy[keyUntilDot]
    if (pluginModule != None):
     matchingPlugins.append(pluginModule)
 return matchingPlugins

def getMatchingPlugins ( elementNode , namePathDictionary ) : matchingPlugins = [ ] namePathDictionaryCopy = namePathDictionary . copy ( ) for key in elementNode . attributes : dotIndex = key . find ( '.' ) if ( dotIndex > ( - 1 ) ) : keyUntilDot = key [ : dotIndex ] if ( keyUntilDot in namePathDictionaryCopy ) : pluginModule = archive . getModuleWithPath ( namePathDictionaryCopy [ keyUntilDot ] ) del namePathDictionaryCopy [ keyUntilDot ] if ( pluginModule != None ) : matchingPlugins . append ( pluginModule ) return matchingPlugins
get the plugins whose names are in the attribute dictionary .