def get(self, name, default=_MISSING):
name = self._convert_name(name)<EOL>if name not in self._fields:<EOL><INDENT>if default is _MISSING:<EOL><INDENT>default = self._default_value(name)<EOL><DEDENT>return default<EOL><DEDENT>if name in _UNICODEFIELDS:<EOL><INDENT>value = self._fields[name]<EOL>return value<EOL><DEDENT>elif name in _LISTFIELDS:<EOL><INDENT>value = self._fields[name]<EOL>if value is None:<EOL><INDENT>return []<EOL><DEDENT>res = []<EOL>for val in value:<EOL><INDENT>if name not in _LISTTUPLEFIELDS:<EOL><INDENT>res.append(val)<EOL><DEDENT>else:<EOL><INDENT>res.append((val[<NUM_LIT:0>], val[<NUM_LIT:1>]))<EOL><DEDENT><DEDENT>return res<EOL><DEDENT>elif name in _ELEMENTSFIELD:<EOL><INDENT>value = self._fields[name]<EOL>if isinstance(value, string_types):<EOL><INDENT>return value.split('<STR_LIT:U+002C>')<EOL><DEDENT><DEDENT>return self._fields[name]<EOL>
Get a metadata field.