def register_fetcher(data_format, data_class, function, force=False,<EOL>usage=None):
key = (data_format, data_class)<EOL>if key not in _FETCHERS or force:<EOL><INDENT>_FETCHERS[key] = (function, usage)<EOL><DEDENT>else:<EOL><INDENT>raise IORegistryError("<STR_LIT>"<EOL>"<STR_LIT>" "<STR_LIT>".format(<EOL>data_format, data_class))<EOL><DEDENT>_update__doc__(data_class)<EOL>
Register a new method to EventTable.fetch() for a given format

    Parameters
    ----------
    data_format : `str`
        name of the format to be registered

    data_class : `type`
        the class that the fetcher returns

    function : `callable`
        the method to call from :meth:`EventTable.fetch`

    force : `bool`, optional
        overwrite existing registration for ``data_format`` if found,
        default: `False`