# Needs a good scrub BEGIN { arr = 0; workday = 0; } { shtcast = ""; valu=12; if ($1 ~ /\["properties","periods",[3-9],"number"\]/) { numb = ""; for (i=1; i<=NF; i++) { if (i > 1 && i <= NF) { numb = sprintf ("%s%s ", numb, $i); } } } if ($1 ~ /\["properties","periods",[3-9],"name"\]/) { fday = ""; for (i=1; i<=NF; i++) { if (i > 1 && i <= NF) { fday = sprintf ("%s%s ", fday, $i); } } fday = substr( fday, 2, (length(fday) - 3) ); } if ($1 ~ /\["properties","periods",[3-9],"isDaytime"\]/) { daytime = ""; for (i=1; i<=NF; i++) { if (i > 1 && i <= NF) { daytime = sprintf ("%s", $i); } } if (daytime ~ /true/) { daynum = numb; workday++; efday[workday] = fday; } } if ($1 ~ /\["properties","periods",[3-9],"shortForecast"\]/) { sf = ""; sf0 = ""; for (i=1; i<=NF; i++) { if (i > 1 && i <= NF) { sf = sprintf ("%s%s ", sf, $i); } } sf = substr( sf, 2, (length(sf) - 3) ); if (sf ~ /Windy/) { sf0 = sprintf("%sWindy ", sf0); } if (sf ~ /Sunny/) { if (sf ~ /Mostly/) { sf0 = sprintf("Mostly ", sf0); } if (sf ~ /Partly/) { sf0 = sprintf("Partly ", sf0); } sf0 = sprintf("%sSunny ", sf0); } if (sf ~ /Cloudy/) { if (sf ~ /Mostly/) { sf0 = sprintf("Mostly ", sf0); } if (sf ~ /Partly/) { sf0 = sprintf("Partly ", sf0); } sf0 = sprintf("%sCloudy ", sf0); } if (sf ~ /Showers/) { if (sf ~ /Chance/) { sf0 = sprintf("Chance ") } if (sf ~ /AM/) { sf0 = sprintf("AM ") } if (sf ~ /PM/) { sf0 = sprintf("AM ") } sf0 = sprintf("%sShowers ", sf0); } if (sf ~ /Rain/) { if (sf ~ /Light/) { sf0 = sprintf("Light ") } if (sf ~ /Heavy/) { sf0 = sprintf("Heavy ") } if (sf ~ /Chance/) { sf0 = sprintf("Chance ") } if (sf ~ /AM/) { sf0 = sprintf("AM ") } if (sf ~ /PM/) { sf0 = sprintf("PM ") } if (sf ~ /Light/) { #sf0 = sprintf("%sLgt ", sf0); } else if (sf ~ /Heavy/) { #sf0 = sprintf("%sHvy ", sf0); } sf0 = sprintf("%sRain ", sf0); } if (sf ~ /Snow/) { if (sf ~ /Light/) { sf0 = sprintf("Light ") } if (sf ~ /Heavy/) { sf0 = sprintf("Heavy ") } if (sf ~ /Chance/) { sf0 = sprintf("Chance ") } if (sf ~ /AM/) { sf0 = sprintf("AM ") } if (sf ~ /PM/) { sf0 = sprintf("PM ") } if (sf ~ /Light/) { #sf0 = sprintf("%sLgt ", sf0); } else if (sf ~ /Heavy/) { #sf0 = sprintf("%sHvy ", sf0); } sf0 = sprintf("%sSnow ", sf0); } if (sf ~ /Thunderstorms/) { if (sf ~ /Chance/) { sf0 = sprintf("Chance ") } if (sf ~ /Strong/) { sf0 = sprintf("Strong ") } if (sf ~ /Severe/) { sf0 = sprintf("Severe ") } if (sf ~ /AM/) { sf0 = sprintf("AM ") } if (sf ~ /PM/) { sf0 = sprintf("PM ") } sf0 = sprintf("%sT'Storms ", sf0); } if (daynum == numb){ sf0s[workday] = sf0; } } if ($1 ~ /\["properties","periods",[3-9],"temperature"\]/) { for (i=1; i<=NF; i++) { if (i > 1 && i <= NF) { temp = sprintf ("%s", $i); } } if (daynum == numb){ hitemp[workday] = temp; nextislo = 1; } else if (nextislo == 1){ lotemp[workday] = temp; nextislo = 0; } } } END { # this mess overrides displayed days, in event of a holiday if (efday[1] ~ /Sunday/) { efday[2]="Monday"; efday[3]="Tuesday"; } if (efday[1] ~ /Monday/) { efday[2]="Tuesday"; efday[3]="Wednesday"; } if (efday[1] ~ /Tuesday/) { efday[2]="Wednesday"; efday[3]="Thursday"; } if (efday[1] ~ /Wednesday/) { efday[2]="Thursday"; efday[3]="Friday"; } if (efday[1] ~ /Thursday/) { efday[2]="Friday"; efday[3]="Saturday"; } if (efday[1] ~ /Friday/) { efday[2]="Saturday"; efday[3]="Sunday"; } if (efday[1] ~ /Saturday/) { efday[2]="Sunday"; efday[3]="Monday"; } # if (efday[2] ~ /Monday/) { efday[1]="Sunday"; efday[3]="Tuesday"; } if (efday[2] ~ /Tuesday/) { efday[1]="Monday"; efday[3]="Wednesday"; } if (efday[2] ~ /Wednesday/) { efday[1]="Tuesday"; efday[3]="Thursday"; } if (efday[2] ~ /Thursday/) { efday[1]="Wednesday"; efday[3]="Friday"; } if (efday[2] ~ /Friday/) { efday[1]="Thursday"; efday[3]="Saturday"; } if (efday[2] ~ /Saturday/) { efday[1]="Friday"; efday[3]="Sunday"; } if (efday[2] ~ /Sunday/) { efday[1]="Saturday"; efday[3]="Monday"; } # if (efday[3] ~ /Tuesday/) { efday[1]="Sunday"; efday[2]="Monday"; } if (efday[3] ~ /Wednesday/) { efday[1]="Monday"; efday[2]="Tuesday"; } if (efday[3] ~ /Thursday/) { efday[1]="Tuesday"; efday[2]="Wednesday"; } if (efday[3] ~ /Friday/) { efday[1]="Wednesday"; efday[2]="Thursday"; } if (efday[3] ~ /Saturday/) { efday[1]="Thursday"; efday[2]="Friday"; } if (efday[3] ~ /Sunday/) { efday[1]="Friday"; efday[2]="Saturday"; } if (efday[3] ~ /Monday/) { efday[1]="Saturday"; efday[2]="Sunday"; } # efll = split(sf0s[1], ef1, " "); efl2 = split(sf0s[2], ef2, " "); efl3 = split(sf0s[3], ef3, " "); printf (" %-9.9s %-9.9s %-9.9s\n", efday[1], efday[2], efday[3]); printf (" %-9.9s %-9.9s %-9.9s\n", ef1[1], ef2[1], ef3[1]); printf (" %-9.9s %-9.9s %-9.9s\n", ef1[2], ef2[2], ef3[2]); printf (" %-9.9s %-9.9s %-9.9s\n", ef1[3], ef2[3], ef3[3]); printf (" Lo: %3s Lo: %3s Lo: %3s\n", lotemp[1], lotemp[2], lotemp[3]); printf (" Hi: %3s Hi: %3s Hi: %3s\n", hitemp[1], hitemp[2], hitemp[3]); }