def todict(self, skip_missing=False):
self.set_metadata_version()<EOL>mapping_1_0 = (<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT:name>', '<STR_LIT:Name>'),<EOL>('<STR_LIT:version>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT:description>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>)<EOL>data = {}<EOL>for key, field_name in mapping_1_0:<EOL><INDENT>if not skip_missing or field_name in self._fields:<EOL><INDENT>data[key] = self[field_name]<EOL><DEDENT><DEDENT>if self['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>mapping_1_2 = (<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>)<EOL>for key, field_name in mapping_1_2:<EOL><INDENT>if not skip_missing or field_name in self._fields:<EOL><INDENT>if key != '<STR_LIT>':<EOL><INDENT>data[key] = self[field_name]<EOL><DEDENT>else:<EOL><INDENT>data[key] = ['<STR_LIT:U+002C>'.join(u) for u in self[field_name]]<EOL><DEDENT><DEDENT><DEDENT><DEDENT>elif self['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>mapping_1_1 = (<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>('<STR_LIT>', '<STR_LIT>'),<EOL>)<EOL>for key, field_name in mapping_1_1:<EOL><INDENT>if not skip_missing or field_name in self._fields:<EOL><INDENT>data[key] = self[field_name]<EOL><DEDENT><DEDENT><DEDENT>return data<EOL>
Return fields as a dict.

        Field names will be converted to use the underscore-lowercase style
        instead of hyphen-mixed case (i.e. home_page instead of Home-page).