def parse_in_line(txt: str, units: Units) -> typing.Dict[str, str]:
    """
    Parser for the International TAF forcast varient
    """
    retwx = {}
    wxdata = txt.split(' ')
    wxdata, _, retwx['wind_shear'] = core.sanitize_report_list(wxdata)
    wxdata, retwx['type'], retwx['start_time'], retwx['end_time'] = core.get_type_and_times(wxdata)
    wxdata, retwx['wind_direction'], retwx['wind_speed'], \
        retwx['wind_gust'], _ = core.get_wind(wxdata, units)
    if 'CAVOK' in wxdata:
        retwx['visibility'] = core.make_number('CAVOK')
        retwx['clouds'] = []
        wxdata.pop(wxdata.index('CAVOK'))
    else:
        wxdata, retwx['visibility'] = core.get_visibility(wxdata, units)
        wxdata, retwx['clouds'] = core.get_clouds(wxdata)
    retwx['other'], retwx['altimeter'], retwx['icing'], retwx['turbulance'] \
        = core.get_taf_alt_ice_turb(wxdata)
    return retwx
def parse_in_line ( txt : str , units : Units ) -> typing . Dict [ str , str ] : retwx = { } wxdata = txt . split ( ' ' ) wxdata , _ , retwx [ 'wind_shear' ] = core . sanitize_report_list ( wxdata ) wxdata , retwx [ 'type' ] , retwx [ 'start_time' ] , retwx [ 'end_time' ] = core . get_type_and_times ( wxdata ) wxdata , retwx [ 'wind_direction' ] , retwx [ 'wind_speed' ] , retwx [ 'wind_gust' ] , _ = core . get_wind ( wxdata , units ) if 'CAVOK' in wxdata : retwx [ 'visibility' ] = core . make_number ( 'CAVOK' ) retwx [ 'clouds' ] = [ ] wxdata . pop ( wxdata . index ( 'CAVOK' ) ) else : wxdata , retwx [ 'visibility' ] = core . get_visibility ( wxdata , units ) wxdata , retwx [ 'clouds' ] = core . get_clouds ( wxdata ) retwx [ 'other' ] , retwx [ 'altimeter' ] , retwx [ 'icing' ] , retwx [ 'turbulance' ] = core . get_taf_alt_ice_turb ( wxdata ) return retwx
Parser for the International TAF forcast varient