Parse `data` to EPublication.

    Args:
        filename (str): Used to choose right parser based at suffix.
        data (str): Content of the metadata file.

    Returns:
        EPublication: object.

def parse_meta(filename, data):
    """
    Parse `data` to EPublication.

    Args:
        filename (str): Used to choose right parser based at suffix.
        data (str): Content of the metadata file.

    Returns:
        EPublication: object.
    """
    if "." not in filename:
        raise MetaParsingException(
            "Can't recognize type of your metadata ('%s')!" % filename
        )

    suffix = filename.rsplit(".", 1)[1].lower()

    if suffix not in SUPPORTED_FILES:
        raise MetaParsingException("Can't parse file of type '%s'!" % suffix)

    fp = validator.FieldParser()
    for key, val in SUPPORTED_FILES[suffix](data).items():
        fp.process(key, val)

    return fp.get_epublication()