def parse_meta(filename, data):
if "<STR_LIT:.>" not in filename:<EOL><INDENT>raise MetaParsingException(<EOL>"<STR_LIT>" % filename<EOL>)<EOL><DEDENT>suffix = filename.rsplit("<STR_LIT:.>", <NUM_LIT:1>)[<NUM_LIT:1>].lower()<EOL>if suffix not in SUPPORTED_FILES:<EOL><INDENT>raise MetaParsingException("<STR_LIT>" % suffix)<EOL><DEDENT>fp = validator.FieldParser()<EOL>for key, val in SUPPORTED_FILES[suffix](data).items():<EOL><INDENT>fp.process(key, val)<EOL><DEDENT>return fp.get_epublication()<EOL>
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.