'List all the attributes defined in this module.
Note: Future work is planned here to make it possible to list python
attributes on a module without loading the module by inspecting ASTs or
bytecode, but currently any iteration of PythonModule objects insists
they must be loaded, and will use inspect.getmodule.
@raise NotImplementedError: if this module is not loaded.
@return: a generator yielding PythonAttribute instances describing the
attributes of this module.'

def iterAttributes(self):

    if (not self.isLoaded()):
        raise NotImplementedError("You    can't    load    attributes    from    non-loaded    modules    yet.")
    for (name, val) in inspect.getmembers(self.load()):
        (yield PythonAttribute(((self.name + '.') + name), self, True, val))
