def extract_message_info():
base_path = BASE_PACKAGE.replace('<STR_LIT:.>', '<STR_LIT:/>')<EOL>filename = os.path.join(base_path, '<STR_LIT>')<EOL>with open(filename, '<STR_LIT:r>') as file:<EOL><INDENT>types_found = False<EOL>for line in file:<EOL><INDENT>stripped = line.lstrip().rstrip()<EOL>if stripped == '<STR_LIT>':<EOL><INDENT>types_found = True<EOL>continue<EOL><DEDENT>elif types_found and stripped == '<STR_LIT:}>':<EOL><INDENT>break<EOL><DEDENT>elif not types_found:<EOL><INDENT>continue<EOL><DEDENT>constant = stripped.split('<STR_LIT:U+0020>')[<NUM_LIT:0>]<EOL>title = constant.title().replace(<EOL>'<STR_LIT:_>', '<STR_LIT>').replace('<STR_LIT>', '<STR_LIT>')  <EOL>accessor = title[<NUM_LIT:0>].lower() + title[<NUM_LIT:1>:]<EOL>if not os.path.exists(os.path.join(base_path, title + '<STR_LIT>')):<EOL><INDENT>continue<EOL><DEDENT>yield MessageInfo(<EOL>title + '<STR_LIT>', title, accessor, constant)<EOL><DEDENT><DEDENT>
Get information about all messages of interest.