#401 Le 07/01/2012, à 16:58
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
...
cd: 1: can't cd to /tmp/rhône-alpes/valence
..
Dis moi tu as bien le chemin /tmp qui existe ?
Parce que la je sèche.
P.S. : au fait, ton bureau c'est quoi ?
Hors ligne
#402 Le 07/01/2012, à 17:06
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonjour @ tous,
j'ai modifier le script meteo.lua de manière que si le problème remonté hier par jpdipsy se reproduit nos conky n'en souffre pas.
meteo.lua
-- Créé par Didier-T (forum.ubuntu-fr.org) -- Nécessite imagemagique require "io" function lune(r) s = "${exec wget -q -O "..r.."/cal_lunaire http://www.calendrier-lunaire.net/}" conky_parse( s ) local file = assert(io.open(r..'/cal_lunaire', "rb") ) local line = file:read() for line in file:lines() do local pos1 = string.find(line, '">') local pos2 = string.find(line, "</", pos1) if string.find(line, "ephemerides_1") ~= nil then pos1 = string.find(line, 'src="') pos2 = string.find(line, '" /') s = "${exec wget -q -O "..r.."/lune.png http://www.calendrier-lunaire.net/"..string.sub(line, pos1+5, pos2-1).."}" conky_parse( s ) conky_parse( "${exec convert "..r.."/lune.png -transparent '#091a2a' "..r.."/lune.png}" ) elseif string.find(line, "<h2>") ~= nil then ephemerides1 = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(line, 'n>', pos2) local pos4 = string.find(line, "</", pos2+3) ephemerides2 = string.sub(line, pos3+3, pos4-1) ephemerides = ephemerides1.." "..ephemerides2 elseif string.find(line, "Visibilit") ~= nil then Visibilite = string.sub(line, pos1+2, pos2-3) elseif string.find(line, "Phases") ~= nil then Phases = string.gsub(string.sub(line, pos1+2, pos2-1), "é", "é") local pos3 = string.find(Phases, ',') Phases1 = string.sub(Phases, 0, pos3-1) Phases2 = string.sub(Phases, pos3+2) elseif string.find(line, "Noeud lunaire") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Noeud_lunaire = string.gsub(a, " Jours", "") elseif string.find(line, "Apog") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Apogee = string.gsub(a, " Jours", "") elseif string.find(line, "Perig") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Perigee = string.gsub(a, " Jours", "") elseif string.find(line, "Distance") ~= nil then Distance = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "Age de la Lune") ~= nil then Age = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "La Lune se") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") Lever_LuneHeure = string.sub(a, 0, pos3-1) Lever_LuneMinute = string.sub(a, pos3+1) local pos3 = string.find(line, '">', pos2) local pos4 = string.find(line, "</", pos3+3) a = string.sub(line, pos3+2, pos4-1) local pos5 = string.find(a, ":") Coucher_LuneHeure = string.sub(a, 0, pos5-1) Coucher_LuneMinute = string.sub(a, pos5+1) elseif string.find(line, "eclipse_partielle") ~= nil then local pos3 = string.find(line, '">', pos1+3) local a = string.gsub(string.sub(line, pos3+2, pos2-1), "<br />", "à") Eclipse_partielle = a elseif string.find(line, "eclipse_totale") ~= nil then local pos3 = string.find(line, '">', pos1+3) local a = string.gsub(string.sub(line, pos3+2, pos2-1), "<br />", "à") Eclipse_total = a end end io.close(file) end function test_image(i) if i == "1" then return "1su.png" elseif i == "2" then return "2msu.png" elseif i == "3" then return "3psu.png" elseif i == "4" then return "4ic.png" elseif i == "5" then return "5h.png" elseif i == "6" then return "6mc.png" elseif i == "7" then return "7c.png" elseif i == "8" then return "8d.png" elseif i == "11" then return "9f.png" elseif i == "12" then return "10s.png" elseif i == "13" then return "11mcs.png" elseif i == "14" then return "12psus.png" elseif i == "15" then return "13t.png" elseif i == "16" then return "14mct.png" elseif i == "17" then return "15psut.png" elseif i == "18" then return "16r.png" elseif i == "19" then return "17fl.png" elseif i == "20" then return "18mcfl.png" elseif i == "21" then return "19psfl.png" elseif i == "22" then return "20sn.png" elseif i == "23" then return "21mcsn.png" elseif i == "24" then return "22i.png" elseif i == "25" then return "23sl.png" elseif i == "26" then return "24fr.png" elseif i == "29" then return "25rsn.png" elseif i == "30" then return "27ho.png" elseif i == "31" then return "28co.png" elseif i == "32" then return "26w.png" elseif i == "33" then return "29cl.png" elseif i == "34" then return "31mcl.png" elseif i == "35" then return "32pc.png" elseif i == "36" then return "33ic.png" elseif i == "37" then return "34h.png" elseif i == "38" then return "35mc.png" elseif i == "39" then return "36pcs.png" elseif i == "40" then return "37mcs.png" elseif i == "41" then return "38pct.png" elseif i == "42" then return "39mct.png" elseif i == "43" then return "40mcfl.png" elseif i == "44" then return "41mcsn.png" end end function direction_vent(i) if i == "Calme" then return 0 elseif i == "N" then return 10 elseif i == "NNE" then return 11 elseif i == "NE" then return 12 elseif i == "ENE" then return 13 elseif i == "E" then return 14 elseif i == "ESE" then return 15 elseif i == "SE" then return 16 elseif i == "SSE" then return 17 elseif i == "S" then return 2 elseif i == "SSO" then return 3 elseif i == "SO" then return 4 elseif i == "OSO" then return 5 elseif i == "O" then return 6 elseif i == "ONO" then return 7 elseif i == "NO" then return 8 elseif i == "NNO" then return 9 else return 1 end end function vent_plein(d) local b if string.len(d) == 1 then if string.find(d, "N") ~= nil then b = string.gsub(d, "N", "Nord") elseif string.find(d, "S") ~= nil then b = string.gsub(d, "S", "Sud") elseif string.find(d, "E") ~= nil then b = string.gsub(d, "E", "Est") elseif string.find(d, "O") ~= nil then b = string.gsub(d, "O", "Ouest") end else b = d end return b end function icone_vent(d, fo) local f = tonumber(fo) local n if f <= 25 then n = d elseif f <= 50 then n = d + 17 elseif f <= 75 then n = d + 34 elseif f >= 76 then n = d + 51 end if n <= 9 then n = "0"..n end return n..".png" end function decoupage(d) local l1, l2, n, p1, p2, n1, n2, l1b, l2b if string.len(d) >= 21 then n = math.ceil(string.len(d)/2) p1 = string.find(d, " ", n) p2 = string.find(d, " ", -n) if p1 >= p2 then l1b = string.sub(d, 1, p2-1) l2b = string.sub(d, p2+1) else l1b = string.sub(d, 1, p1-1) l2b = string.sub(d, p1+1) end else l1b = d l2b = " " end n1 = math.ceil((21 - string.len(l1b))/2) l1 = string.rep(" ", n1)..l1b n2 = math.ceil((21 - string.len(l2b))/2) l2 = string.rep(" ", n2)..l2b return l1, l2 end function jour_n(a, j) local pos3, iconej,Jour, CondMeteoj, CondMeteoj1, CondMeteoj2, Temp, TempjRes, Vent, VentDirj, VentForcej, iconev, VentP, Uv, ProbOrage, NivPrec, QPluie, QNeige, DPrecHeure, DPluieHeure, DPrecNuit, DPluieNuit, niconej, nCondMeteoj, nCondMeteoj1, nCondMeteoj2, nTemp, nTempjRes, nVent, nVentDirj, nVentForcej, niconev, nVentP, nUv, nProbOrage, nNivPrec, nQPluie, nQNeige, nDPrecHeure, nDPluieHeure, nDPrecMinute, nDPluieMinute, LeverSoleilHeure, CoucherSoleilHeure, LeverLuneHeure, CoucherLuneHeure, DureeJourHeure, DureeNuitHeure, LeverSoleilMinute, CoucherSoleilMinute, LeverLuneMinute, CoucherLuneMinute, DureeJourMinute, DureeNuitMinute, ABJour local s = '${exec wget -q --load-cookies '..Rep..'/cookie -O '..Rep..'/details'..j..' '..a..'details'..j..'.aspx}' conky_parse( s ) local file = assert(io.open(Rep..'/details'..j, "rb") ) local line = file:read() for line in file:lines() do line = string.gsub(line, ",", ".") local pos1 = string.find(line, '">', 40) local pos2 = string.find(line, "</") if string.find(line, "imgDayIcon") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") iconej = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblDetails") ~= nil then pos3 = string.find(line, "pour") Jour = string.sub(line, pos3+5, pos2-1) ABJour = string.sub(line, pos3+5, pos3+7) --jour abrege elseif string.find(line, "lblDayText") ~= nil then CondMeteoj = string.sub(line, pos1+2, pos2-1) CondMeteoj1, CondMeteoj2 = decoupage(CondMeteoj) elseif string.find(line, "lblHighValue") ~= nil then Temp = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblRealFeelValue") ~= nil then TempjRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblWindsValue") ~= nil then Vent = string.sub(line, pos1+2, pos2-1) pos3 = string.find(Vent, " ") VentDirj = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") VentForcej = string.sub(Vent, pos3+1) iconev = icone_vent(direction_vent(VentDirj), VentForcej) VentP = vent_plein(VentDirj) elseif string.find(line, "lblMaxUVValue") ~= nil then Uv = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblTStormProbValue") ~= nil then ProbOrage = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblPrecipValue") ~= nil then NivPrec = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblRainValue") ~= nil then QPluie = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblSnowValue") ~= nil then QNeige = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblHoursPrecipValue") ~= nil then DPrecHeure = string.sub(line, pos1+2, pos2-8) DPrecMinute = "00" elseif string.find(line, "lblHoursOfRainValue") ~= nil then DPluieHeure = string.sub(line, pos1+2, pos2-8) DPluieMinute = "00" elseif string.find(line, "imgNightIcon") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") niconej = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblNightText") ~= nil then nCondMeteoj = string.sub(line, pos1+2, pos2-1) nCondMeteoj1, nCondMeteoj2 = decoupage(nCondMeteoj) elseif string.find(line, "lblLowValue") ~= nil then nTemp = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblRealFeelNValue") ~= nil then nTempjRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblWindsNValue") ~= nil then nVent = string.sub(line, pos1+2, pos2-1) pos3 = string.find(Vent, " ") nVentDirj = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") nVentForcej = string.sub(Vent, pos3+1) niconev = icone_vent(direction_vent(VentDirj), VentForcej) nVentP = vent_plein(VentDirj) elseif string.find(line, "lblTStormProbNValue") ~= nil then nProbOrage = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblPrecipNValue") ~= nil then nNivPrec = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblRainNValue") ~= nil then nQPluie = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblSnowNValue") ~= nil then nQNeige = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblHoursPrecipNValue") ~= nil then nDPrecHeure = string.sub(line, pos1+2, pos2-8) nDPrecMinute = "00" elseif string.find(line, "lblHoursOfRainNValue") ~= nil then nDPluieHeure = string.sub(line, pos1+2, pos2-8) nDPluieMinute = "00" end pos1 = string.find(line, ': ') if string.find(line, "lblSunrise") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") LeverSoleilHeure = string.sub(a, 0, pos3-1) LeverSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblSunset") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") CoucherSoleilHeure = string.sub(a, 0, pos3-1) CoucherSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblMoonrise") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") LeverLuneHeure = string.sub(a, 0, pos3-1) LeverLuneMinute = string.sub(a, pos3+1) elseif string.find(line, "lblMoonset") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") CoucherLuneHeure = string.sub(a, 0, pos3-1) CoucherLuneMinute = string.sub(a, pos3+1) elseif string.find(line, "lblDaylight") ~= nil then DureeJourHeure = string.sub(line, pos1+2, pos2-1) DureeJourMinute = "00" elseif string.find(line, "lblDarkness") ~= nil then DureeNuitHeure = string.sub(line, pos1+2, pos2-1) DureeNuitMinute = "00" end end conditionJour[j] = { CondMeteo=CondMeteoj, Temp=Temp, TempRes=TempjRes, VentDir=VentDirj, VentForce=VentForcej, Uv=Uv, ProbOrage=ProbOrage, NivPrec=NivPrec, QPluie=QPluie, QNeige=QNeige, DPrecHeure=DPrecHeure, DPluieHeure=DPluieHeure, DPrecMinute=DPrecMinute, DPluieMinute=DPluieMinute, IconeM=iconej, IconeV=iconev, VentP=VentP, CondMeteo1=CondMeteoj1, CondMeteo2=CondMeteoj2 } conditionNuit[j] = { CondMeteo=nCondMeteoj, Temp=nTemp, TempRes=nTempjRes, VentDir=nVentDirj, VentForce=nVentForcej, ProbOrage=nProbOrage, NivPrec=nNivPrec, QPluie=nQPluie, QNeige=nQNeige, DPrecHeure=nDPrecHeure, DPluieHeure=nDPluieHeure, DPrecMinute=nDPrecMinute, DPluieMinute=nDPluieMinute, IconeM=niconej, IconeV=niconev, VentP=nVentP, CondMeteo1=nCondMeteoj1, CondMeteo2=nCondMeteoj2 } InfoJour[j] = { Jour=Jour, LeverSoleilHeure=LeverSoleilHeure, CoucherSoleilHeure=CoucherSoleilHeure, LeverLuneHeure=LeverLuneHeure, CoucherLuneHeure=CoucherLuneHeure, DureeJourHeure=DureeJourHeure, DureeNuitHeure=DureeNuitHeure, LeverSoleilMinute=LeverSoleilMinute, CoucherSoleilMinute=CoucherSoleilMinute, LeverLuneMinute=LeverLuneMinute, CoucherLuneMinute=CoucherLuneMinute, DureeJourMinute=DureeJourMinute, DureeNuitMinute=DureeNuitMinute,ABJour=ABJour } io.close(file) end function conky_Meteo_Maj(cmd, jours, delais, r) if t == nil then local bar, bar1 local l = string.sub(cmd, 0, string.find(cmd, '/quick.')-1) local a = 1 while bar == nil do a = a+1 bar = string.find(l, '/', -a) end local l1 = string.sub(cmd, 0, bar-1) local b = 1 while bar1 == nil do b = b+1 bar1 = string.find(l1, '/', -b) end l = string.sub(cmd, bar1, string.find(cmd, '/quick.')-1) Rep = r..l if os.execute("cd "..Rep) ~= 0 then os.execute("mkdir "..r..string.sub(cmd, bar1, bar-1)) os.execute("mkdir "..Rep) end t = os.time()-delais start = 1 end if tonumber(delais) <= os.difftime(os.time(), t) then if os.execute("ping -c 1 www.google.com") == 0 then Heure = nil while Heure == nil do local s = '${exec wget -q --save-cookies '..Rep..'/cookie -O '..Rep..'/curr_cond_raw '..cmd..'}' local addr_week = string.sub(cmd, 0, string.find(cmd, 'quick.')-1) conky_parse( s ) if not conditionJour then conditionJour = {} conditionNuit = {} InfoJour= {} end local file = assert(io.open(Rep.."/curr_cond_raw", "rb") ) local line = file:read() for line in file:lines() do local pos1 = string.find(line, '">') local pos2 = string.find(line, "</") if string.find(line, "imgCurConCondition") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") icone = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblRealFeelValue") ~= nil then TempRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblCurrentTemp") ~= nil then TempAct = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblCurrentTime") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") Heure = string.sub(a, 0, pos3-1) Minute = string.sub(a, pos3+1) elseif string.find(line, "lblCurrentText") ~= nil then CondMeteo = string.sub(line, pos1+2, pos2-1) CondMeteo1, CondMeteo2 = decoupage(CondMeteo) elseif string.find(line, "lblWindsValue") ~= nil then local Vent = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(Vent, " ") VentDir = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") VentForce = string.sub(Vent, pos3+1, -6) IconeV = icone_vent(direction_vent(VentDir), VentForce) VentPlein = vent_plein(VentDir) elseif string.find(line, "lblHumidityValue") ~= nil then Humidite = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblDewPointValue") ~= nil then Rose = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblPressureValue") ~= nil then Pression = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "lblPressureTenValue") ~= nil then EvoPression = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblVisibilityValue") ~= nil then Visibilite = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "lblSunRiseValue") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") LeverSoleilHeure = string.sub(a, 0, pos3-1) LeverSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblSunSetValue") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") CoucherSoleilHeure = string.sub(a, 0, pos3-1) CoucherSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblDate") ~= nil then Date = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lnkLocation") ~= nil then Ville = string.sub(line, pos1+2, pos2-9) end end io.close(file) t = os.time() if 14400 <= os.difftime(os.time(), t) or start == 1 then local Jour local s = '${exec wget -q --load-cookies '..Rep..'/cookie -O '..Rep..'/details1 '..addr_week..'details1.aspx}' conky_parse( s ) local file = assert(io.open(Rep..'/details1', "rb") ) local line = file:read() for line in file:lines() do line = string.gsub(line, ",", ".") local pos1 = string.find(line, "pour", 40) local pos2 = string.find(line, "</") if string.find(line, "lblDetails") ~= nil then Jour = string.sub(line, pos1+5, pos2-1) end end io.close(file) if Date == Jour then for i = 1,jours do jour_n(addr_week, i) end else for i = 1,jours do jour_n(addr_week, i+1) end end start = 2 end end lune(r) end collectgarbage() end return " " end --Retour d'information météo --Condition courrante function conky_Meteo_IconeM(r, p, s, f) return "${image "..r.."/"..icone.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_TempRes() return tonumber(TempRes) end function conky_Meteo_TempAct() return tonumber(TempAct) end function conky_Meteo_Heure() return Heure end function conky_Meteo_Minute() return Minute end function conky_Meteo_CondMeteo() return CondMeteo end function conky_Meteo_CondMeteo1() return CondMeteo1 end function conky_Meteo_CondMeteo2() return CondMeteo2 end function conky_Meteo_VentDir() return VentDir end function conky_Meteo_VentDirP() return VentPlein end function conky_Meteo_VentForce() return tonumber(VentForce) end function conky_Meteo_IconeV(r, p, s, f) return "${image "..r.."/"..IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Humidite() return tonumber(Humidite) end function conky_Meteo_Rose() return tonumber(Rose) end function conky_Meteo_Pression() return tonumber(Pression) end function conky_Meteo_EvoPression() return EvoPression end function conky_Meteo_Visibilite() return tonumber(Visibilite) end function conky_Meteo_HLeverSoleilC() return LeverSoleilHeure end function conky_Meteo_MLeverSoleilC() return LeverSoleilMinute end function conky_Meteo_HCoucherSoleilC() return CoucherSoleilHeure end function conky_Meteo_MCoucherSoleilC() return CoucherSoleilMinute end function conky_Meteo_Date() return Date end function conky_Meteo_Ville() return Ville end --Prévision Météo --Jour function conky_Meteo_Jour_CondMeteo(j) return conditionJour[tonumber(j)].CondMeteo end function conky_Meteo_Jour_CondMeteo1(j) return conditionJour[tonumber(j)].CondMeteo1 end function conky_Meteo_Jour_CondMeteo2(j) return conditionJour[tonumber(j)].CondMeteo2 end function conky_Meteo_Jour_Temp(j) return tonumber(conditionJour[tonumber(j)].Temp) end function conky_Meteo_Jour_TempRes(j) return tonumber(conditionJour[tonumber(j)].TempRes) end function conky_Meteo_Jour_VentDir(j) return conditionJour[tonumber(j)].VentDir end function conky_Meteo_Jour_VentDirP(j) return conditionJour[tonumber(j)].VentP end function conky_Meteo_Jour_VentForce(j) return tonumber(conditionJour[tonumber(j)].VentForce) end function conky_Meteo_Jour_Uv(j) return tonumber(conditionJour[tonumber(j)].Uv) end function conky_Meteo_Jour_ProbOrage(j) return tonumber(conditionJour[tonumber(j)].ProbOrage) end function conky_Meteo_Jour_NivPrec(j) return tonumber(conditionJour[tonumber(j)].NivPrec) end function conky_Meteo_Jour_QPluie(j) return tonumber(conditionJour[tonumber(j)].QPluie) end function conky_Meteo_Jour_QNeige(j) return tonumber(conditionJour[tonumber(j)].QNeige) end function conky_Meteo_Jour_HDureePrec(j) return conditionJour[tonumber(j)].DPrecHeure end function conky_Meteo_Jour_MDureePrec(j) return conditionJour[tonumber(j)].DPrecMinute end function conky_Meteo_Jour_HDureePluie(j) return conditionJour[tonumber(j)].DPluieHeure end function conky_Meteo_Jour_MDureePluie(j) return conditionJour[tonumber(j)].DPluieMinute end function conky_Meteo_Jour_IconeM(r, p, s, f, j) return "${image "..r.."/"..conditionJour[tonumber(j)].IconeM.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Jour_IconeV(r, p, s, f, j) return "${image "..r.."/"..conditionJour[tonumber(j)].IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end --Nuit function conky_Meteo_Nuit_CondMeteo(j) return conditionNuit[tonumber(j)].CondMeteo end function conky_Meteo_Nuit_CondMeteo1(j) return conditionNuit[tonumber(j)].CondMeteo1 end function conky_Meteo_Nuit_CondMeteo2(j) return conditionNuit[tonumber(j)].CondMeteo2 end function conky_Meteo_Nuit_Temp(j) return tonumber(conditionNuit[tonumber(j)].Temp) end function conky_Meteo_Nuit_TempRes(j) return tonumber(conditionNuit[tonumber(j)].TempRes) end function conky_Meteo_Nuit_VentDir(j) return conditionNuit[tonumber(j)].VentDir end function conky_Meteo_Nuit_VentDirP(j) return conditionNuit[tonumber(j)].VentP end function conky_Meteo_Nuit_VentForce(j) return tonumber(conditionNuit[tonumber(j)].VentForce) end function conky_Meteo_Nuit_ProbOrage(j) return tonumber(conditionNuit[tonumber(j)].ProbOrage) end function conky_Meteo_Nuit_NivPrec(j) return tonumber(conditionNuit[tonumber(j)].NivPrec) end function conky_Meteo_Nuit_QPluie(j) return tonumber(conditionNuit[tonumber(j)].QPluie) end function conky_Meteo_Nuit_QNeige(j) return tonumber(conditionNuit[tonumber(j)].QNeige) end function conky_Meteo_Nuit_HDureePrec(j) return conditionNuit[tonumber(j)].DPrecHeure end function conky_Meteo_Nuit_MDureePrec(j) return conditionNuit[tonumber(j)].DPrecMinute end function conky_Meteo_Nuit_HDureePluie(j) return conditionNuit[tonumber(j)].DPluieHeure end function conky_Meteo_Nuit_MDureePluie(j) return conditionNuit[tonumber(j)].DPluieMinute end function conky_Meteo_Nuit_IconeM(r, p, s, f, j) return "${image "..r.."/"..conditionNuit[tonumber(j)].IconeM.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Nuit_IconeV(r, p, s, f, j) return "${image "..r.."/"..conditionNuit[tonumber(j)].IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end --Infos sur la journée function conky_Meteo_Jour(j) return InfoJour[tonumber(j)].Jour end function conky_Meteo_ABJour(j) return InfoJour[tonumber(j)].ABJour --jour abrege end function conky_Meteo_HLeverSoleil(j) return InfoJour[tonumber(j)].LeverSoleilHeure end function conky_Meteo_MLeverSoleil(j) return InfoJour[tonumber(j)].LeverSoleilMinute end function conky_Meteo_HCoucherSoleil(j) return InfoJour[tonumber(j)].CoucherSoleilHeure end function conky_Meteo_MCoucherSoleil(j) return InfoJour[tonumber(j)].CoucherSoleilMinute end function conky_Meteo_HLeverLune(j) return InfoJour[tonumber(j)].LeverLuneHeure end function conky_Meteo_MLeverLune(j) return InfoJour[tonumber(j)].LeverLuneMinute end function conky_Meteo_HCoucherLune(j) return InfoJour[tonumber(j)].CoucherLuneHeure end function conky_Meteo_MCoucherLune(j) return InfoJour[tonumber(j)].CoucherLuneMinute end function conky_Meteo_HDureeJour(j) return InfoJour[tonumber(j)].DureeJourHeure end function conky_Meteo_MDureeJour(j) return InfoJour[tonumber(j)].DureeJourMinute end function conky_Meteo_HDureeNuit(j) return InfoJour[tonumber(j)].DureeNuitHeure end function conky_Meteo_MDureeNuit(j) return InfoJour[tonumber(j)].DureeNuitMinute end --Lunaison function conky_Lune_ephemerides() return ephemerides end function conky_Lune_ephemerides1() return ephemerides1 end function conky_Lune_ephemerides2() return ephemerides2 end function conky_Lune_Visibilite() return Visibilite end function conky_Lune_Phases() return Phases end function conky_Lune_Phases1() return Phases1 end function conky_Lune_Phases2() return Phases2 end function conky_Lune_Noeudlunaire() return Noeud_lunaire end function conky_Lune_Apogee() return Apogee end function conky_Lune_Perigee() return Perigee end function conky_Lune_Distance() return Distance end function conky_Lune_Age() return Age end function conky_Lune_HLeverLune() return Lever_LuneHeure end function conky_Lune_MLeverLune() return Lever_LuneMinute end function conky_Lune_HCoucherLune() return Coucher_LuneHeure end function conky_Lune_MCoucherLune() return Coucher_LuneMinute end function conky_Lune_EclipsePartielle() return Eclipse_partielle end function conky_Lune_EclipseTotal() return Eclipse_total end
Une petite question, personne ne saurai si ont peut utiliser dbus avec lua par hasard ?
Hors ligne
#403 Le 07/01/2012, à 18:36
- Chokapic
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Hello tout le monde !
Voici ma nouvelle mouture de conky by accuweather. J'ai remanié le script météo pour qu'il soit à la fois plus compact et plus clair. Mon objectif était de réduire la place de la météo sur mon écran.
Comme la dernière fois voici une capture d'écran :
https://skydrive.live.com/?cid=B6073F9A … 1ADD%21169
Et vous trouverez ma v.2 ici :
https://skydrive.live.com/redir.aspx?ci … parid=root
Enjoy sans prétention
Dernière modification par Chokapic (Le 07/01/2012, à 18:46)
Le plus grand pouvoir de décision dans ce monde, c'est le nombre de personnes qui pensent et agissent de concert au même moment...il est temps de s'en servir pour rétablir les valeurs fondamentales de et pour l'Humanité Une.
Crunchbang sur du 64 bits et 4 core c'est comme un TGV sur une autoroute : sécurité et vitesse ! ;-)
Hors ligne
#404 Le 07/01/2012, à 23:03
- padawarno
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonjour !
Merci beaucoup aux contributeurs de cette conversation !
J'ai utilisé le "pack" v.1 de Chokapic (script le plus visuellement "neutre" à mon goût) en ce qui concerne la météo (d'une seule ville), et j'y suis presque.
Mais il semble que pour y arriver définitivement, j'ai besoin d'un petit coup de main.
Voilà en image le résultat :
On peut voir que les images ne s'affichent pas
- mais j'ai 4 lignes "Conky: unknown variable image" qui s'affichent lorsque je lance le script en console avec la commande conky -d -c /home/arno/.conky/openbox/conkyrc-meteo &
Aussi, je demande l'affichage en bas à gauche de l'écran... et on peut pas dire franchement que ce soit en bas.
Voilà mon script conkyrc-meteo :
# -- Paramètres Conky Météo -- #
# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
alignment bottom_left
#alignment bottom_right
background no
# border margins
#border_margin 0
# border width
border_width 1
# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 1
default_color 645D5D
color1 3B6702
color2 645D5D
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# Draw borders around text
draw_borders no
draw_graph_borders no
# Draw outlines?
draw_outline no
# Draw shades?
draw_shades no
# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 15
gap_y 25
# Minimum size of text area
minimum_size 300 200
maximum_width 225
#minimum_size 300 200
#maximum_width 300
# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2
# Subtract file system buffers from used memory?
no_buffers yes
out_to_console no
# Force UTF8? note that UTF8 support required XFT
#override_utf8_locale yes
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_argb_value 100
own_window_argb_visual yes
own_window_class Conky
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes
own_window_type desktop #normal
show_graph_range no
show_graph_scale no
short_units yes
# Stippled borders?
stippled_borders 0
# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0
# Update interval in seconds
update_interval 2
# set to yes if you want all text to be in uppercase
uppercase no
# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer none
# Use Xft?
use_xft yes
xftalpha 0.8
xftfont Bitstream Vera Sans Mono:size=8
#Parametres supp pour la meteo
text_buffer_size 1024
#imlib_cache_size 0
TEXT
${font DejaVu Sans:size=12}
${font :bold:size=12}${color2}Montréal (Qc)${execpi 1800 ~/.conky/openbox/weather/script/meteo}
${font :italic:size=8}(dernier relevé : ${exec sed -e 's/:/h/' ~/.conky/openbox/weather/meteo+lune/curr_cond | sed -n 3p})
${color2}${font}${color1}${execpi 600 sed -n '1p' ~/.conky/openbox/weather/meteo+lune/messages}
${voffset 3}${execpi 600 sed -n '2p' ~/.conky/openbox/weather/meteo+lune/messages}
${voffset 3}${font}${color2}Neige : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo q_neige 0 jour}-${execpi 1800 ~/.conky/openbox/weather/script/afmeteo q_neige 0 soir}
${voffset 3}${font}${color2}Visibilité : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo visibilite cc}
${voffset 3}${font}${color2}Humidité : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo taux_humidite cc}
${voffset 3}${font}${color2}Sens du vent : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo direction_vent cc}
${voffset 3}${font}${color2}Vitesse du vent : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo vitesse_vent cc} km/h
${voffset 3}${font}${color2}Risque d'orages : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo prob_orage 0 jour}-${execpi 1800 ~/.conky/openbox/weather/script/afmeteo prob_orage 0 soir}
${voffset 3}${font}${color2}Pression : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo pression cc} - ${execpi 1800 ~/.conky/openbox/weather/script/afmeteo tend_pression cc}
${voffset 3}${font}${color2}Soleil : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo lever_soleil cc} - ${execpi 1800 ~/.conky/openbox/weather/script/afmeteo coucher_soleil cc}
${alignr 45}${font :italic:size=8}${color2}Ensoleillement : ${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo duree_jour 0} h
${voffset 3}${font :italic:size=8}${color2}Prévisions :
${voffset 100}${font}${color2}Lune : ${color1}${execpi 600 ~/.conky/openbox/weather/script/lune.sh}
${voffset 3}${font}${color2}${color1}${execpi 600 sed -n '3p' ~/.conky/openbox/weather/meteo+lune/phases} ${execpi 600 sed -n '4p' ~/.conky/openbox/weather/meteo+lune/phases}
${voffset 3}${color1}${execpi 600 sed -n '8p' ~/.conky/openbox/weather/meteo+lune/phases} ${execpi 600 sed -n '9p' ~/.conky/openbox/weather/meteo+lune/phases}
${offset 130}${voffset -290}${font :size=32}${color1}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp cc}°
############################################################################################################################
${voffset 115}${font}${color1}${goto 25}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp 1 jour}°${color1}/${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp 1 soir}°${font}${color1}${goto 75}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp 2 jour}°${color1}/${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp 2 soir}°#${font}${color1}${goto 122}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp 3 jour}°${color1}/${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp 3 soir}°${font}${color1}${goto 170}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp 4 jour}°${color1}/${execpi 1800 ~/.conky/openbox/weather/script/afmeteo temp 4 soir}°${font}
############################################################################################################################
${font :size=8}${color2}${goto 30}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo jour 1}${font :size=8}${goto 77}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo jour 2}#${font :size=8}${goto 125}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo jour 3}${font :size=8}${goto 172}${execpi 1800 ~/.conky/openbox/weather/script/afmeteo jour 4}${font :size=8}${color2}
${image ~/.conky/openbox/weather/meteo+lune/icones/cc.png -p 140,75 -s 135x81} #icône météo du jour#
${image ~/.conky/openbox/weather/meteo+lune/icones/lune.png -p 215,380 -s 50x50} #icône phase lune#
${image ~/.conky/openbox/weather/meteo+lune/icones/J1jour.png -p 15,300 -s 50x30} #icône météo prévisions#
${image ~/.conky/openbox/weather/meteo+lune/icones/J2jour.png -p 65,300 -s 50x30} #icône météo prévisions#
#${image ~/.conky/openbox/weather/meteo+lune/icones/J3jour.png -p 113,300 -s 50x30} #icône météo prévisions#
#${image ~/.conky/openbox/weather/meteo+lune/icones/J4jour.png -p 160,300 -s 50x30} #icône météo prévisions#
############################################################################################################################
Voilà mon meteo.cfg :
# Créé par jpdipsy (forum.ubuntu-fr.org)
#Repertoire de travail
DirShell="$HOME/.conky/openbox/weather/meteo+lune"
#Copier votre adresse Accuweather ici
address="http://www.accuweather.com/fr/ca/quebec/montreal/quick-look.aspx"
#Prévision sur n jour (de 1 à 15)
periode=3
Sauriez vous m'aider, s'il vous plait ?
Merci encore beaucoup par avance !
Arno
Dernière modification par padawarno (Le 08/01/2012, à 05:06)
Hors ligne
#405 Le 08/01/2012, à 04:48
- jpdipsy
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Une petite question, personne ne saurai si ont peut utiliser dbus avec lua par hasard ?
C'est vrai que apparemment il n'existe rien ou presque et ce serai pour qu'elle type d'application ?
Au fait dans le script lua au découpage tu ajoutes un espace au début de chaque découpe, perso je l'ai enlevé pour retrouver un affichage sans décalage à droite.
end
n1 = math.ceil((21 - string.len(l1b))/2)
l1 = string.rep("", n1)..l1b
n2 = math.ceil((21 - string.len(l2b))/2)
l2 = string.rep("", n2)..l2b
return l1, l2
Hors ligne
#406 Le 08/01/2012, à 05:05
- padawarno
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
@Chokapic :
Il n'y a pas les scripts dans ta version 2 ?
Je suis intéressé par la présentation horizontale plutôt que verticale. :-)
Dernière modification par padawarno (Le 08/01/2012, à 05:06)
Hors ligne
#407 Le 08/01/2012, à 05:30
- jpdipsy
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Didier
Voici un shot avec le dernier script lua la nuit il y a des manques
ps: remarque l'affichage des conditions découpées sans les espaces
Hors ligne
#408 Le 08/01/2012, à 09:21
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Didier-T a écrit :Une petite question, personne ne saurai si ont peut utiliser dbus avec lua par hasard ?
C'est vrai que apparemment il n'existe rien ou presque et ce serai pour qu'elle type d'application ?
En fait je travaille sur un conky de Shamen456 que j'ai découvert ici, alors le problème de mémoire est réglé, mais je fait appel à dbus via un petit script en perl, et du coups la consommation processeur est importante.
Par la suite sa pourrait servir a plein de choses, reste à être imaginatif.
Au fait dans le script lua au découpage tu ajoutes un espace au début de chaque découpe, perso je l'ai enlevé pour retrouver un affichage sans décalage à droite.
end
n1 = math.ceil((21 - string.len(l1b))/2)
l1 = string.rep("", n1)..l1b
n2 = math.ceil((21 - string.len(l2b))/2)
l2 = string.rep("", n2)..l2b
return l1, l2
les espaces sont la pour faire un pseudo centrage, mais c'est vrai que pour certaine présentation c'est une gène plus qu'un avantage, je vais revoir sa.
Hors ligne
#409 Le 08/01/2012, à 09:47
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonjour !
...
On peut voir que les images ne s'affichent pas
- mais j'ai 4 lignes "Conky: unknown variable image" qui s'affichent lorsque je lance le script en console avec la commande conky -d -c /home/arno/.conky/openbox/conkyrc-meteo &Aussi, je demande l'affichage en bas à gauche de l'écran... et on peut pas dire franchement que ce soit en bas.
...
Bonjour,
pour les images tu pourrais nous copier le message d'erreur que tu obtiens en console.
pour le second soucis c'est plus simple.
ajoute un
${voffset -xxx}
a la fin de ton conky en tâtonnant un peut pour le retrais tu obtiendra la présentation désiré ( c'est du au fait de placer tous les appels d’image à la fin de ton conky ).
P.S.: au fait les images sont elles créé dans ton chemin "~/.conky/openbox/weather/meteo+lune/icones"
Hors ligne
#410 Le 08/01/2012, à 09:50
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Didier
Voici un shot avec le dernier script lua la nuit il y a des manques
ps: remarque l'affichage des conditions découpées sans les espaces
étrange, tu utilise le dernier script en lua ?
si c'est le cas il y a un soucis dans la modif que j’ai fait hier.
Hors ligne
#411 Le 08/01/2012, à 10:36
- jpdipsy
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Didier
Ouaip ça ne déconne que la nuit en ce moment tout est O.K je n'ai pas encore vu à quelle heure le site basculait sur les données jour.
Pour DBus ça m'intéresse aussi pour Clementine obligé de passer par des scripts bash faisant appel à DBUS
Hors ligne
#412 Le 08/01/2012, à 12:42
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bon j'ai remodifié le script lua,
meteo.lua
-- Créé par Didier-T (forum.ubuntu-fr.org) -- Nécessite imagemagique require "io" function lune(r) s = "${exec wget -q -O "..r.."/cal_lunaire http://www.calendrier-lunaire.net/}" conky_parse( s ) local file = assert(io.open(r..'/cal_lunaire', "rb") ) local line = file:read() for line in file:lines() do local pos1 = string.find(line, '">') local pos2 = string.find(line, "</", pos1) if string.find(line, "ephemerides_1") ~= nil then pos1 = string.find(line, 'src="') pos2 = string.find(line, '" /') s = "${exec wget -q -O "..r.."/lune.png http://www.calendrier-lunaire.net/"..string.sub(line, pos1+5, pos2-1).."}" conky_parse( s ) conky_parse( "${exec convert "..r.."/lune.png -transparent '#091a2a' "..r.."/lune.png}" ) elseif string.find(line, "<h2>") ~= nil then ephemerides1 = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(line, 'n>', pos2) local pos4 = string.find(line, "</", pos2+3) ephemerides2 = string.sub(line, pos3+3, pos4-1) ephemerides = ephemerides1.." "..ephemerides2 elseif string.find(line, "Visibilit") ~= nil then Visibilite = string.sub(line, pos1+2, pos2-3) elseif string.find(line, "Phases") ~= nil then Phases = string.gsub(string.sub(line, pos1+2, pos2-1), "é", "é") local pos3 = string.find(Phases, ',') Phases1 = string.sub(Phases, 0, pos3-1) Phases2 = string.sub(Phases, pos3+2) elseif string.find(line, "Noeud lunaire") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Noeud_lunaire = string.gsub(a, " Jours", "") elseif string.find(line, "Apog") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Apogee = string.gsub(a, " Jours", "") elseif string.find(line, "Perig") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Perigee = string.gsub(a, " Jours", "") elseif string.find(line, "Distance") ~= nil then Distance = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "Age de la Lune") ~= nil then Age = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "La Lune se") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") Lever_LuneHeure = string.sub(a, 0, pos3-1) Lever_LuneMinute = string.sub(a, pos3+1) local pos3 = string.find(line, '">', pos2) local pos4 = string.find(line, "</", pos3+3) a = string.sub(line, pos3+2, pos4-1) local pos5 = string.find(a, ":") Coucher_LuneHeure = string.sub(a, 0, pos5-1) Coucher_LuneMinute = string.sub(a, pos5+1) elseif string.find(line, "eclipse_partielle") ~= nil then local pos3 = string.find(line, '">', pos1+3) local a = string.gsub(string.sub(line, pos3+2, pos2-1), "<br />", "à") Eclipse_partielle = a elseif string.find(line, "eclipse_totale") ~= nil then local pos3 = string.find(line, '">', pos1+3) local a = string.gsub(string.sub(line, pos3+2, pos2-1), "<br />", "à") Eclipse_total = a end end io.close(file) end function test_image(i) if i == "1" then return "1su.png" elseif i == "2" then return "2msu.png" elseif i == "3" then return "3psu.png" elseif i == "4" then return "4ic.png" elseif i == "5" then return "5h.png" elseif i == "6" then return "6mc.png" elseif i == "7" then return "7c.png" elseif i == "8" then return "8d.png" elseif i == "11" then return "9f.png" elseif i == "12" then return "10s.png" elseif i == "13" then return "11mcs.png" elseif i == "14" then return "12psus.png" elseif i == "15" then return "13t.png" elseif i == "16" then return "14mct.png" elseif i == "17" then return "15psut.png" elseif i == "18" then return "16r.png" elseif i == "19" then return "17fl.png" elseif i == "20" then return "18mcfl.png" elseif i == "21" then return "19psfl.png" elseif i == "22" then return "20sn.png" elseif i == "23" then return "21mcsn.png" elseif i == "24" then return "22i.png" elseif i == "25" then return "23sl.png" elseif i == "26" then return "24fr.png" elseif i == "29" then return "25rsn.png" elseif i == "30" then return "27ho.png" elseif i == "31" then return "28co.png" elseif i == "32" then return "26w.png" elseif i == "33" then return "29cl.png" elseif i == "34" then return "31mcl.png" elseif i == "35" then return "32pc.png" elseif i == "36" then return "33ic.png" elseif i == "37" then return "34h.png" elseif i == "38" then return "35mc.png" elseif i == "39" then return "36pcs.png" elseif i == "40" then return "37mcs.png" elseif i == "41" then return "38pct.png" elseif i == "42" then return "39mct.png" elseif i == "43" then return "40mcfl.png" elseif i == "44" then return "41mcsn.png" end end function direction_vent(i) if i == "Calme" then return 0 elseif i == "N" then return 10 elseif i == "NNE" then return 11 elseif i == "NE" then return 12 elseif i == "ENE" then return 13 elseif i == "E" then return 14 elseif i == "ESE" then return 15 elseif i == "SE" then return 16 elseif i == "SSE" then return 17 elseif i == "S" then return 2 elseif i == "SSO" then return 3 elseif i == "SO" then return 4 elseif i == "OSO" then return 5 elseif i == "O" then return 6 elseif i == "ONO" then return 7 elseif i == "NO" then return 8 elseif i == "NNO" then return 9 else return 1 end end function vent_plein(d) local b if string.len(d) == 1 then if string.find(d, "N") ~= nil then b = string.gsub(d, "N", "Nord") elseif string.find(d, "S") ~= nil then b = string.gsub(d, "S", "Sud") elseif string.find(d, "E") ~= nil then b = string.gsub(d, "E", "Est") elseif string.find(d, "O") ~= nil then b = string.gsub(d, "O", "Ouest") end else b = d end return b end function icone_vent(d, fo) local f = tonumber(fo) local n if f <= 25 then n = d elseif f <= 50 then n = d + 17 elseif f <= 75 then n = d + 34 elseif f >= 76 then n = d + 51 end if n <= 9 then n = "0"..n end return n..".png" end function decoupage(d) local l1, l2, n, p1, p2, n1, n2, l1b, l2b if string.len(d) >= 21 then n = math.ceil(string.len(d)/2) p1 = string.find(d, " ", n) p2 = string.find(d, " ", -n) if p1 >= p2 then l1b = string.sub(d, 1, p2-1) l2b = string.sub(d, p2+1) else l1b = string.sub(d, 1, p1-1) l2b = string.sub(d, p1+1) end else l1b = d l2b = " " end n1 = math.ceil((21 - string.len(l1b))/2) l1 = string.rep(" ", n1)..l1b n2 = math.ceil((21 - string.len(l2b))/2) l2 = string.rep(" ", n2)..l2b return l1, l2, l1b, l2b end function jour_n(a, j, x) local pos3, iconej,Jour, CondMeteoj, CondMeteoj1, CondMeteoj2, Temp, TempjRes, Vent, VentDirj, VentForcej, iconev, VentP, Uv, ProbOrage, NivPrec, QPluie, QNeige, DPrecHeure, DPluieHeure, DPrecNuit, DPluieNuit, niconej, nCondMeteoj, nCondMeteoj1, nCondMeteoj2, nTemp, nTempjRes, nVent, nVentDirj, nVentForcej, niconev, nVentP, nUv, nProbOrage, nNivPrec, nQPluie, nQNeige, nDPrecHeure, nDPluieHeure, nDPrecMinute, nDPluieMinute, LeverSoleilHeure, CoucherSoleilHeure, LeverLuneHeure, CoucherLuneHeure, DureeJourHeure, DureeNuitHeure, LeverSoleilMinute, CoucherSoleilMinute, LeverLuneMinute, CoucherLuneMinute, DureeJourMinute, DureeNuitMinute, ABJour, CondMeteoj1se, CondMeteoj2se, nCondMeteoj1se, nCondMeteoj2se local i = j+x local s = '${exec wget -q --load-cookies '..Rep..'/cookie -O '..Rep..'/details'..j..' '..a..'details'..i..'.aspx}' conky_parse( s ) local file = assert(io.open(Rep..'/details'..j, "rb") ) local line = file:read() for line in file:lines() do line = string.gsub(line, ",", ".") local pos1 = string.find(line, '">', 40) local pos2 = string.find(line, "</") if string.find(line, "imgDayIcon") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") iconej = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblDetails") ~= nil then pos3 = string.find(line, "pour") Jour = string.sub(line, pos3+5, pos2-1) ABJour = string.sub(line, pos3+5, pos3+7) --jour abrege elseif string.find(line, "lblDayText") ~= nil then CondMeteoj = string.sub(line, pos1+2, pos2-1) CondMeteoj1, CondMeteoj2, CondMeteoj1se, CondMeteoj2se = decoupage(CondMeteoj) elseif string.find(line, "lblHighValue") ~= nil then Temp = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblRealFeelValue") ~= nil then TempjRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblWindsValue") ~= nil then Vent = string.sub(line, pos1+2, pos2-1) pos3 = string.find(Vent, " ") VentDirj = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") VentForcej = string.sub(Vent, pos3+1) iconev = icone_vent(direction_vent(VentDirj), VentForcej) VentP = vent_plein(VentDirj) elseif string.find(line, "lblMaxUVValue") ~= nil then Uv = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblTStormProbValue") ~= nil then ProbOrage = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblPrecipValue") ~= nil then NivPrec = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblRainValue") ~= nil then QPluie = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblSnowValue") ~= nil then QNeige = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblHoursPrecipValue") ~= nil then DPrecHeure = string.sub(line, pos1+2, pos2-8) DPrecMinute = "00" elseif string.find(line, "lblHoursOfRainValue") ~= nil then DPluieHeure = string.sub(line, pos1+2, pos2-8) DPluieMinute = "00" elseif string.find(line, "imgNightIcon") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") niconej = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblNightText") ~= nil then nCondMeteoj = string.sub(line, pos1+2, pos2-1) nCondMeteoj1, nCondMeteoj2, nCondMeteoj1se, nCondMeteoj2se = decoupage(nCondMeteoj) elseif string.find(line, "lblLowValue") ~= nil then nTemp = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblRealFeelNValue") ~= nil then nTempjRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblWindsNValue") ~= nil then nVent = string.sub(line, pos1+2, pos2-1) pos3 = string.find(Vent, " ") nVentDirj = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") nVentForcej = string.sub(Vent, pos3+1) niconev = icone_vent(direction_vent(VentDirj), VentForcej) nVentP = vent_plein(VentDirj) elseif string.find(line, "lblTStormProbNValue") ~= nil then nProbOrage = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblPrecipNValue") ~= nil then nNivPrec = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblRainNValue") ~= nil then nQPluie = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblSnowNValue") ~= nil then nQNeige = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblHoursPrecipNValue") ~= nil then nDPrecHeure = string.sub(line, pos1+2, pos2-8) nDPrecMinute = "00" elseif string.find(line, "lblHoursOfRainNValue") ~= nil then nDPluieHeure = string.sub(line, pos1+2, pos2-8) nDPluieMinute = "00" end pos1 = string.find(line, ': ') if string.find(line, "lblSunrise") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") LeverSoleilHeure = string.sub(a, 0, pos3-1) LeverSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblSunset") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") CoucherSoleilHeure = string.sub(a, 0, pos3-1) CoucherSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblMoonrise") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") LeverLuneHeure = string.sub(a, 0, pos3-1) LeverLuneMinute = string.sub(a, pos3+1) elseif string.find(line, "lblMoonset") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") CoucherLuneHeure = string.sub(a, 0, pos3-1) CoucherLuneMinute = string.sub(a, pos3+1) elseif string.find(line, "lblDaylight") ~= nil then DureeJourHeure = string.sub(line, pos1+2, pos2-1) DureeJourMinute = "00" elseif string.find(line, "lblDarkness") ~= nil then DureeNuitHeure = string.sub(line, pos1+2, pos2-1) DureeNuitMinute = "00" end end conditionJour[j] = { CondMeteo=CondMeteoj, Temp=Temp, TempRes=TempjRes, VentDir=VentDirj, VentForce=VentForcej, Uv=Uv, ProbOrage=ProbOrage, NivPrec=NivPrec, QPluie=QPluie, QNeige=QNeige, DPrecHeure=DPrecHeure, DPluieHeure=DPluieHeure, DPrecMinute=DPrecMinute, DPluieMinute=DPluieMinute, IconeM=iconej, IconeV=iconev, VentP=VentP, CondMeteo1=CondMeteoj1, CondMeteo2=CondMeteoj2, CondMeteo1se=CondMeteoj1se, CondMeteo2se=CondMeteoj2se } conditionNuit[j] = { CondMeteo=nCondMeteoj, Temp=nTemp, TempRes=nTempjRes, VentDir=nVentDirj, VentForce=nVentForcej, ProbOrage=nProbOrage, NivPrec=nNivPrec, QPluie=nQPluie, QNeige=nQNeige, DPrecHeure=nDPrecHeure, DPluieHeure=nDPluieHeure, DPrecMinute=nDPrecMinute, DPluieMinute=nDPluieMinute, IconeM=niconej, IconeV=niconev, VentP=nVentP, CondMeteo1=nCondMeteoj1, CondMeteo2=nCondMeteoj2, CondMeteo1se=nCondMeteoj1se, CondMeteo2se=nCondMeteoj2se } InfoJour[j] = { Jour=Jour, LeverSoleilHeure=LeverSoleilHeure, CoucherSoleilHeure=CoucherSoleilHeure, LeverLuneHeure=LeverLuneHeure, CoucherLuneHeure=CoucherLuneHeure, DureeJourHeure=DureeJourHeure, DureeNuitHeure=DureeNuitHeure, LeverSoleilMinute=LeverSoleilMinute, CoucherSoleilMinute=CoucherSoleilMinute, LeverLuneMinute=LeverLuneMinute, CoucherLuneMinute=CoucherLuneMinute, DureeJourMinute=DureeJourMinute, DureeNuitMinute=DureeNuitMinute,ABJour=ABJour } io.close(file) end function conky_Meteo_Maj(cmd, jours, delais, r) if t == nil then local bar, bar1 local l = string.sub(cmd, 0, string.find(cmd, '/quick.')-1) local a = 1 while bar == nil do a = a+1 bar = string.find(l, '/', -a) end local l1 = string.sub(cmd, 0, bar-1) local b = 1 while bar1 == nil do b = b+1 bar1 = string.find(l1, '/', -b) end l = string.sub(cmd, bar1, string.find(cmd, '/quick.')-1) Rep = r..l if os.execute("cd "..Rep) ~= 0 then os.execute("mkdir "..r..string.sub(cmd, bar1, bar-1)) os.execute("mkdir "..Rep) end t = os.time()-delais start = 1 end if tonumber(delais) <= os.difftime(os.time(), t) then if os.execute("ping -c 1 www.google.com") == 0 then Heure = nil while Heure == nil do local s = '${exec wget -q --save-cookies '..Rep..'/cookie -O '..Rep..'/curr_cond_raw '..cmd..'}' local addr_week = string.sub(cmd, 0, string.find(cmd, 'quick.')-1) conky_parse( s ) if not conditionJour then conditionJour = {} conditionNuit = {} InfoJour= {} end local file = assert(io.open(Rep.."/curr_cond_raw", "rb") ) local line = file:read() for line in file:lines() do local pos1 = string.find(line, '">') local pos2 = string.find(line, "</") if string.find(line, "imgCurConCondition") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") icone = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblRealFeelValue") ~= nil then TempRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblCurrentTemp") ~= nil then TempAct = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblCurrentTime") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") Heure = string.sub(a, 0, pos3-1) Minute = string.sub(a, pos3+1) elseif string.find(line, "lblCurrentText") ~= nil then CondMeteo = string.sub(line, pos1+2, pos2-1) CondMeteo1, CondMeteo2, CondMeteo1se, CondMeteo2se = decoupage(CondMeteo) elseif string.find(line, "lblWindsValue") ~= nil then local Vent = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(Vent, " ") VentDir = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") VentForce = string.sub(Vent, pos3+1, -6) IconeV = icone_vent(direction_vent(VentDir), VentForce) VentPlein = vent_plein(VentDir) elseif string.find(line, "lblHumidityValue") ~= nil then Humidite = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblDewPointValue") ~= nil then Rose = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblPressureValue") ~= nil then Pression = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "lblPressureTenValue") ~= nil then EvoPression = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblVisibilityValue") ~= nil then Visibilite = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "lblSunRiseValue") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") LeverSoleilHeure = string.sub(a, 0, pos3-1) LeverSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblSunSetValue") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") CoucherSoleilHeure = string.sub(a, 0, pos3-1) CoucherSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblDate") ~= nil then Date = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lnkLocation") ~= nil then Ville = string.sub(line, pos1+2, pos2-9) end end io.close(file) t = os.time() if 14400 <= os.difftime(os.time(), t) or start == 1 then local Jour local s = '${exec wget -q --load-cookies '..Rep..'/cookie -O '..Rep..'/details1 '..addr_week..'details1.aspx}' conky_parse( s ) local file = assert(io.open(Rep..'/details1', "rb") ) local line = file:read() for line in file:lines() do line = string.gsub(line, ",", ".") local pos1 = string.find(line, "pour", 40) local pos2 = string.find(line, "</") if string.find(line, "lblDetails") ~= nil then Jour = string.sub(line, pos1+5, pos2-1) end end io.close(file) if Date == Jour then for i = 1,jours do jour_n(addr_week, i, 0) end else for i = 1,jours do jour_n(addr_week, i, 1) end end start = 2 end end lune(r) end collectgarbage() end return " " end --Retour d'information météo --Condition courrante function conky_Meteo_IconeM(r, p, s, f) return "${image "..r.."/"..icone.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_TempRes() return tonumber(TempRes) end function conky_Meteo_TempAct() return tonumber(TempAct) end function conky_Meteo_Heure() return Heure end function conky_Meteo_Minute() return Minute end function conky_Meteo_CondMeteo() return CondMeteo end function conky_Meteo_CondMeteo1() return CondMeteo1 end function conky_Meteo_CondMeteo2() return CondMeteo2 end function conky_Meteo_CondMeteo1se() return CondMeteo1se end function conky_Meteo_CondMeteo2se() return CondMeteo2se end function conky_Meteo_VentDir() return VentDir end function conky_Meteo_VentDirP() return VentPlein end function conky_Meteo_VentForce() return tonumber(VentForce) end function conky_Meteo_IconeV(r, p, s, f) return "${image "..r.."/"..IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Humidite() return tonumber(Humidite) end function conky_Meteo_Rose() return tonumber(Rose) end function conky_Meteo_Pression() return tonumber(Pression) end function conky_Meteo_EvoPression() return EvoPression end function conky_Meteo_Visibilite() return tonumber(Visibilite) end function conky_Meteo_HLeverSoleilC() return LeverSoleilHeure end function conky_Meteo_MLeverSoleilC() return LeverSoleilMinute end function conky_Meteo_HCoucherSoleilC() return CoucherSoleilHeure end function conky_Meteo_MCoucherSoleilC() return CoucherSoleilMinute end function conky_Meteo_Date() return Date end function conky_Meteo_Ville() return Ville end --Prévision Météo --Jour function conky_Meteo_Jour_CondMeteo(j) return conditionJour[tonumber(j)].CondMeteo end function conky_Meteo_Jour_CondMeteo1(j) return conditionJour[tonumber(j)].CondMeteo1 end function conky_Meteo_Jour_CondMeteo2(j) return conditionJour[tonumber(j)].CondMeteo2 end function conky_Meteo_Jour_CondMeteo1se(j) return conditionJour[tonumber(j)].CondMeteo1se end function conky_Meteo_Jour_CondMeteo2se(j) return conditionJour[tonumber(j)].CondMeteo2se end function conky_Meteo_Jour_Temp(j) return tonumber(conditionJour[tonumber(j)].Temp) end function conky_Meteo_Jour_TempRes(j) return tonumber(conditionJour[tonumber(j)].TempRes) end function conky_Meteo_Jour_VentDir(j) return conditionJour[tonumber(j)].VentDir end function conky_Meteo_Jour_VentDirP(j) return conditionJour[tonumber(j)].VentP end function conky_Meteo_Jour_VentForce(j) return tonumber(conditionJour[tonumber(j)].VentForce) end function conky_Meteo_Jour_Uv(j) return tonumber(conditionJour[tonumber(j)].Uv) end function conky_Meteo_Jour_ProbOrage(j) return tonumber(conditionJour[tonumber(j)].ProbOrage) end function conky_Meteo_Jour_NivPrec(j) return tonumber(conditionJour[tonumber(j)].NivPrec) end function conky_Meteo_Jour_QPluie(j) return tonumber(conditionJour[tonumber(j)].QPluie) end function conky_Meteo_Jour_QNeige(j) return tonumber(conditionJour[tonumber(j)].QNeige) end function conky_Meteo_Jour_HDureePrec(j) return conditionJour[tonumber(j)].DPrecHeure end function conky_Meteo_Jour_MDureePrec(j) return conditionJour[tonumber(j)].DPrecMinute end function conky_Meteo_Jour_HDureePluie(j) return conditionJour[tonumber(j)].DPluieHeure end function conky_Meteo_Jour_MDureePluie(j) return conditionJour[tonumber(j)].DPluieMinute end function conky_Meteo_Jour_IconeM(r, p, s, f, j) return "${image "..r.."/"..conditionJour[tonumber(j)].IconeM.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Jour_IconeV(r, p, s, f, j) return "${image "..r.."/"..conditionJour[tonumber(j)].IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end --Nuit function conky_Meteo_Nuit_CondMeteo(j) return conditionNuit[tonumber(j)].CondMeteo end function conky_Meteo_Nuit_CondMeteo1(j) return conditionNuit[tonumber(j)].CondMeteo1 end function conky_Meteo_Nuit_CondMeteo2(j) return conditionNuit[tonumber(j)].CondMeteo2 end function conky_Meteo_Nuit_CondMeteo1se(j) return conditionNuit[tonumber(j)].CondMeteo1se end function conky_Meteo_Nuit_CondMeteo2se(j) return conditionNuit[tonumber(j)].CondMeteo2se end function conky_Meteo_Nuit_Temp(j) return tonumber(conditionNuit[tonumber(j)].Temp) end function conky_Meteo_Nuit_TempRes(j) return tonumber(conditionNuit[tonumber(j)].TempRes) end function conky_Meteo_Nuit_VentDir(j) return conditionNuit[tonumber(j)].VentDir end function conky_Meteo_Nuit_VentDirP(j) return conditionNuit[tonumber(j)].VentP end function conky_Meteo_Nuit_VentForce(j) return tonumber(conditionNuit[tonumber(j)].VentForce) end function conky_Meteo_Nuit_ProbOrage(j) return tonumber(conditionNuit[tonumber(j)].ProbOrage) end function conky_Meteo_Nuit_NivPrec(j) return tonumber(conditionNuit[tonumber(j)].NivPrec) end function conky_Meteo_Nuit_QPluie(j) return tonumber(conditionNuit[tonumber(j)].QPluie) end function conky_Meteo_Nuit_QNeige(j) return tonumber(conditionNuit[tonumber(j)].QNeige) end function conky_Meteo_Nuit_HDureePrec(j) return conditionNuit[tonumber(j)].DPrecHeure end function conky_Meteo_Nuit_MDureePrec(j) return conditionNuit[tonumber(j)].DPrecMinute end function conky_Meteo_Nuit_HDureePluie(j) return conditionNuit[tonumber(j)].DPluieHeure end function conky_Meteo_Nuit_MDureePluie(j) return conditionNuit[tonumber(j)].DPluieMinute end function conky_Meteo_Nuit_IconeM(r, p, s, f, j) return "${image "..r.."/"..conditionNuit[tonumber(j)].IconeM.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Nuit_IconeV(r, p, s, f, j) return "${image "..r.."/"..conditionNuit[tonumber(j)].IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end --Infos sur la journée function conky_Meteo_Jour(j) return InfoJour[tonumber(j)].Jour end function conky_Meteo_ABJour(j) return InfoJour[tonumber(j)].ABJour --jour abrege end function conky_Meteo_HLeverSoleil(j) return InfoJour[tonumber(j)].LeverSoleilHeure end function conky_Meteo_MLeverSoleil(j) return InfoJour[tonumber(j)].LeverSoleilMinute end function conky_Meteo_HCoucherSoleil(j) return InfoJour[tonumber(j)].CoucherSoleilHeure end function conky_Meteo_MCoucherSoleil(j) return InfoJour[tonumber(j)].CoucherSoleilMinute end function conky_Meteo_HLeverLune(j) return InfoJour[tonumber(j)].LeverLuneHeure end function conky_Meteo_MLeverLune(j) return InfoJour[tonumber(j)].LeverLuneMinute end function conky_Meteo_HCoucherLune(j) return InfoJour[tonumber(j)].CoucherLuneHeure end function conky_Meteo_MCoucherLune(j) return InfoJour[tonumber(j)].CoucherLuneMinute end function conky_Meteo_HDureeJour(j) return InfoJour[tonumber(j)].DureeJourHeure end function conky_Meteo_MDureeJour(j) return InfoJour[tonumber(j)].DureeJourMinute end function conky_Meteo_HDureeNuit(j) return InfoJour[tonumber(j)].DureeNuitHeure end function conky_Meteo_MDureeNuit(j) return InfoJour[tonumber(j)].DureeNuitMinute end --Lunaison function conky_Lune_ephemerides() return ephemerides end function conky_Lune_ephemerides1() return ephemerides1 end function conky_Lune_ephemerides2() return ephemerides2 end function conky_Lune_Visibilite() return Visibilite end function conky_Lune_Phases() return Phases end function conky_Lune_Phases1() return Phases1 end function conky_Lune_Phases2() return Phases2 end function conky_Lune_Noeudlunaire() return Noeud_lunaire end function conky_Lune_Apogee() return Apogee end function conky_Lune_Perigee() return Perigee end function conky_Lune_Distance() return Distance end function conky_Lune_Age() return Age end function conky_Lune_HLeverLune() return Lever_LuneHeure end function conky_Lune_MLeverLune() return Lever_LuneMinute end function conky_Lune_HCoucherLune() return Coucher_LuneHeure end function conky_Lune_MCoucherLune() return Coucher_LuneMinute end function conky_Lune_EclipsePartielle() return Eclipse_partielle end function conky_Lune_EclipseTotal() return Eclipse_total end
Normalement plus de soucis la nuit.
Ajout des retours :
Meteo_Nuit_CondMeteo1se <jour>
Meteo_Nuit_CondMeteo2se <jour>
Meteo_Jour_CondMeteo1se <jour>
Meteo_Jour_CondMeteo2se <jour>
Meteo_CondMeteo1se
Meteo_CondMeteo2se
condition météo sur deux lignes sans espaces
Hors ligne
#413 Le 08/01/2012, à 15:59
- padawarno
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonjour,
pour les images tu pourrais nous copier le message d'erreur que tu obtiens en console.pour le second soucis c'est plus simple.
ajoute un${voffset -xxx}
a la fin de ton conky en tâtonnant un peut pour le retrais tu obtiendra la présentation désiré ( c'est du au fait de placer tous les appels d’image à la fin de ton conky ).
P.S.: au fait les images sont elles créé dans ton chemin "~/.conky/openbox/weather/meteo+lune/icones"
Voilà mon message d'erreur :
conky -d -c /home/arno/.conky/openbox/conkyrc-meteo &
[1] 5873
arno@diomede:~$ Conky: unknown variable image
Conky: unknown variable image
Conky: unknown variable image
Conky: unknown variable image
Conky: forked to background, pid is 5874
Conky: desktop window (10f) is root window
Conky: window type - desktop
Conky: drawing to created window (0x1400002)
Conky: drawing to double buffer
Les images sont bien créées dans "~/.conky/openbox/weather/meteo+lune/icones".
Donc je ne comprends pas bien...
Je vais voir avec le voffset pour placer la fenêtre comme je l'entends, merci du conseil.
Merci encore de vous pencher sur mon souci.
Arno
Hors ligne
#414 Le 08/01/2012, à 16:27
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
@ padawarno,
C'est bizarre, ton conky ne connais pas ${image ...}, tu devrais peut être le réinstaller.
au fait a tu essayé de lancer ton conky comme sa :
conky -d -c /home/arno/.conky/openbox/conkyrc-meteo
sans le "&", juste pour voir.
Hors ligne
#415 Le 08/01/2012, à 16:35
- padawarno
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Voilà ma version de conky :
arno@diomede:~$ conky -v
Conky 1.8.0 compiled Sat Jul 30 21:01:04 UTC 2011 for Linux 2.6.32-5-686-bigmem (i686)
Compiled in features:
System config file: /etc/conky/conky.conf
Package library path: /usr/lib/conky
X11:
* Xdamage extension
* XDBE (double buffer extension)
* Xft
* ARGB visual
Music detection:
* MPD
* MOC
General:
* math
* hddtemp
* portmon
* wireless
* config-output
* ALSA mixer support
* apcupsd
* iostats
* ncurses
* Lua
Lua bindings:
Et ce que j'obtiens en console lorsque je le lance sans le & :
arno@diomede:~$ conky -d -c /home/arno/.conky/openbox/conkyrc-meteo
Conky: unknown variable image
Conky: unknown variable image
Conky: unknown variable image
Conky: unknown variable image
Conky: forked to background, pid is 11970
arno@diomede:~$
Conky: desktop window (10f) is root window
Conky: window type - desktop
Conky: drawing to created window (0x1400002)
Conky: drawing to double buffer
Sinon, j'ai réussi à le placer en bas à gauche avec
${voffset -225}
Pour info, je tourne avec Debian squeeze 6.0.3 et Openbox 3.4.11.1
Dernière modification par padawarno (Le 08/01/2012, à 16:36)
Hors ligne
#416 Le 08/01/2012, à 18:42
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Tu as installé le paquet "conky-all"?
Hors ligne
#417 Le 08/01/2012, à 19:19
- padawarno
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Hello,
Levi59 m'a pris de vitesse :
effectivement, je n'avais pas le "bon" paquet de conky installé : sur ma machine c'était conky-std, que j'ai désinstallé pour mettre à la place le paquet "conky-all", et maintenant les images s'affichent.
Si on compare la version de conky :
arno@diomede:~$ conky -v
Conky 1.8.0 compiled Sat Jul 30 21:01:23 UTC 2011 for Linux 2.6.32-5-686-bigmem (i686)
Compiled in features:
System config file: /etc/conky/conky.conf
Package library path: /usr/lib/conky
X11:
* Xdamage extension
* XDBE (double buffer extension)
* Xft
* ARGB visual
Music detection:
* MPD
* MOC
General:
* math
* hddtemp
* portmon
* Curl
* RSS
* Weather (METAR)
* Weather (XOAP)
* wireless
* support for IBM/Lenovo notebooks
* nvidia
* eve-online
* config-output
* Imlib2
* ALSA mixer support
* apcupsd
* iostats
* ncurses
* Lua
Lua bindings:
* Cairo
* Imlib2
On voit que ce paquet a été compilé avec Imlib2 inclus, ce qui n'était pas le cas dans la version -std.
Merci à tous !
Dernière modification par padawarno (Le 08/01/2012, à 19:20)
Hors ligne
#418 Le 09/01/2012, à 06:56
- jpdipsy
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Hello toutes et tous.
j'ai remanié mon conky météo pour avoir un visuel clair je vous le livre pour vous donner des idées.
# -- Conky settings -- #
background yes
update_interval 1
cpu_avg_samples 2
net_avg_samples 2
override_utf8_locale yes
double_buffer yes
no_buffers yes
text_buffer_size 2048
# imlib_cache_size 0
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
border_inner_margin 0
border_outer_margin 0
minimum_size 465
maximum_width 465
alignment tl
gap_x 50
gap_y 5
# -- Graphics settings -- #
draw_shades no
draw_outline yes
draw_borders no
draw_graph_borders no
# -- Text settings -- #
use_xft yes
font Helvetica LT Std:bold:size=8
uppercase no
default_color 8b8b8b
# -- Declaration template -- #
template0 ${image ~/.conky/Meteo/\1 -p \2 -s \3 -n} # -- images fond -- #
template1 ${lua Meteo_\1 \2 \3 \4 \5} # -- gestion météo --#
template2 ${lua_parse Meteo_\1 \2 \3 \4 60 \5} # -- icones météo -- \2=repertoir icones \3=position \4=taille \5=jour (pour les prévisions) #
template3 ${lua Lune_\1} # -- recup info par sed -- #
lua_load ~/.conky/Meteo/meteo_lua
TEXT
#### Lancement du script récupérant les données météo ####
${template1 Maj http://www.accuweather.com/fr/fr/franche-comté/belfort/quick-look.aspx?cityid=133341 6 1800 /tmp}
##### ville #####
${template0 fond.png 0,0 465x220}${voffset -10}${goto 90}${font URW Chancery L:style=Bold:size=25}${color yellow}${template1 Ville}${goto 200}${font Helvetica LT Std:bold:size=20}${if_match ${template1 TempAct}<5}${color red}${template1 TempAct}°${else}${color white}${template1 TempAct}°${endif}${font Helvetica LT Std:bold:size=10}${offset -10}${color white}/${template1 Nuit_Temp 1}°${font}
##### lunaison #####
${alignc 190}${color white}${template3 ephemerides1}
${alignc 190}${template3 ephemerides2}${image /tmp/lune.png -p 21,15 -s 43x43 -f 60}
##### Affichage conditions météo ########## température actuelle #####
${goto 12}${font Helvetica LT Std:bold:size=12}${color orange}${template1 CondMeteo1se}
${goto 12}${color orange}${template1 CondMeteo2se}
${goto 12}${font}${color white}Précipitation${goto 87}: ${template1 Jour_QPluie 1} U.V : ${template1 Jour_Uv}${color yellow}${font Helvetica LT Std:style=Bold:size=10}${alignc 16}${template1 VentDirP}${color white}${font}
${goto 12}Humidité${goto 87}: ${template1 Humidite}%
${goto 12}Qté Neige${goto 87}: ${template1 Jour_QNeige 1}
${goto 12}Pression${goto 87}: ${template1 Pression} mb
${goto 12}Durée jour${goto 87}: ${template1 HDureeJour}h${template1 MDureeJour}
${goto 12}Levé : ${template1 HLeverSoleil}h${template1 MLeverSoleil} Couché :${template1 HCoucherSoleil}h${template1 MCoucherSoleil}${color yellow}${font Helvetica LT Std:style=Bold:size=10}${alignc 16}${template1 VentForce} km/h${color white}${font}
${alignc}Dernière mise à jour : ${template1 Date} ${template1 Heure}h${template1 Minute}
${template2 IconeV ~/.conky/Meteo/icones/vent 195,132 45x45}#icone vent
${template2 IconeM ~/.conky/Meteo/icones 70,40 132x79 }#condition jour
#### previsions ####
${voffset -200}
${goto 264}${color yellow}${template1 ABJour 2}${goto 400}${template1 Jour_VentDirP 2}
${goto 264}${color white}${template1 Jour_Temp 2}°/${template1 Nuit_Temp 2}°${goto 400}${template1 Jour_VentForce 2} km/h
${template2 Jour_IconeV ~/.conky/Meteo/icones/vent 360,29 30x30 2}${template2 Jour_IconeM ~/.conky/Meteo/icones 300,29 51x30 2}
${goto 264}${color yellow}${template1 ABJour 3}${goto 400}${template1 Jour_VentDirP 3}
${goto 264}${color white}${template1 Jour_Temp 3}°/${template1 Nuit_Temp 3}°${goto 400}${template1 Jour_VentForce 3} km/h
${template2 Jour_IconeV ~/.conky/Meteo/icones/vent 360,62 30x30 3}${template2 Jour_IconeM ~/.conky/Meteo/icones 300,62 51x30 3}
${goto 264}${color yellow}${template1 ABJour 4}${goto 400}${template1 Jour_VentDirP 4}
${goto 264}${color white}${template1 Jour_Temp 4}°/${template1 Nuit_Temp 4}°${goto 400}${template1 Jour_VentForce 4} km/h
${template2 Jour_IconeV ~/.conky/Meteo/icones/vent 360,95 30x30 4}${template2 Jour_IconeM ~/.conky/Meteo/icones 300,95 51x30 4}
${goto 264}${color yellow}${template1 ABJour 5}${goto 400}${template1 Jour_VentDirP 5}
${goto 264}${color white}${template1 Jour_Temp 5}°/${template1 Nuit_Temp 5}°${goto 400}${template1 Jour_VentForce 5} km/h
${template2 Jour_IconeV ~/.conky/Meteo/icones/vent 360,128 30x30 5}${template2 Jour_IconeM ~/.conky/Meteo/icones 300,128 51x30 5}
${goto 264}${color yellow}${template1 ABJour 6}${goto 400}${template1 Jour_VentDirP 6}
${goto 264}${color white}${template1 Jour_Temp 6}°/${template1 Nuit_Temp 6}°${goto 400}${template1 Jour_VentForce 6} km/h
${template2 Jour_IconeV ~/.conky/Meteo/icones/vent 360,161 30x30 6}${template2 Jour_IconeM ~/.conky/Meteo/icones 300,161 51x30 6}
Le script lua est le dernier en date de Didier.
A+
Hors ligne
#419 Le 09/01/2012, à 22:33
- Frédéric-M
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
@jpdipsy : ce conky est tout simplement maginifique!!
Où trouver les icônes et le scrip lua s'il te plait??
Hors ligne
#420 Le 10/01/2012, à 00:09
- benjam
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonsoir,
Un grand merci à Didier-T et à jpdipsy (et aux autres aussi) pour leurs scripts. Voici a quoi ressemble mon conky :
J'ai repris les icônes de conkyforecast que je trouvais plus sympa. Le fond d'écran est xplanetfx.
J'ai peut-être trouvé un bug dans le script lua : Si vous regarder l'image de mon conky vous verrez qu'il y a une virgule après le nom de la ville. On dirait que ça le fait uniquement pour les villes étrangères et pas sur les françaises (j'ai testé Madrid, Valladolid, Valencia et Bruxelles). J'ai essayé de regarder un peu mais je suis vraiment pas doué en programmation.
---> Edit : Et bien non ça ne le fait pas sur les villes de Berne et Rome. Ce n'est peut-être pas lua, désolé.
Et encore bravo, beau boulot.
@Frédéric-M : le script lua est un peu partout dans ce fil de discussion, notamment plus haut dans cette page...
Dernière modification par benjam (Le 10/01/2012, à 00:14)
Portable Asus a52j - Distri Ubuntu 12.04 - Gnome 3
Hors ligne
#421 Le 10/01/2012, à 06:31
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonsoir,
...
J'ai peut-être trouvé un bug dans le script lua : Si vous regarder l'image de mon conky vous verrez qu'il y a une virgule après le nom de la ville.
...
Problème réglé.
Etrange je n'arrive pas à obtenir l'affichage Bruxelles.
-- Créé par Didier-T (forum.ubuntu-fr.org) -- Nécessite imagemagique require "io" function lune(r) s = "${exec wget -q -O "..r.."/cal_lunaire http://www.calendrier-lunaire.net/}" conky_parse( s ) local file = assert(io.open(r..'/cal_lunaire', "rb") ) local line = file:read() for line in file:lines() do local pos1 = string.find(line, '">') local pos2 = string.find(line, "</", pos1) if string.find(line, "ephemerides_1") ~= nil then pos1 = string.find(line, 'src="') pos2 = string.find(line, '" /') s = "${exec wget -q -O "..r.."/lune.png http://www.calendrier-lunaire.net/"..string.sub(line, pos1+5, pos2-1).."}" conky_parse( s ) conky_parse( "${exec convert "..r.."/lune.png -transparent '#091a2a' "..r.."/lune.png}" ) elseif string.find(line, "<h2>") ~= nil then ephemerides1 = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(line, 'n>', pos2) local pos4 = string.find(line, "</", pos2+3) ephemerides2 = string.sub(line, pos3+3, pos4-1) ephemerides = ephemerides1.." "..ephemerides2 elseif string.find(line, "Visibilit") ~= nil then Visibilite = string.sub(line, pos1+2, pos2-3) elseif string.find(line, "Phases") ~= nil then Phases = string.gsub(string.sub(line, pos1+2, pos2-1), "é", "é") local pos3 = string.find(Phases, ',') Phases1 = string.sub(Phases, 0, pos3-1) Phases2 = string.sub(Phases, pos3+2) elseif string.find(line, "Noeud lunaire") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Noeud_lunaire = string.gsub(a, " Jours", "") elseif string.find(line, "Apog") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Apogee = string.gsub(a, " Jours", "") elseif string.find(line, "Perig") ~= nil then local a = string.gsub(string.sub(line, pos1+2, pos2-1), "Dans ", "") Perigee = string.gsub(a, " Jours", "") elseif string.find(line, "Distance") ~= nil then Distance = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "Age de la Lune") ~= nil then Age = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "La Lune se") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") Lever_LuneHeure = string.sub(a, 0, pos3-1) Lever_LuneMinute = string.sub(a, pos3+1) local pos3 = string.find(line, '">', pos2) local pos4 = string.find(line, "</", pos3+3) a = string.sub(line, pos3+2, pos4-1) local pos5 = string.find(a, ":") Coucher_LuneHeure = string.sub(a, 0, pos5-1) Coucher_LuneMinute = string.sub(a, pos5+1) elseif string.find(line, "eclipse_partielle") ~= nil then local pos3 = string.find(line, '">', pos1+3) local a = string.gsub(string.sub(line, pos3+2, pos2-1), "<br />", "à") Eclipse_partielle = a elseif string.find(line, "eclipse_totale") ~= nil then local pos3 = string.find(line, '">', pos1+3) local a = string.gsub(string.sub(line, pos3+2, pos2-1), "<br />", "à") Eclipse_total = a end end io.close(file) end function test_image(i) if i == "1" then return "1su.png" elseif i == "2" then return "2msu.png" elseif i == "3" then return "3psu.png" elseif i == "4" then return "4ic.png" elseif i == "5" then return "5h.png" elseif i == "6" then return "6mc.png" elseif i == "7" then return "7c.png" elseif i == "8" then return "8d.png" elseif i == "11" then return "9f.png" elseif i == "12" then return "10s.png" elseif i == "13" then return "11mcs.png" elseif i == "14" then return "12psus.png" elseif i == "15" then return "13t.png" elseif i == "16" then return "14mct.png" elseif i == "17" then return "15psut.png" elseif i == "18" then return "16r.png" elseif i == "19" then return "17fl.png" elseif i == "20" then return "18mcfl.png" elseif i == "21" then return "19psfl.png" elseif i == "22" then return "20sn.png" elseif i == "23" then return "21mcsn.png" elseif i == "24" then return "22i.png" elseif i == "25" then return "23sl.png" elseif i == "26" then return "24fr.png" elseif i == "29" then return "25rsn.png" elseif i == "30" then return "27ho.png" elseif i == "31" then return "28co.png" elseif i == "32" then return "26w.png" elseif i == "33" then return "29cl.png" elseif i == "34" then return "31mcl.png" elseif i == "35" then return "32pc.png" elseif i == "36" then return "33ic.png" elseif i == "37" then return "34h.png" elseif i == "38" then return "35mc.png" elseif i == "39" then return "36pcs.png" elseif i == "40" then return "37mcs.png" elseif i == "41" then return "38pct.png" elseif i == "42" then return "39mct.png" elseif i == "43" then return "40mcfl.png" elseif i == "44" then return "41mcsn.png" end end function direction_vent(i) if i == "Calme" then return 0 elseif i == "N" then return 10 elseif i == "NNE" then return 11 elseif i == "NE" then return 12 elseif i == "ENE" then return 13 elseif i == "E" then return 14 elseif i == "ESE" then return 15 elseif i == "SE" then return 16 elseif i == "SSE" then return 17 elseif i == "S" then return 2 elseif i == "SSO" then return 3 elseif i == "SO" then return 4 elseif i == "OSO" then return 5 elseif i == "O" then return 6 elseif i == "ONO" then return 7 elseif i == "NO" then return 8 elseif i == "NNO" then return 9 else return 1 end end function vent_plein(d) local b if string.len(d) == 1 then if string.find(d, "N") ~= nil then b = string.gsub(d, "N", "Nord") elseif string.find(d, "S") ~= nil then b = string.gsub(d, "S", "Sud") elseif string.find(d, "E") ~= nil then b = string.gsub(d, "E", "Est") elseif string.find(d, "O") ~= nil then b = string.gsub(d, "O", "Ouest") end else b = d end return b end function icone_vent(d, fo) local f = tonumber(fo) local n if f <= 25 then n = d elseif f <= 50 then n = d + 17 elseif f <= 75 then n = d + 34 elseif f >= 76 then n = d + 51 end if n <= 9 then n = "0"..n end return n..".png" end function decoupage(d) local l1, l2, n, p1, p2, n1, n2, l1b, l2b if string.len(d) >= 21 then n = math.ceil(string.len(d)/2) p1 = string.find(d, " ", n) p2 = string.find(d, " ", -n) if p1 >= p2 then l1b = string.sub(d, 1, p2-1) l2b = string.sub(d, p2+1) else l1b = string.sub(d, 1, p1-1) l2b = string.sub(d, p1+1) end else l1b = d l2b = " " end n1 = math.ceil((21 - string.len(l1b))/2) l1 = string.rep(" ", n1)..l1b n2 = math.ceil((21 - string.len(l2b))/2) l2 = string.rep(" ", n2)..l2b return l1, l2, l1b, l2b end function jour_n(a, j, x) local pos3, iconej,Jour, CondMeteoj, CondMeteoj1, CondMeteoj2, Temp, TempjRes, Vent, VentDirj, VentForcej, iconev, VentP, Uv, ProbOrage, NivPrec, QPluie, QNeige, DPrecHeure, DPluieHeure, DPrecNuit, DPluieNuit, niconej, nCondMeteoj, nCondMeteoj1, nCondMeteoj2, nTemp, nTempjRes, nVent, nVentDirj, nVentForcej, niconev, nVentP, nUv, nProbOrage, nNivPrec, nQPluie, nQNeige, nDPrecHeure, nDPluieHeure, nDPrecMinute, nDPluieMinute, LeverSoleilHeure, CoucherSoleilHeure, LeverLuneHeure, CoucherLuneHeure, DureeJourHeure, DureeNuitHeure, LeverSoleilMinute, CoucherSoleilMinute, LeverLuneMinute, CoucherLuneMinute, DureeJourMinute, DureeNuitMinute, ABJour, CondMeteoj1se, CondMeteoj2se, nCondMeteoj1se, nCondMeteoj2se local i = j+x local s = '${exec wget -q --load-cookies '..Rep..'/cookie -O '..Rep..'/details'..j..' '..a..'details'..i..'.aspx}' conky_parse( s ) local file = assert(io.open(Rep..'/details'..j, "rb") ) local line = file:read() for line in file:lines() do line = string.gsub(line, ",", ".") local pos1 = string.find(line, '">', 40) local pos2 = string.find(line, "</") if string.find(line, "imgDayIcon") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") iconej = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblDetails") ~= nil then pos3 = string.find(line, "pour") Jour = string.sub(line, pos3+5, pos2-1) ABJour = string.sub(line, pos3+5, pos3+7) --jour abrege elseif string.find(line, "lblDayText") ~= nil then CondMeteoj = string.sub(line, pos1+2, pos2-1) CondMeteoj1, CondMeteoj2, CondMeteoj1se, CondMeteoj2se = decoupage(CondMeteoj) elseif string.find(line, "lblHighValue") ~= nil then Temp = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblRealFeelValue") ~= nil then TempjRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblWindsValue") ~= nil then Vent = string.sub(line, pos1+2, pos2-1) pos3 = string.find(Vent, " ") VentDirj = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") VentForcej = string.sub(Vent, pos3+1) iconev = icone_vent(direction_vent(VentDirj), VentForcej) VentP = vent_plein(VentDirj) elseif string.find(line, "lblMaxUVValue") ~= nil then Uv = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblTStormProbValue") ~= nil then ProbOrage = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblPrecipValue") ~= nil then NivPrec = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblRainValue") ~= nil then QPluie = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblSnowValue") ~= nil then QNeige = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblHoursPrecipValue") ~= nil then DPrecHeure = string.sub(line, pos1+2, pos2-8) DPrecMinute = "00" elseif string.find(line, "lblHoursOfRainValue") ~= nil then DPluieHeure = string.sub(line, pos1+2, pos2-8) DPluieMinute = "00" elseif string.find(line, "imgNightIcon") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") niconej = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblNightText") ~= nil then nCondMeteoj = string.sub(line, pos1+2, pos2-1) nCondMeteoj1, nCondMeteoj2, nCondMeteoj1se, nCondMeteoj2se = decoupage(nCondMeteoj) elseif string.find(line, "lblLowValue") ~= nil then nTemp = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblRealFeelNValue") ~= nil then nTempjRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblWindsNValue") ~= nil then nVent = string.sub(line, pos1+2, pos2-1) pos3 = string.find(Vent, " ") nVentDirj = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") nVentForcej = string.sub(Vent, pos3+1) niconev = icone_vent(direction_vent(VentDirj), VentForcej) nVentP = vent_plein(VentDirj) elseif string.find(line, "lblTStormProbNValue") ~= nil then nProbOrage = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblPrecipNValue") ~= nil then nNivPrec = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblRainNValue") ~= nil then nQPluie = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblSnowNValue") ~= nil then nQNeige = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lblHoursPrecipNValue") ~= nil then nDPrecHeure = string.sub(line, pos1+2, pos2-8) nDPrecMinute = "00" elseif string.find(line, "lblHoursOfRainNValue") ~= nil then nDPluieHeure = string.sub(line, pos1+2, pos2-8) nDPluieMinute = "00" end pos1 = string.find(line, ': ') if string.find(line, "lblSunrise") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") LeverSoleilHeure = string.sub(a, 0, pos3-1) LeverSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblSunset") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") CoucherSoleilHeure = string.sub(a, 0, pos3-1) CoucherSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblMoonrise") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") LeverLuneHeure = string.sub(a, 0, pos3-1) LeverLuneMinute = string.sub(a, pos3+1) elseif string.find(line, "lblMoonset") ~= nil then local a = string.sub(line, pos1+2, pos2-1) pos3 = string.find(a, ":") CoucherLuneHeure = string.sub(a, 0, pos3-1) CoucherLuneMinute = string.sub(a, pos3+1) elseif string.find(line, "lblDaylight") ~= nil then DureeJourHeure = string.sub(line, pos1+2, pos2-1) DureeJourMinute = "00" elseif string.find(line, "lblDarkness") ~= nil then DureeNuitHeure = string.sub(line, pos1+2, pos2-1) DureeNuitMinute = "00" end end conditionJour[j] = { CondMeteo=CondMeteoj, Temp=Temp, TempRes=TempjRes, VentDir=VentDirj, VentForce=VentForcej, Uv=Uv, ProbOrage=ProbOrage, NivPrec=NivPrec, QPluie=QPluie, QNeige=QNeige, DPrecHeure=DPrecHeure, DPluieHeure=DPluieHeure, DPrecMinute=DPrecMinute, DPluieMinute=DPluieMinute, IconeM=iconej, IconeV=iconev, VentP=VentP, CondMeteo1=CondMeteoj1, CondMeteo2=CondMeteoj2, CondMeteo1se=CondMeteoj1se, CondMeteo2se=CondMeteoj2se } conditionNuit[j] = { CondMeteo=nCondMeteoj, Temp=nTemp, TempRes=nTempjRes, VentDir=nVentDirj, VentForce=nVentForcej, ProbOrage=nProbOrage, NivPrec=nNivPrec, QPluie=nQPluie, QNeige=nQNeige, DPrecHeure=nDPrecHeure, DPluieHeure=nDPluieHeure, DPrecMinute=nDPrecMinute, DPluieMinute=nDPluieMinute, IconeM=niconej, IconeV=niconev, VentP=nVentP, CondMeteo1=nCondMeteoj1, CondMeteo2=nCondMeteoj2, CondMeteo1se=nCondMeteoj1se, CondMeteo2se=nCondMeteoj2se } InfoJour[j] = { Jour=Jour, LeverSoleilHeure=LeverSoleilHeure, CoucherSoleilHeure=CoucherSoleilHeure, LeverLuneHeure=LeverLuneHeure, CoucherLuneHeure=CoucherLuneHeure, DureeJourHeure=DureeJourHeure, DureeNuitHeure=DureeNuitHeure, LeverSoleilMinute=LeverSoleilMinute, CoucherSoleilMinute=CoucherSoleilMinute, LeverLuneMinute=LeverLuneMinute, CoucherLuneMinute=CoucherLuneMinute, DureeJourMinute=DureeJourMinute, DureeNuitMinute=DureeNuitMinute,ABJour=ABJour } io.close(file) end function conky_Meteo_Maj(cmd, jours, delais, r) if t == nil then local bar, bar1 local l = string.sub(cmd, 0, string.find(cmd, '/quick.')-1) local a = 1 while bar == nil do a = a+1 bar = string.find(l, '/', -a) end local l1 = string.sub(cmd, 0, bar-1) local b = 1 while bar1 == nil do b = b+1 bar1 = string.find(l1, '/', -b) end l = string.sub(cmd, bar1, string.find(cmd, '/quick.')-1) Rep = r..l if os.execute("cd "..Rep) ~= 0 then os.execute("mkdir "..r..string.sub(cmd, bar1, bar-1)) os.execute("mkdir "..Rep) end t = os.time()-delais start = 1 end if tonumber(delais) <= os.difftime(os.time(), t) then if os.execute("ping -c 1 www.google.com") == 0 then Heure = nil while Heure == nil do local s = '${exec wget -q --save-cookies '..Rep..'/cookie -O '..Rep..'/curr_cond_raw '..cmd..'}' local addr_week = string.sub(cmd, 0, string.find(cmd, 'quick.')-1) conky_parse( s ) if not conditionJour then conditionJour = {} conditionNuit = {} InfoJour= {} end local file = assert(io.open(Rep.."/curr_cond_raw", "rb") ) local line = file:read() for line in file:lines() do local pos1 = string.find(line, '">') local pos2 = string.find(line, "</") if string.find(line, "imgCurConCondition") ~= nil then pos1 = string.find(line, 'blue/') pos2 = string.find(line, "_int") icone = test_image(string.sub(line, pos1+5, pos2-1)) elseif string.find(line, "lblRealFeelValue") ~= nil then TempRes = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblCurrentTemp") ~= nil then TempAct = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblCurrentTime") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") Heure = string.sub(a, 0, pos3-1) Minute = string.sub(a, pos3+1) elseif string.find(line, "lblCurrentText") ~= nil then CondMeteo = string.sub(line, pos1+2, pos2-1) CondMeteo1, CondMeteo2, CondMeteo1se, CondMeteo2se = decoupage(CondMeteo) elseif string.find(line, "lblWindsValue") ~= nil then local Vent = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(Vent, " ") VentDir = string.gsub(string.sub(Vent, 1, pos3-1), "W", "O") VentForce = string.sub(Vent, pos3+1, -6) IconeV = icone_vent(direction_vent(VentDir), VentForce) VentPlein = vent_plein(VentDir) elseif string.find(line, "lblHumidityValue") ~= nil then Humidite = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblDewPointValue") ~= nil then Rose = string.sub(line, pos1+2, pos2-7) elseif string.find(line, "lblPressureValue") ~= nil then Pression = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "lblPressureTenValue") ~= nil then EvoPression = string.sub(line, pos1+2, pos2-2) elseif string.find(line, "lblVisibilityValue") ~= nil then Visibilite = string.sub(line, pos1+2, pos2-4) elseif string.find(line, "lblSunRiseValue") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") LeverSoleilHeure = string.sub(a, 0, pos3-1) LeverSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblSunSetValue") ~= nil then local a = string.sub(line, pos1+2, pos2-1) local pos3 = string.find(a, ":") CoucherSoleilHeure = string.sub(a, 0, pos3-1) CoucherSoleilMinute = string.sub(a, pos3+1) elseif string.find(line, "lblDate") ~= nil then Date = string.sub(line, pos1+2, pos2-1) elseif string.find(line, "lnkLocation") ~= nil then local pos3 = string.find(line, ",", pos1) Ville = string.sub(line, pos1+2, pos3-1) end end io.close(file) t = os.time() if 14400 <= os.difftime(os.time(), t) or start == 1 then local Jour local s = '${exec wget -q --load-cookies '..Rep..'/cookie -O '..Rep..'/details1 '..addr_week..'details1.aspx}' conky_parse( s ) local file = assert(io.open(Rep..'/details1', "rb") ) local line = file:read() for line in file:lines() do line = string.gsub(line, ",", ".") local pos1 = string.find(line, "pour", 40) local pos2 = string.find(line, "</") if string.find(line, "lblDetails") ~= nil then Jour = string.sub(line, pos1+5, pos2-1) end end io.close(file) if Date == Jour then for i = 1,jours do jour_n(addr_week, i, 0) end else for i = 1,jours do jour_n(addr_week, i, 1) end end start = 2 end end lune(r) end collectgarbage() end return " " end --Retour d'information météo --Condition courrante function conky_Meteo_IconeM(r, p, s, f) return "${image "..r.."/"..icone.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_TempRes() return tonumber(TempRes) end function conky_Meteo_TempAct() return tonumber(TempAct) end function conky_Meteo_Heure() return Heure end function conky_Meteo_Minute() return Minute end function conky_Meteo_CondMeteo() return CondMeteo end function conky_Meteo_CondMeteo1() return CondMeteo1 end function conky_Meteo_CondMeteo2() return CondMeteo2 end function conky_Meteo_CondMeteo1se() return CondMeteo1se end function conky_Meteo_CondMeteo2se() return CondMeteo2se end function conky_Meteo_VentDir() return VentDir end function conky_Meteo_VentDirP() return VentPlein end function conky_Meteo_VentForce() return tonumber(VentForce) end function conky_Meteo_IconeV(r, p, s, f) return "${image "..r.."/"..IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Humidite() return tonumber(Humidite) end function conky_Meteo_Rose() return tonumber(Rose) end function conky_Meteo_Pression() return tonumber(Pression) end function conky_Meteo_EvoPression() return EvoPression end function conky_Meteo_Visibilite() return tonumber(Visibilite) end function conky_Meteo_HLeverSoleilC() return LeverSoleilHeure end function conky_Meteo_MLeverSoleilC() return LeverSoleilMinute end function conky_Meteo_HCoucherSoleilC() return CoucherSoleilHeure end function conky_Meteo_MCoucherSoleilC() return CoucherSoleilMinute end function conky_Meteo_Date() return Date end function conky_Meteo_Ville() return Ville end --Prévision Météo --Jour function conky_Meteo_Jour_CondMeteo(j) return conditionJour[tonumber(j)].CondMeteo end function conky_Meteo_Jour_CondMeteo1(j) return conditionJour[tonumber(j)].CondMeteo1 end function conky_Meteo_Jour_CondMeteo2(j) return conditionJour[tonumber(j)].CondMeteo2 end function conky_Meteo_Jour_CondMeteo1se(j) return conditionJour[tonumber(j)].CondMeteo1se end function conky_Meteo_Jour_CondMeteo2se(j) return conditionJour[tonumber(j)].CondMeteo2se end function conky_Meteo_Jour_Temp(j) return tonumber(conditionJour[tonumber(j)].Temp) end function conky_Meteo_Jour_TempRes(j) return tonumber(conditionJour[tonumber(j)].TempRes) end function conky_Meteo_Jour_VentDir(j) return conditionJour[tonumber(j)].VentDir end function conky_Meteo_Jour_VentDirP(j) return conditionJour[tonumber(j)].VentP end function conky_Meteo_Jour_VentForce(j) return tonumber(conditionJour[tonumber(j)].VentForce) end function conky_Meteo_Jour_Uv(j) return tonumber(conditionJour[tonumber(j)].Uv) end function conky_Meteo_Jour_ProbOrage(j) return tonumber(conditionJour[tonumber(j)].ProbOrage) end function conky_Meteo_Jour_NivPrec(j) return tonumber(conditionJour[tonumber(j)].NivPrec) end function conky_Meteo_Jour_QPluie(j) return tonumber(conditionJour[tonumber(j)].QPluie) end function conky_Meteo_Jour_QNeige(j) return tonumber(conditionJour[tonumber(j)].QNeige) end function conky_Meteo_Jour_HDureePrec(j) return conditionJour[tonumber(j)].DPrecHeure end function conky_Meteo_Jour_MDureePrec(j) return conditionJour[tonumber(j)].DPrecMinute end function conky_Meteo_Jour_HDureePluie(j) return conditionJour[tonumber(j)].DPluieHeure end function conky_Meteo_Jour_MDureePluie(j) return conditionJour[tonumber(j)].DPluieMinute end function conky_Meteo_Jour_IconeM(r, p, s, f, j) return "${image "..r.."/"..conditionJour[tonumber(j)].IconeM.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Jour_IconeV(r, p, s, f, j) return "${image "..r.."/"..conditionJour[tonumber(j)].IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end --Nuit function conky_Meteo_Nuit_CondMeteo(j) return conditionNuit[tonumber(j)].CondMeteo end function conky_Meteo_Nuit_CondMeteo1(j) return conditionNuit[tonumber(j)].CondMeteo1 end function conky_Meteo_Nuit_CondMeteo2(j) return conditionNuit[tonumber(j)].CondMeteo2 end function conky_Meteo_Nuit_CondMeteo1se(j) return conditionNuit[tonumber(j)].CondMeteo1se end function conky_Meteo_Nuit_CondMeteo2se(j) return conditionNuit[tonumber(j)].CondMeteo2se end function conky_Meteo_Nuit_Temp(j) return tonumber(conditionNuit[tonumber(j)].Temp) end function conky_Meteo_Nuit_TempRes(j) return tonumber(conditionNuit[tonumber(j)].TempRes) end function conky_Meteo_Nuit_VentDir(j) return conditionNuit[tonumber(j)].VentDir end function conky_Meteo_Nuit_VentDirP(j) return conditionNuit[tonumber(j)].VentP end function conky_Meteo_Nuit_VentForce(j) return tonumber(conditionNuit[tonumber(j)].VentForce) end function conky_Meteo_Nuit_ProbOrage(j) return tonumber(conditionNuit[tonumber(j)].ProbOrage) end function conky_Meteo_Nuit_NivPrec(j) return tonumber(conditionNuit[tonumber(j)].NivPrec) end function conky_Meteo_Nuit_QPluie(j) return tonumber(conditionNuit[tonumber(j)].QPluie) end function conky_Meteo_Nuit_QNeige(j) return tonumber(conditionNuit[tonumber(j)].QNeige) end function conky_Meteo_Nuit_HDureePrec(j) return conditionNuit[tonumber(j)].DPrecHeure end function conky_Meteo_Nuit_MDureePrec(j) return conditionNuit[tonumber(j)].DPrecMinute end function conky_Meteo_Nuit_HDureePluie(j) return conditionNuit[tonumber(j)].DPluieHeure end function conky_Meteo_Nuit_MDureePluie(j) return conditionNuit[tonumber(j)].DPluieMinute end function conky_Meteo_Nuit_IconeM(r, p, s, f, j) return "${image "..r.."/"..conditionNuit[tonumber(j)].IconeM.." -p "..p.." -s "..s.." -f "..f.."}" end function conky_Meteo_Nuit_IconeV(r, p, s, f, j) return "${image "..r.."/"..conditionNuit[tonumber(j)].IconeV.." -p "..p.." -s "..s.." -f "..f.."}" end --Infos sur la journée function conky_Meteo_Jour(j) return InfoJour[tonumber(j)].Jour end function conky_Meteo_ABJour(j) return InfoJour[tonumber(j)].ABJour --jour abrege end function conky_Meteo_HLeverSoleil(j) return InfoJour[tonumber(j)].LeverSoleilHeure end function conky_Meteo_MLeverSoleil(j) return InfoJour[tonumber(j)].LeverSoleilMinute end function conky_Meteo_HCoucherSoleil(j) return InfoJour[tonumber(j)].CoucherSoleilHeure end function conky_Meteo_MCoucherSoleil(j) return InfoJour[tonumber(j)].CoucherSoleilMinute end function conky_Meteo_HLeverLune(j) return InfoJour[tonumber(j)].LeverLuneHeure end function conky_Meteo_MLeverLune(j) return InfoJour[tonumber(j)].LeverLuneMinute end function conky_Meteo_HCoucherLune(j) return InfoJour[tonumber(j)].CoucherLuneHeure end function conky_Meteo_MCoucherLune(j) return InfoJour[tonumber(j)].CoucherLuneMinute end function conky_Meteo_HDureeJour(j) return InfoJour[tonumber(j)].DureeJourHeure end function conky_Meteo_MDureeJour(j) return InfoJour[tonumber(j)].DureeJourMinute end function conky_Meteo_HDureeNuit(j) return InfoJour[tonumber(j)].DureeNuitHeure end function conky_Meteo_MDureeNuit(j) return InfoJour[tonumber(j)].DureeNuitMinute end --Lunaison function conky_Lune_ephemerides() return ephemerides end function conky_Lune_ephemerides1() return ephemerides1 end function conky_Lune_ephemerides2() return ephemerides2 end function conky_Lune_Visibilite() return Visibilite end function conky_Lune_Phases() return Phases end function conky_Lune_Phases1() return Phases1 end function conky_Lune_Phases2() return Phases2 end function conky_Lune_Noeudlunaire() return Noeud_lunaire end function conky_Lune_Apogee() return Apogee end function conky_Lune_Perigee() return Perigee end function conky_Lune_Distance() return Distance end function conky_Lune_Age() return Age end function conky_Lune_HLeverLune() return Lever_LuneHeure end function conky_Lune_MLeverLune() return Lever_LuneMinute end function conky_Lune_HCoucherLune() return Coucher_LuneHeure end function conky_Lune_MCoucherLune() return Coucher_LuneMinute end function conky_Lune_EclipsePartielle() return Eclipse_partielle end function conky_Lune_EclipseTotal() return Eclipse_total end
Dernière modification par Didier-T (Le 10/01/2012, à 06:57)
Hors ligne
#422 Le 10/01/2012, à 13:58
- benjam
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Nickel ! Merci bien.
Pour Bruxelles j'ai ce lien :
http://www.accuweather.com/fr/be/brusse … tyid=27581
Portable Asus a52j - Distri Ubuntu 12.04 - Gnome 3
Hors ligne
#423 Le 10/01/2012, à 19:44
- TrucSarret
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
TrucSarret a écrit :...
cd: 1: can't cd to /tmp/rhône-alpes/valence
..Dis moi tu as bien le chemin /tmp qui existe ?
Parce que la je sèche.
P.S. : au fait, ton bureau c'est quoi ?
Bonsoir,
J'ai bien un répertoire /tmp et le message d'erreur a disparu depuis que j'ai créé à la main /temp/rhône-alpes/valence
Je ne comprend pas bien ta question "ton bureau c'est quoi ?"
Je suis sous Linux Mint 12 ...
Actuellement mon terminal bloque sans afficher le conky :
trucsarret@trucsarret ~ $ conky -c /home/trucsarret/.conky/conkyrc_meteo_lua
Conky: forked to background, pid is 2450
trucsarret@trucsarret ~ $
Conky: desktop window (e00023) is subwindow of root window (19c)
Conky: window type - desktop
Conky: drawing to created window (0x2600002)
Conky: drawing to double buffer
PING www.l.google.com (173.194.67.103) 56(84) bytes of data.
64 bytes from wi-in-f103.1e100.net (173.194.67.103): icmp_req=1 ttl=46 time=39.1 ms
--- www.l.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 39.161/39.161/39.161/0.000 ms
Dans mon répertoire /tmp/rhône-alpes/valence, les fichiers ont été créés :
detail1 à detail5
cookie
curr_con_raw
Voilà
Merci de tes réponses
Dernière modification par TrucSarret (Le 10/01/2012, à 21:59)
http://eaudolle.over-blog.com
Hors ligne
#424 Le 10/01/2012, à 21:05
- Frédéric-M
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Dider-T : j'ai téléchargé ton pack (merci!!), je m'aperçois qu'il ne contiens pas le script en lua???
Hors ligne
#425 Le 10/01/2012, à 21:13
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Dider-T : j'ai téléchargé ton pack (merci!!), je m'aperçois qu'il ne contiens pas le script en lua???
Pour le moment il est en développement mais tu peut le récupérer 4 messages plus haut.
Hors ligne