Posted by mrpeachy on Wed 16th Nov 19:27 (modification of post by view diff)
View followups from mrpeachy | download | new post
- --[[weather display by mrpeachy nov 2011
- version 5
- call data via conkyrc
- ability to display weather images
- ]]
- --#########################################################################################################
- --SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP--SETUP
- secs=1800--set update interval
- web="http://www.intellicast.com/Local/Forecast.aspx?location=USMO9688"--insert unit=C& after? for C
- --get web address by going to the intellicast site and entering your location in the box
- --for version 3 you must get click on "Extended Forecast" to get the necessary address
- units="F"
- --set location where weather data txt will be saved
- location="/home/benjamin/Desktop/weather.txt"
- --set location of weather images
- weathericons="/home/benjamin/Desktop/images/weathericons/"
- --#########################################################################################################
- require 'cairo'
- ------------------------------------------------------------------------------
- function string:split(delimiter)
- local result = { }
- local from = 1
- local delim_from, delim_to = string.find( self, delimiter, from )
- while delim_from do
- table.insert( result, string.sub( self, from , delim_from-1 ) )
- from = delim_to + 1
- delim_from, delim_to = string.find( self, delimiter, from )
- end
- table.insert( result, string.sub( self, from ) )
- return result
- end
- --------------------------------------------------------------------------------
- function conky_weatherdata()
- local updates=tonumber(conky_parse('${updates}'))
- local timer=(updates %secs)+1
- if timer==1 or updates==3 then
- data={}
- fdata2={}
- local f=io.popen("curl '"..web.."' | grep -A62 'As of ' | gawk -F'>' -v RS='</' 'RT{print $NF}' | sed -e 's/^[ \t]*//' -e '/^$/d' -e 's/°//g' -e 's/%//g' -e 's/ / /g' -e 's/Thunderstorms/T.Storms/g'")
- data1=f:read("*a")
- f:close()
- local data2=string.split(data1,"\n")
- for i,v in pairs(data2) do
- if string.find(v,"[%a%d]")~=nil then
- table.insert(data,data2[i])
- end
- end
- local f=io.popen("curl '"..web.."' | grep -A554 'View the Calendar Forecast' | gawk -F'>' -v RS='<' 'RT{print $NF}' | sed -e 's/^[ \t]*//' -e 's/°//g' -e 's/ / /g' -e 's/%//g' -e 's/°//g' -e 's/Thunderstorms/T.Storms/g'")
- local fdata1=f:read("*a")
- f:close()
- local fdata=string.split(fdata1,"\n")
- for i,v in pairs(fdata) do
- if string.find(v,"[%a%d]")~=nil then
- table.insert(fdata2,fdata[i])
- end
- end
- --current
- local cdn=string.split(data[2],"/")
- if cdn[2]==nil then cdn[2]="" end
- local wdr=string.split(data[25]," ")
- now={con=string.gsub(cdn[1],"[\r\n]",""),cd2=string.gsub(cdn[2],"[\r\n]",""),tmp=string.gsub(data[4],units,""),flk=string.gsub(data[5],"Feels Like: ",""),wch=data[7],cel=data[10],hid=data[12],vis=string.gsub(data[15],"[ %a]",""),dpt=data[17],wsp=string.gsub(data[20],"[ %a]",""),wdg=(wdr[1]),wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),wgs=string.gsub(data[30]," mph",""),hum=data[22],prs=string.gsub(data[27],"\"","")}
- --############################################
- --forecast
- local cdn=string.split(fdata2[3],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[2],",")
- local uvi=string.split(fdata2[20]," ")
- local wsp=string.split(fdata2[32]," ")
- local wdr=string.split(fdata2[34]," ")
- day1={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],cd2=cdn[2],hih=fdata2[4],low=fdata2[5],sri=fdata2[8],sst=fdata2[10],mri=fdata2[12],mst=fdata2[14],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[22],ppt=fdata2[24],snw=fdata2[26],cld=fdata2[28],mph=fdata2[30],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]","")}
- --day2
- local cdn=string.split(fdata2[36],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[35],",")
- local uvi=string.split(fdata2[53]," ")
- local wsp=string.split(fdata2[65]," ")
- local wdr=string.split(fdata2[67]," ")
- day2={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[37],low=fdata2[38],sri=fdata2[41],sst=fdata2[43],mri=fdata2[45],mst=fdata2[47],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[55],ppt=fdata2[57],snw=fdata2[59],cld=fdata2[61],mph=fdata2[63],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --day3
- local start=68
- local cdn=string.split(fdata2[start+1],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[start],",")
- local uvi=string.split(fdata2[start+14]," ")
- local wsp=string.split(fdata2[start+26]," ")
- local wdr=string.split(fdata2[start+28]," ")
- day3={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --day4
- local start=start+29
- local cdn=string.split(fdata2[start+1],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[start],",")
- local uvi=string.split(fdata2[start+14]," ")
- local wsp=string.split(fdata2[start+26]," ")
- local wdr=string.split(fdata2[start+28]," ")
- day4={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --day5
- local start=start+29
- local cdn=string.split(fdata2[start+1],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[start],",")
- local uvi=string.split(fdata2[start+14]," ")
- local wsp=string.split(fdata2[start+26]," ")
- local wdr=string.split(fdata2[start+28]," ")
- day5={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --day6
- local start=start+29
- local cdn=string.split(fdata2[start+1],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[start],",")
- local uvi=string.split(fdata2[start+14]," ")
- local wsp=string.split(fdata2[start+26]," ")
- local wdr=string.split(fdata2[start+28]," ")
- day6={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --day7
- local start=start+29
- local cdn=string.split(fdata2[start+1],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[start],",")
- local uvi=string.split(fdata2[start+14]," ")
- local wsp=string.split(fdata2[start+26]," ")
- local wdr=string.split(fdata2[start+28]," ")
- day7={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --day8
- local start=start+29
- local cdn=string.split(fdata2[start+1],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[start],",")
- local uvi=string.split(fdata2[start+14]," ")
- local wsp=string.split(fdata2[start+26]," ")
- local wdr=string.split(fdata2[start+28]," ")
- day8={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --day9
- local start=start+29
- local cdn=string.split(fdata2[start+1],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[start],",")
- local uvi=string.split(fdata2[start+14]," ")
- local wsp=string.split(fdata2[start+26]," ")
- local wdr=string.split(fdata2[start+28]," ")
- day9={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --day10
- local start=start+29
- local cdn=string.split(fdata2[start+1],"/")
- if cdn[2]==nil then cdn[2]="" end
- local dyt=string.split(fdata2[start],",")
- local uvi=string.split(fdata2[start+14]," ")
- local wsp=string.split(fdata2[start+26]," ")
- local wdr=string.split(fdata2[start+28]," ")
- day10={day=dyt[1],dat=string.gsub(dyt[2],"^.",""),con=cdn[1],hih=fdata2[start+2],low=fdata2[start+3],sri=fdata2[start+5],sst=fdata2[start+7],mri=fdata2[start+9],mst=fdata2[start+11],uvn=uvi[1],uvt=string.gsub(uvi[2],"[%(%)]",""),hum=fdata2[start+16],ppt=fdata2[start+18],snw=fdata2[start+20],cld=fdata2[start+22],mph=fdata2[start+24],wmh=string.gsub(wsp[1],"[%a]",""),wkm=string.gsub(wsp[2],"[%a%(,]",""),wkt=string.gsub(wsp[3],"[%a%)]",""),wdg=wdr[1],wdi=string.gsub(wdr[2],"[%(%)\n\r]",""),cd2=cdn[2]}
- --weather font
- --weather type table for weather font
- wfont={
- Tornado="1",
- Tornadon="1",
- TropicalStorm="2",
- TropicalStormn="2",
- Hurricane="3",
- Hurricanen="3",
- SevereTStorms="n",
- SevereTStormsn="n",
- TStorms="m",
- TStormsn="m",
- MixedRainandSnow="x",
- MixedRainandSnown="x",
- MixedRainandSleet="x",
- MixedRainandSleetn="x",
- MixedPrecipitation="y",
- MixedPrecipitationn="y",
- FreezingDrizzle="s",
- FreezingDrizzlen="s",
- Drizzle="h",
- Drizzlen="h",
- FreezingRain="t",
- FreezingRainn="t",
- LightRain="h",
- LightRainn="h",
- FewShowers="h",
- FewShowersn="h",
- Rain="i",
- Rainn="i",
- Showers="i",
- Showersn="i",
- SnowFlurries="p",
- SnowFlurriesn="p",
- LightSnowShowers="p",
- LightSnowShowersn="p",
- DriftingSnow="8",
- DriftingSnown="8",
- Snow="q",
- Snown="q",
- Hail="u",
- Hailn="u",
- Sleet="w",
- Sleetn="w",
- Dust="7",
- Dustn="7",
- Fog="0",
- Fogn="0",
- Haze="9",
- Hazen="9",
- Smoke="4",
- Smoken="4",
- Blustery="6",
- Blusteryn="6",
- Windy="6",
- Windyn="6",
- NA="-",
- NAn="-",
- Cloudy="f",
- Cloudyn="f",
- Overcast="f",
- Overcastn="f",
- MostlyCloudyn="D", -- night
- MostlyCloudy="d", -- day
- PartlyCloudyn="C", -- night
- PartlyCloudy="c",--day
- FewCloudsn="C", -- night
- FewClouds="c", -- day
- Clearn="A", -- night
- Clear="a", -- day
- Sunny="A",
- Sunnyn="a",
- MostlySunny="A",
- MostlySunnyn="a",
- Fairn="B", -- night
- Fair="b", -- day
- MixedRainandHail="v",
- MixedRainandHailn="v",
- Hot="5",
- Hotn="5",
- IsolatedTStorms="k", -- day
- IsolatedTStormsn="K", -- night
- ScatteredTStorms="k", -- day
- ScatteredTStormsn="K", --night
- ScatteredShowers="g", -- day
- ScatteredShowersn="G", -- night
- HeavyRain="j",
- HeavyRainn="j",
- ScatteredSnowShowers="o", -- day
- ScatteredSnowShowersn="O", -- night
- HeavySnow="r",
- HeavySnown="r",
- }
- --check for day or night images
- timeinhours=tonumber(os.date("%H"))
- if timeinhours>17 or timeinhours<5 then
- daynight="n"
- else
- daynight=""
- end
- --------------------------------------------
- font=
- {
- now=(loadstring("return ".."wfont."..(string.gsub(now.con,"[ %.%/]","")..daynight))()),
- day1=(loadstring("return ".."wfont."..string.gsub(day1.con,"[ %.%/]",""))()),
- day2=(loadstring("return ".."wfont."..string.gsub(day2.con,"[ %.%/]",""))()),
- day3=(loadstring("return ".."wfont."..string.gsub(day3.con,"[ %.%/]",""))()),
- day4=(loadstring("return ".."wfont."..string.gsub(day4.con,"[ %.%/]",""))()),
- day5=(loadstring("return ".."wfont."..string.gsub(day5.con,"[ %.%/]",""))()),
- day6=(loadstring("return ".."wfont."..string.gsub(day6.con,"[ %.%/]",""))()),
- day7=(loadstring("return ".."wfont."..string.gsub(day7.con,"[ %.%/]",""))()),
- day8=(loadstring("return ".."wfont."..string.gsub(day8.con,"[ %.%/]",""))()),
- day9=(loadstring("return ".."wfont."..string.gsub(day9.con,"[ %.%/]",""))()),
- day10=(loadstring("return ".."wfont."..string.gsub(day10.con,"[ %.%/]",""))())
- }
- ---------------------------------------------]]
- --writing to file
- local file = io.open(location, "w")
- local datastringnow=now.con.."|"..now.cd2.."|"..now.tmp.."|"..now.flk.."|"..now.wch.."|"..now.cel.."|"..now.hid.."|"..now.vis.."|"..now.dpt.."|"..now.wsp.."|"..now.wdg.."|"..now.wdi.."|"..now.wgs.."|"..now.hum.."|"..now.prs.."|"..now.cd2
- local datastringday1=day1.day.."|"..day1.dat.."|"..day1.con.."|"..day1.cd2.."|"..day1.hih.."|"..day1.low.."|"..day1.sri.."|"..day1.sst.."|"..day1.mri.."|"..day1.mst.."|"..day1.uvn.."|"..day1.uvt.."|"..day1.hum.."|"..day1.ppt.."|"..day1.snw.."|"..day1.cld.."|"..day1.mph.."|"..day1.wmh.."|"..day1.wkm.."|"..day1.wkt.."|"..day1.wdg.."|"..day1.wdi.."|"..day1.cd2
- local datastringday2=day2.day.."|"..day2.dat.."|"..day2.con.."|"..day2.cd2.."|"..day2.hih.."|"..day2.low.."|"..day2.sri.."|"..day2.sst.."|"..day2.mri.."|"..day2.mst.."|"..day2.uvn.."|"..day2.uvt.."|"..day2.hum.."|"..day2.ppt.."|"..day2.snw.."|"..day2.cld.."|"..day2.mph.."|"..day2.wmh.."|"..day2.wkm.."|"..day2.wkt.."|"..day2.wdg.."|"..day2.wdi.."|"..day2.cd2
- local datastringday3=day3.day.."|"..day3.dat.."|"..day3.con.."|"..day3.cd2.."|"..day3.hih.."|"..day3.low.."|"..day3.sri.."|"..day3.sst.."|"..day3.mri.."|"..day3.mst.."|"..day3.uvn.."|"..day3.uvt.."|"..day3.hum.."|"..day3.ppt.."|"..day3.snw.."|"..day3.cld.."|"..day3.mph.."|"..day3.wmh.."|"..day3.wkm.."|"..day3.wkt.."|"..day3.wdg.."|"..day3.wdi.."|"..day3.cd2
- local datastringday4=day4.day.."|"..day4.dat.."|"..day4.con.."|"..day4.cd2.."|"..day4.hih.."|"..day4.low.."|"..day4.sri.."|"..day4.sst.."|"..day4.mri.."|"..day4.mst.."|"..day4.uvn.."|"..day4.uvt.."|"..day4.hum.."|"..day4.ppt.."|"..day4.snw.."|"..day4.cld.."|"..day4.mph.."|"..day4.wmh.."|"..day4.wkm.."|"..day4.wkt.."|"..day4.wdg.."|"..day4.wdi.."|"..day4.cd2
- local datastringday5=day5.day.."|"..day5.dat.."|"..day5.con.."|"..day5.cd2.."|"..day5.hih.."|"..day5.low.."|"..day5.sri.."|"..day5.sst.."|"..day5.mri.."|"..day5.mst.."|"..day5.uvn.."|"..day5.uvt.."|"..day5.hum.."|"..day5.ppt.."|"..day5.snw.."|"..day5.cld.."|"..day5.mph.."|"..day5.wmh.."|"..day5.wkm.."|"..day5.wkt.."|"..day5.wdg.."|"..day5.wdi.."|"..day5.cd2
- local datastringday6=day6.day.."|"..day6.dat.."|"..day6.con.."|"..day6.cd2.."|"..day6.hih.."|"..day6.low.."|"..day6.sri.."|"..day6.sst.."|"..day6.mri.."|"..day6.mst.."|"..day6.uvn.."|"..day6.uvt.."|"..day6.hum.."|"..day6.ppt.."|"..day6.snw.."|"..day6.cld.."|"..day6.mph.."|"..day6.wmh.."|"..day6.wkm.."|"..day6.wkt.."|"..day6.wdg.."|"..day6.wdi.."|"..day6.cd2
- local datastringday7=day7.day.."|"..day7.dat.."|"..day7.con.."|"..day7.cd2.."|"..day7.hih.."|"..day7.low.."|"..day7.sri.."|"..day7.sst.."|"..day7.mri.."|"..day7.mst.."|"..day7.uvn.."|"..day7.uvt.."|"..day7.hum.."|"..day7.ppt.."|"..day7.snw.."|"..day7.cld.."|"..day7.mph.."|"..day7.wmh.."|"..day7.wkm.."|"..day7.wkt.."|"..day7.wdg.."|"..day7.wdi.."|"..day7.cd2
- local datastringday8=day8.day.."|"..day8.dat.."|"..day8.con.."|"..day8.cd2.."|"..day8.hih.."|"..day8.low.."|"..day8.sri.."|"..day8.sst.."|"..day8.mri.."|"..day8.mst.."|"..day8.uvn.."|"..day8.uvt.."|"..day8.hum.."|"..day8.ppt.."|"..day8.snw.."|"..day8.cld.."|"..day8.mph.."|"..day8.wmh.."|"..day8.wkm.."|"..day8.wkt.."|"..day8.wdg.."|"..day8.wdi.."|"..day8.cd2
- local datastringday9=day9.day.."|"..day9.dat.."|"..day9.con.."|"..day9.cd2.."|"..day9.hih.."|"..day9.low.."|"..day9.sri.."|"..day9.sst.."|"..day9.mri.."|"..day9.mst.."|"..day9.uvn.."|"..day9.uvt.."|"..day9.hum.."|"..day9.ppt.."|"..day9.snw.."|"..day9.cld.."|"..day9.mph.."|"..day9.wmh.."|"..day9.wkm.."|"..day9.wkt.."|"..day9.wdg.."|"..day9.wdi.."|"..day9.cd2
- local datastringday10=day10.day.."|"..day10.dat.."|"..day10.con.."|"..day10.cd2.."|"..day10.hih.."|"..day10.low.."|"..day10.sri.."|"..day10.sst.."|"..day10.mri.."|"..day10.mst.."|"..day10.uvn.."|"..day10.uvt.."|"..day10.hum.."|"..day10.ppt.."|"..day10.snw.."|"..day10.cld.."|"..day10.mph.."|"..day10.wmh.."|"..day10.wkm.."|"..day10.wkt.."|"..day10.wdg.."|"..day10.wdi.."|"..day10.cd2
- local datastringfont=font.now.."|"..font.day1.."|"..font.day2.."|"..font.day3.."|"..font.day4.."|"..font.day5.."|"..font.day6.."|"..font.day7.."|"..font.day8.."|"..font.day9.."|"..font.day10
- file:write(datastringnow.."<>"..datastringday1.."<>"..datastringday2.."<>"..datastringday3.."<>"..datastringday4.."<>:"..datastringday5.."<>"..datastringday6.."<>"..datastringday7.."<>"..datastringday8.."<>"..datastringday9.."<>"..datastringday10.."<>"..datastringfont)
- file:close()
- end--timed section
- if data1==nil then
- local f=io.popen("cat '"..location.."'")
- local alldata=f:read("*a")
- f:close()
- daydata=string.split(alldata,"<>")
- now=string.split(daydata[1],"|")
- day1=string.split(daydata[2],"|")
- day2=string.split(daydata[3],"|")
- day3=string.split(daydata[4],"|")
- day4=string.split(daydata[5],"|")
- day5=string.split(daydata[6],"|")
- day6=string.split(daydata[7],"|")
- day7=string.split(daydata[8],"|")
- day8=string.split(daydata[9],"|")
- day9=string.split(daydata[10],"|")
- day10=string.split(daydata[11],"|")
- font=string.split(daydata[12],"|")
- --test=day2[1]
- --set variables
- now={con=now[1],tmp=now[2],flk=now[3],wch=now[4],cel=now[5],hid=now[6],vis=now[7],dpt=now[8],wsp=now[9],wdg=now[10],wdi=now[11],wgs=now[12],hum=now[13],prs=now[14],cd2=now[15]}
- day1={day=day1[1],dat=day1[2],con=day1[3],hih=day1[4],low=day1[5],sri=day1[6],sst=day1[7],mri=day1[8],mst=day1[9],uvn=day1[10],uvt=day1[11],hum=day1[12],ppt=day1[13],snw=day1[14],cld=day1[15],mph=day1[16],wmh=day1[17],wkm=day1[18],wkt=day1[19],wdg=day1[20],wdi=day1[21],cd2=day1[22]}
- day2={day=day2[1],dat=day2[2],con=day2[3],hih=day2[4],low=day2[5],sri=day2[6],sst=day2[7],mri=day2[8],mst=day2[9],uvn=day2[10],uvt=day2[11],hum=day2[12],ppt=day2[13],snw=day2[14],cld=day2[15],mph=day2[16],wmh=day2[17],wkm=day2[18],wkt=day2[19],wdg=day2[20],wdi=day2[21],cd2=day1[22]}
- day3={day=day3[1],dat=day3[2],con=day3[3],hih=day3[4],low=day3[5],sri=day3[6],sst=day3[7],mri=day3[8],mst=day3[9],uvn=day3[10],uvt=day3[11],hum=day3[12],ppt=day3[13],snw=day3[14],cld=day3[15],mph=day3[16],wmh=day3[17],wkm=day3[18],wkt=day3[19],wdg=day3[20],wdi=day3[21],cd2=day1[22]}
- day4={day=day4[1],dat=day4[2],con=day4[3],hih=day4[4],low=day4[5],sri=day4[6],sst=day4[7],mri=day4[8],mst=day4[9],uvn=day4[10],uvt=day4[11],hum=day4[12],ppt=day4[13],snw=day4[14],cld=day4[15],mph=day4[16],wmh=day4[17],wkm=day4[18],wkt=day4[19],wdg=day4[20],wdi=day4[21],cd2=day1[22]}
- day5={day=day5[1],dat=day5[2],con=day5[3],hih=day5[4],low=day5[5],sri=day5[6],sst=day5[7],mri=day5[8],mst=day5[9],uvn=day5[10],uvt=day5[11],hum=day5[12],ppt=day5[13],snw=day5[14],cld=day5[15],mph=day5[16],wmh=day5[17],wkm=day5[18],wkt=day5[19],wdg=day5[20],wdi=day5[21],cd2=day1[22]}
- day6={day=day6[1],dat=day6[2],con=day6[3],hih=day6[4],low=day6[5],sri=day6[6],sst=day6[7],mri=day6[8],mst=day6[9],uvn=day6[10],uvt=day6[11],hum=day6[12],ppt=day6[13],snw=day6[14],cld=day6[15],mph=day6[16],wmh=day6[17],wkm=day6[18],wkt=day6[19],wdg=day6[20],wdi=day6[21],cd2=day1[22]}
- day7={day=day7[1],dat=day7[2],con=day7[3],hih=day7[4],low=day7[5],sri=day7[6],sst=day7[7],mri=day7[8],mst=day7[9],uvn=day7[10],uvt=day7[11],hum=day7[12],ppt=day7[13],snw=day7[14],cld=day7[15],mph=day7[16],wmh=day7[17],wkm=day7[18],wkt=day7[19],wdg=day7[20],wdi=day7[21],cd2=day1[22]}
- day8={day=day8[1],dat=day8[2],con=day8[3],hih=day8[4],low=day8[5],sri=day8[6],sst=day8[7],mri=day8[8],mst=day8[9],uvn=day8[10],uvt=day8[11],hum=day8[12],ppt=day8[13],snw=day8[14],cld=day8[15],mph=day8[16],wmh=day8[17],wkm=day8[18],wkt=day8[19],wdg=day8[20],wdi=day8[21],cd2=day1[22]}
- day9={day=day9[1],dat=day9[2],con=day9[3],hih=day9[4],low=day9[5],sri=day9[6],sst=day9[7],mri=day9[8],mst=day9[9],uvn=day9[10],uvt=day9[11],hum=day9[12],ppt=day9[13],snw=day9[14],cld=day9[15],mph=day9[16],wmh=day9[17],wkm=day9[18],wkt=day9[19],wdg=day9[20],wdi=day9[21],cd2=day1[22]}
- day10={day=day10[1],dat=day10[2],con=day10[3],hih=day10[4],low=day10[5],sri=day10[6],sst=day10[7],mri=day10[8],mst=day10[9],uvn=day10[10],uvt=day10[11],hum=day10[12],ppt=day10[13],snw=day10[14],cld=day10[15],mph=day10[16],wmh=day10[17],wkm=day10[18],wkt=day10[19],wdg=day10[20],wdi=day10[21],cd2=day1[22]}
- font={now=font[1],day1=font[2],day2=font[3],day3=font[4],day4=font[5],day5=font[6],day6=font[7],day7=font[8],day8=font[9],day9=font[10],day10=font[11]}
- end--if data1==nil
- return ""
- end--function
- function conky_weather(conkydata,xpos,ypos,scale1,scale2)
- if xpos==nil then xpos=0 end
- if ypos==nil then ypos=0 end
- if scale1==nil then scale1=0 end
- if scale2==nil then scale2=0 end
- --[[data available
- --current info.. use now.option
- --options
- con=conditions summary
- cd2=conditions secondary
- tmp=temperature
- flk=Feels Like
- wch=wind chill
- cel=ceiling
- hid=heat index
- vis=visibility
- dpt=dew point
- wsp=wind speed (in mph)
- wdg=wind direction in degrees
- wdi=wind direction NSEW
- wgs=wind gusts
- hum=humidity
- prs=pressure
- --forecast information, 10 day
- --use like this dayX.option (where X=day number (1=today,2=tomorrow))
- --options
- day=forecast day
- dat=forecast date
- con=conditions summary
- cd2=conditions secondary
- hih=high temp
- low=low temp
- sri=sunrise
- sst=sunset
- mri=moon rise
- mst=moon set
- uvi=ultraviolet index
- hum=humidity
- ppt=chance of precipitation
- snw=chance of snow
- cld=cloud cover
- mph=moon phase
- wmh=wind speed in mph
- wkm=wind speed in km/h
- wkt=wind speed in knots
- wdg=wind direction in degrees
- wdi=wind direction in nesw
- "0": u"1", #Tornado
- "1": u"2", #Tropical Storm
- "2": u"3", #Hurricane
- "3": u"n", #Severe Thunderstorms
- "4": u"m", #Thunderstorms
- "5": u"x", #Mixed Rain and Snow
- "6": u"x", #Mixed Rain and Sleet
- "7": u"y", #Mixed Precipitation
- "8": u"s", #Freezing Drizzle
- "9": u"h", #Drizzle
- "10": u"t", #Freezing Rain
- "11": u"h", #Light Rain
- "12": u"i", #Rain
- "13": u"p", #Snow Flurries
- "14": u"p", #Light Snow Showers
- "15": u"8", #Drifting Snow
- "16": u"q", #Snow
- "17": u"u", #Hail
- "18": u"w", #Sleet
- "19": u"7", #Dust
- "20": u"0", #Fog
- "21": u"9", #Haze
- "22": u"4", #Smoke
- "23": u"6", #Blustery
- "24": u"6", #Windy
- "25": u"-", #N/A
- "26": u"f", #Cloudy
- "27": u"D", #Mostly Cloudy - night
- "28": u"d", #Mostly Cloudy - day
- "29": u"C", #Partly Cloudy - night
- "30": u"c", #Partly Cloudy - day
- "31": u"A", #Clear - night
- "32": u"a", #Clear - day
- "33": u"B", #Fair - night
- "34": u"b", #Fair - day
- "35": u"v", #Mixed Rain and Hail
- "36": u"5", #Hot
- "37": u"k", #Isolated Thunderstorms - day
- "38": u"k", #Scattered Thunderstorms - day
- "39": u"g", #Scattered Showers - day
- "40": u"j", #Heavy Rain
- "41": u"o", #Scattered Snow Showers - day
- "42": u"r", #Heavy Snow
- "43": u"r", #Heavy Snow
- "44": u"-", #N/A
- "45": u"G", #Scattered Showers - night
- "46": u"O", #Scattered Snow Showers - night
- "47": u"K", #Isolated Thunderstorms - night
- "na": u"-", #N/A
- "-": u"-" #N/A
- intellicast={
- wx_65=32--clear/sunny
- wx_66=30--partly cloudy
- wx_67=26--cloudy
- wx_68=32--clear/sunny
- wx_69=28--mostly cloudy
- wx_70=20--fog
- wx_71=
- wx_72=
- wx_73=
- wx_74=
- wx_75=
- wx_76=
- wx_77=
- wx_78=
- wx_79=
- wx_80=
- wx_81=
- wx_82=
- wx_83=
- wx_84=
- wx_85=
- wx_86=
- wx_87=
- wx_88=
- wx_89=
- wx_90=
- wx_91=
- wx_92=
- wx_93=
- wx_94=
- wx_95=
- wx_96=
- wx_97=
- wx_98=
- wx_99=
- wx_100=
- wx_101=
- wx_102=
- wx_103=
- wx_104=
- wx_105=
- wx_106=
- wx_107=
- wx_108=
- wx_109=
- wx_110=
- wx_111=
- wx_112=
- wx_113=
- wx_114=
- wx_115=
- }--end table
- --]]
- --weather type table for images
- wimage={
- Tornado="00",
- Tornadon="00",
- TropicalStorm="01",
- TropicalStormn="01",
- Hurricane="02",
- Hurricanen="02",
- SevereTStorms="03",
- SevereTStormsn="03",
- TStorms="04",
- TStormsn="04",
- MixedRainandSnow="05",
- MixedRainandSnown="05",
- MixedRainandSleet="06",
- MixedRainandSleetn="06",
- MixedPrecipitation="07",
- MixedPrecipitationn="07",
- FreezingDrizzle="08",
- FreezingDrizzlen="08",
- Drizzle="09",
- Drizzlen="09",
- FreezingRain=10,
- FreezingRainn=10,
- LightRain=11,
- LightRainn=11,
- FewShowers=11,
- FewShowersn=11,
- Rain=12,
- Rainn=12,
- Showers=12,
- Showersn=12,
- SnowFlurries=13,
- SnowFlurriesn=13,
- LightSnowShowers=14,
- LightSnowShowersn=14,
- DriftingSnow=15,
- DriftingSnown=15,
- Snow=16,
- Snown=16,
- Hail=17,
- Hailn=17,
- Sleet=18,
- Sleetn=18,
- Dust=19,
- Dustn=19,
- Fog=20,
- Fogn=20,
- Haze=21,
- Hazen=21,
- Smoke=22,
- Smoken=22,
- Blustery=23,
- Blusteryn=23,
- Windy=24,
- Windyn=24,
- NA=25,
- NAn=25,
- Cloudy=26,
- Cloudyn=26,
- Overcast=26,
- Overcastn=26,
- MostlyCloudyn=27, -- night
- MostlyCloudy=28, -- day
- PartlyCloudyn=29, -- night
- PartlyCloudy=30,--day
- FewCloudsn=29, -- night
- FewClouds=30, -- day
- Clearn=31, -- night
- Clear=32, -- day
- Sunny=32,
- Sunnyn=32,
- MostlySunny=32,
- MostlySunnyn=32,
- Fairn=33, -- night
- Fair=34, -- day
- MixedRainandHail=35,
- MixedRainandHailn=35,
- Hot=36,
- Hotn=36,
- IsolatedTStorms=37, -- day
- IsolatedTStormsn=47, -- night
- ScatteredTStorms=38, -- day
- ScatteredTStormsn=38,
- ScatteredShowers=39, -- day
- ScatteredShowersn=45, -- night
- HeavyRain=40,
- HeavyRainn=40,
- ScatteredSnowShowers=41, -- day
- ScatteredSnowShowersn=46, -- night
- HeavySnow=42,
- HeavySnown=43,
- }
- --check for day or night images
- local timeinhours=tonumber(os.date("%H"))
- if timeinhours>17 or timeinhours<5 then
- daynight="n"
- else
- daynight=""
- end
- --------------------------------------------
- image=
- {
- now="${image "..weathericons..(loadstring("return ".."wimage."..(string.gsub(now.con,"[ %.%/]","")..daynight))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day1="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day1.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day2="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day2.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day3="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day3.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day4="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day4.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day5="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day5.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day6="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day6.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day7="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day7.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day8="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day8.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day9="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day9.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}",
- day10="${image "..weathericons..(loadstring("return ".."wimage."..string.gsub(day10.con,"[ %.%/]",""))())..".png -p "..xpos..","..ypos.." -s "..scale1.."x"..scale2.."}"
- }
- ---------------------------------------------
- if (loadstring("return " .. conkydata)())~=nil then
- output=(loadstring("return " .. conkydata)())
- else
- output="startup"
- end
- return output
- --now=nil;day1=nil;day2=nil;day3=nil;day4=nil;day5=nil;day6=nil;day7=nil;day8=nil;day9=nil;day10=nil;font=nil;data=nil;data1=nil;fdata2=nil
- end--main function
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.