def __init__(self, string):
<EOL>self._raw_taf = None<EOL>self._taf_header = None<EOL>self._raw_weather_groups = []<EOL>self._weather_groups = []<EOL>self._maintenance = None<EOL>if isinstance(string, str) and string != "<STR_LIT>":<EOL><INDENT>self._raw_taf = string<EOL><DEDENT>else:<EOL><INDENT>raise MalformedTAF("<STR_LIT>")<EOL><DEDENT>self._raw_taf = self._raw_taf.strip()<EOL>self._taf_header = self._init_header(self._raw_taf)<EOL>if self._taf_header['<STR_LIT>'] == '<STR_LIT>':<EOL><INDENT>self._weather_groups.append(self._parse_group(self._raw_taf))<EOL><DEDENT>else:<EOL><INDENT>self._raw_weather_groups = self._init_groups(self._raw_taf)<EOL>for group in self._raw_weather_groups:<EOL><INDENT>parsed_group = self._parse_group(group)<EOL>self._weather_groups.append(parsed_group)<EOL><DEDENT><DEDENT>self._maintenance = self._parse_maintenance(self._raw_taf)<EOL>
Initializes the object with TAF/METAR report text.

Args:
    string: TAF/METAR report string

Raises:
    MalformedTAF: An error parsing the TAF/METAR report