'Load all parsers from "hachoir.parser" module.
Return the list of loaded parsers.'

def _load(self):

    if self.parser_list:
        return self.parser_list
    todo = []
    module = __import__('hachoir_parser')
    for attrname in dir(module):
        attr = getattr(module, attrname)
        if isinstance(attr, types.ModuleType):
            todo.append(attr)
    for module in todo:
        for name in dir(module):
            attr = getattr(module, name)
            if (isinstance(attr, type) and issubclass(attr, HachoirParser) and (attr not in (Parser, HachoirParser))):
                self.add(attr)
    assert (1 <= len(self.parser_list))
    return self.parser_list
