Conky, Yangu setup

Fecfactor akandibvunza nezuro kuti ndiburitse kumisikidzwa kweiyo conky iyo yandinoratidza mune skrini pazasi

Sezvauri kuona paine matatu conkys, ayo anoitwa achishandisa script, kumisikidzwa kwayo kunoenderana Iyi chinyorwa Yakatumirwa nemushandisi Bruce M. mumaforamu e Ubuntu-Ar pamwe nekumwe kugadziridzwa muiyo mail conky, iyo kwandiri ndeye yeGmail.

Mune revhisheni posvo zvinotsanangurwa chaizvo naBruce, asi zvakare seyeuchidzo yekurangarira kwandiri, ndichaenda kuteedzera nhanho dzekutevera uye kodhi yemakoni angu kune wese anayo.

Zvakanaka, hongu tinofanirwa kuve ne conky, curl uye python yakaiswa saka tinonyora mukoni.

sudo apt-tora kuisa conky curl python

Kwayakabva mamiriro ekunze.ttf nemiseve.ttf ari pano. Kwayakabva mwedzi.ttf ari pano kana uchinge wadhanilodha unofanirwa kuteedzera kune / usr / share / fonts

Ngatitangei kugadzira script yedu inonzi ~. / Startconky

gksudo gedit ~ / .startconky

mukati mefaira risina chinhu tinonama zvinotevera

#! / bin / bash
rara 0 & # 0 yakanaka yeXfce - shandisa makumi maviri kusvika makumi matatu yeGnome
conky -c ~ / Conky / conkymain &
#kurara 0 & # 0 yakanaka yeXfce - shandisa 1 yeGnome
conky -c ~ / Conky / conkyforecast &
#kurara 0 & # 0 yakanaka yeXfce - shandisa 1 yeGnome
conky -c ~ / Conky / conkymail &

Iye zvino tagadzira iyo conkymain faira mu ~ / Conky dhairekitori, kana tisina iyo Conky dhairekitori, isu tichafanirwa kuigadzira.

gedit ~ / Conky / conkymain

Ini ndinoshandisa iyo Calibri font, kana iwe usina, chitsiva nechero chaunoda.

Tinonamira mukati zvinotevera

kumashure kwete
yako_window hongu
wega_window_transparent hongu
chako_window_hints isina kushongedzwa, pazasi, inonamira, skip_taskbar, skip_pager
yako_window_colour nhema
double_buffer hongu
use_spacer kuruboshwe
shandisa_xft hongu
font calibri: saizi = 9
xftfont calibri: saizi = 9
xftalpha 0.5
kugadzirisa_interval 5.0
yepamusoro hapana # yakatarwa kuti hongu kana iwe uchida kuti meseji yese ive mune yepamusoro
stippled_border 3
muganho_muganhu 9
muganho_width 10
default_color chena
default_outline_color nhema
default_shade_color nhema
color0 cyan
color1 bhuruu
color2 orenji
color3 yero
ruvara4 gorosi
color5 chena
color6 chena
color7 chena
color8 chena
color9 chena
kunongedza kumusoro_kurudyi # kana kuruboshwe_kuruboshwe, kuruboshwe_ kuruboshwe, kuruboshwe_ kurudyi
gaka_x 10
gomo_y 35
zvinyorwa_buffer_size 128 # shandisa 1024 for the forecast
kwete_buffers hongu # Bvisa mafaera system system kubva pane yakashandiswa memory?
dhirowa_mabhodhi kwete
draw_outline hongu # inosimudzira zvinyorwa kana hongu
dhirowa_mimvuri hongu # shadecolor nhema

TEXT
$ {font calibri: size = 12} $ {alignc} $ {color1} $ sysname $ kernel on $ machine} $ color $ font
$ {font calibri: size = 12} $ {alignc} $ {color2} $ {exec whoamiami @ $ nodename $ color $ font
$ {color0} $ {hr 1} $ ruvara
$ {font calibri: size = 20} $ {alignc} $ {time% H:% M} $ font
$ {font calibri: size = 12} $ {color1} $ {alignc} $ {nguva% A,% d% b. % Y} $ color $ font
$ {color3} Nguva Yakwana: $ {alignr 2} $ uptime $ color
$ {color0} $ {hr 1} $ ruvara
$ {voffset 5} $ {color2} CPU: $ {alignc} $ color $ running_processes $ {color1} / $ color $ maitiro $ {alignr 2} $ {color2} $ {cpubar cpu0 14,80} $ color
$ {color1} $ {voffset -16} $ {alignr 5} $ cpu% $ color
$ {voffset 2} $ {color1} Load Avg ($ {color3} Min $ {color1}): $ {alignr 2} $ {color3} 1: $ color $ {loadavg 1} $ {color3} 5: $ color $ {loadavg 2} $ {color3} 15: $ ruvara $ {loadavg 3}
$ {voffset 5} $ {color2} RAM: $ color $ mem $ {color2} / $ color $ memmax $ {alignr 2} $ {color2} $ {membar 14,80} $ ruvara
$ {color1} $ {voffset -16} $ {alignr 5} $ memperc% $ ruvara
$ {voffset 2} $ {color1} Yakachengetedzwa: $ color $ {buffers} $ {alignr 2} $ {color1} Cached: $ color $ {cached}
$ {voffset 5} $ {color2} SWAP: $ color $ chinja $ {color2} / $ color $ {swapmax} $ {alignr 2} $ {color2} $ {swapbar 14,80} $ color
$ {color1} $ {voffset -16} $ {alignr 5} $ swapperc%
$ {color0} $ {hr 1} $ ruvara
$ {voffset 5} $ {color2} HD Info $ {color1} - $ color Yemahara $ {color1} - Yakashandiswa - $ {color2} Yese
$ {voffset 5} $ {color1} Mudzi: $ color $ {fs_free_perc /}% $ {alignr 2} $ {fs_free /} $ {color2} / $ {color1} $ {fs_used /} $ color / $ {color2} $ {fs_size /} $ ruvara
$ {color1} Kumba: $ color $ {fs_free_perc / home / user}% $ {alignr 2} $ {fs_free / home / user} $ {color2} / $ {color1} $ {fs_used / home / user} $ color / $ {color2} $ {fs_size / home / user} $ ruvara
$ {color0} $ {hr 1} $ ruvara
$ {color1} Kubva: $ color Buenos Aires, Argentina
$ {color1} Lat: $ {color2} 34 ° 35'S $ {color1} Yakareba: $ {color2} 58 ° 21'W $ {color1} Alt: $ {color2} 25 m $ color
$ {voffset 5} $ {color2} $ {font calibri: size = 12} nhasi: $ font $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = CC} $ Ruvara $ {alignr 2} $ {color1} ST: $ {color2} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = LT}
$ {color3} $ {font Weather: size = 50} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = WF} $ font $ color
$ {alignr 50} $ {voffset -55} $ {font calibri: size = 25} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 -datatype = HT} $ font
$ {alignc 20} $ {voffset -30} $ {font Arrows: size = 20} $ {color4} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = BF} $ color $ font
$ {alignc 10} $ {voffset 5} $ {color4} Mhepo: $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = WS} $ color
$ {color1} Humidity: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = HM} $ {alignr 2} $ {color1} Precipitation: $ {color3} $ { execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = PC} $ ruvara
$ {alignc} $ {color1} Pressure: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = BR} - $ {color3} $ {execi 3600 python ~ / Conky /script/conkyForecast.py –location = ARBA0009 –datatype = BD} $ color
$ {color4} $ {hr} $ ruvara
$ {color1} Kubuda kwezuva: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SR} $ {alignr 2} $ {color1} Sunset: $ {color3} $ { execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SS} $ ruvara
$ {voffset 15} $ {color1} Mwedzi: $ {color4} $ {alignr 2} $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = MP} $ color
$ {voffset -20} $ {offset 80} $ {color4} $ {font moon phases: size = 20} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = MF} $ font $ color
$ {color0} $ {hr} $ ruvara
$ {voffset 5} $ {color2} IP: $ {alignc} $ color $ {addr eth0}
$ {color1} Pasi: $ color $ {downspeed eth0} k / s $ {alignr 2} $ {color1} Kumusoro: $ color $ {upspeed eth0} k / s
$ {color1} Yese: $ color $ {totaldown eth0} $ {alignr 2} $ {color1} Total: $ color $ {totalup eth0}
$ {color1} Inbound: $ color $ {tcp_portmon 1 32767 count} $ {color1} Outbound: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color1} Yese: $ color $ {tcp_portmon 1 65535 count}
$ {voffset 5} $ {color2} Kubatana: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color2} Service / Port $ color
$ {voffset 5} $ {tcp_portmon 32768 61000 chipoko 0} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 0}
$ {tcp_portmon 32768 61000 chipoko 1} $ {alignr 2} $ {tcp_portmon 32768 61000 basa 1
$ {tcp_portmon 32768 61000 chipoko 2} $ {alignr 2} $ {tcp_portmon 32768 61000 basa 2
$ {tcp_portmon 32768 61000 chipoko 3} $ {alignr 2} $ {tcp_portmon 32768 61000 basa 3
$ {tcp_portmon 32768 61000 chipoko 4} $ {alignr 2} $ {tcp_portmon 32768 61000 basa 4
$ {tcp_portmon 32768 61000 chipoko 5} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 5} $ color

isu tinogadzira iyo faira ~ / Conky / conkyforecast

gedit ~ / Conky / conkyforecast

uye tinonama zvinotevera mukati

kumashure kwete
yako_window hongu
wega_window_transparent hongu
chako_window_hints isina kushongedzwa, pazasi, inonamira, skip_taskbar, skip_pager
yako_window_colour nhema
double_buffer hongu
use_spacer kuruboshwe
shandisa_xft hongu
font calibri: saizi = 8
xftfont calibri: saizi = 8
xftalpha 0.5
kugadzirisa_interval 5.0
yepamusoro hapana # yakatarwa kuti hongu kana iwe uchida kuti meseji yese ive mune yepamusoro
stippled_border 3
muganho_muganhu 9
muganho_width 10
default_color chena
default_outline_color nhema
default_shade_color nhema
color0 cyan
color1 bhuruu
color2 orenji
color3 yero
ruvara4 gorosi
color5 chena
color6 chena
color7 chena
color8 chena
color9 chena
kunongedza kuzasi_kuruboshwe # kana kuruboshwe_kuruboshwe, kuruboshwe_ kuruboshwe, kuzasi_kurudyi
gaka_x 10
gomo_y 35
zvinyorwa_buffer_size 1024 # shandisa 1024 for the forecast
kwete_buffers hongu # Bvisa mafaera system system kubva pane yakashandiswa memory?
dhirowa_mabhodhi kwete
draw_outline hongu # inosimudzira zvinyorwa kana hongu
dhirowa_mimvuri hongu # shadecolor nhema

TEXT
$ {color4} $ {font calibri: size = 11} Yakawedzerwa Forecast $ font $ color
$ {color0} $ {hr} $ ruvara
$ {color4} $ {font calibri: size = 9} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –template = / imba / mushandisi / Conky / zvinyorwa / myweather.template} $ font $ ruvara

isu tinogadzira iyo faira ~ / Conky / conkymail

gedit ~ / Conky / conkymail

isu tinonama zvinotevera mufaira

kumashure kwete
yako_window hongu
wega_window_transparent hongu
chako_window_hints isina kushongedzwa, pazasi, inonamira, skip_taskbar, skip_pager
yako_window_colour nhema
double_buffer hongu
use_spacer kuruboshwe
shandisa_xft hongu
font calibri: saizi = 8
xftfont calibri: saizi = 8
xftalpha 0.5
kugadzirisa_interval 5.0
yepamusoro hapana # yakatarwa kuti hongu kana iwe uchida kuti meseji yese ive mune yepamusoro
stippled_border 3
muganho_muganhu 9
muganho_width 10
default_color chena
default_outline_color nhema
default_shade_color nhema
color0 cyan
color1 bhuruu
color2 orenji
color3 yero
ruvara4 gorosi
color5 chena
color6 chena
color7 chena
color8 chena
color9 chena
kunongedza kuzasi_kuruboshwe # kana kuruboshwe_kuruboshwe, kuruboshwe_ kuruboshwe, kuzasi_kurudyi
gaka_x 565
gomo_y 35
zvinyorwa_buffer_size 128 # shandisa 1024 for the forecast
kwete_buffers hongu # Bvisa mafaera system system kubva pane yakashandiswa memory?
dhirowa_mabhodhi kwete
draw_outline hongu # inosimudzira zvinyorwa kana hongu
dhirowa_mimvuri hongu # shadecolor nhema

TEXT
$ {font calibri: size = 11} $ {alignc} $ {color4} Gmail
$ {color0} $ {hr} $ ruvara
$ {font calibri: size = 11} $ {color4} Tine $ {color3} $ {execi 300 python ~ / Conky / scripts / mail / conkyEmail.py} $ {color4} email (s) $ font

Isu tinogadzira iyo faira mu ~ / Conky / zvinyorwa / conkyForecast.py (isu tinofanirwa kugadzira zvinyorwa zvinyorwa)

gedit ~ / Conky / zvinyorwa / conkyForecast.py

#! / usr / bin / python
# - * - kukodha: utf-8 - * -
################################## ############################
# conkyForecast.py is (not so) simple (anymore) python script yekuunganidza
# tsananguro yemamiriro ekunze azvino yekushandisa mune conky
#
# Munyori: Kaivalagi
# Yakagadzirwa: 13/04/2008
# Shanduko:
# 14/04/2008 Bvumira mazera ezuva ehuwandu hwehuwandu
# 14/04/2008 Tarisa uone kubatana kune xoap sevhisi
# 18/04/2008 Bvumira kuiswa kwenzvimbo dzezvakasiyana zvigadzirwa
# 18/04/2008 Bvumidza husiku neMasikati kufanotaura zvabuda
# 18/04/2008 Tsigira nzvimbo yemamiriro ezvinhu kodhi mavara «CC» sarudzo, yakamirira shanduro yemutauro wechiSpanish
# 18/04/2008 Shandisa kunhonga dhata rekirasi pane kuvhura xml, izvi zvinodarika kudiwa kwekubvunzurudza data rakachengetwa
# 19/04/2008 Wakawedzera mameseji echiSpanish mamiriro - Thanks Bruce M
# 19/04/2008 Yakawedzera isnumeric cheki pane ese manhamba anoburitswa neyunix suffix
# 19/04/2008 Faira remagaka rakachinja rinodudza mazita enzvimbo
# 19/04/2008 Yakawedzera spanish vhiki revhiki mazuva kutendeuka kuburikidza nenzvimbo
# 20/04/2008 Yakawedzera yakanaka chirevo chekupokana nharo
# 20/04/2008 Yakawedzerwa -shortweekday sarudzo, kana ikapihwa zuva revhiki dhata dhata rakapfupikiswa kumavara matatu
# 21/04/2008 Yakagadziriswa sarudzo dzenzvimbo yekufungidzira kubuda
# 21/04/2008 Yakawedzerwa -template sarudzo yekutendera kuburitsa kwetsika uchishandisa imwechete exec kufona 🙂
# 21/04/2008 Yakawedzerwa –hideunits sarudzo yekubvisa, semuenzaniso, mph uye C kubva mukuburitsa
# 23/04/2008 Yakabviswa - yechisarudzo kubva mutemplate, izvi ZVINOFANIRA kusetwa senzira yakajairwa pane script yekufona uye isingashandiswe mutemplate faira.
# 23/04/2008 Yakaverengerwa -impiri sarudzo kune template, zvichigonesa metric kana humambo kukosha pane dhatabhesi. Tarira paunenge uchishandisa matemplate ekuraira mutsara sarudzo haishande.
# 23/04/2008 Yakawedzerwa kuburitswa kunozivisa mushandisi kana nzvimbo yakapihwa yakaipa
# 24/04/2008 Yakawedzerwa kubata kwekusabatika, inodzokera kune yakachengetwa dhata izvozvi (kukanganisa kana pasina cache iripo). Kuyedza nekuyedza kuvhura xoap.weather.com
# 24/04/2008 Yakagadzwa Celsius kuenda kushanduko yefahrenheit
# 06/05/2008 Yakagadziridzwa url yakashandiswa mushure mekunge webservice yagadziriswa
# 09/05/2008 Akabatanidzwa mamiriro azvino uye data rekufungidzira rinotora mune imwechete kufona
# 09/05/2008 Yakawedzera Kubuda kwezuva uye kuvira kwezuva kumatata epaiti, izvi zvakanangana nemamiriro azvino mamiriro uye dhata rekufungidzira
# 09/05/2008 Yakawedzera mwedzi chikamu, kuverenga bharometa uye bharometa kutsananguro yedata, izvi zvinongoreva mamiriro azvino uye ndozvakaita N / A mune zvakatemerwa
# 09/05/2008 Yakawedzera unit shanduko yebarometer kubva mb kusvika inches (mambo)
# 09/05/2008 Yakagadziridzwa mameseji echiSpanish mamiriro - Thanks Bruce M
# 10/05/2008 Yakawedzera data yechiFrench yemuno - Thanks benpaka
# 12/05/2008 Yakawedzera nyowani BF (inotakura font) dhatabhesi kuti ipe museve hunhu (shandisa neArrow.ttf font) pachinzvimbo cheNSEW kuburitsa kubva kuWD (mhepo nzira)
# 12/05/2008 Yakagadziridzwa WD kuburitsa kuti ive yenzvimbo yakatarwa, parizvino inotsigira default english uye spanish - Thanks Bruce M
# 18/05/2008 Yakawedzera nyowani MF (mwedzi font) dhatabhesi kuti ipe yemwedzi font hunhu (mavara asiri iwo uye hapana font yakatsaurirwa parizvino).
# 21/05/2008 Kune azvino mamiriro ezvinhu - datatype = LT sarudzo ikozvino inoratidza «inonzwa senge» tembiricha pane tembiricha yazvino
#
# ZVESE:
# Sanganisa mafaera epl mune imwe faira / kirasi
# Wedzera mamiriro ekunze akavakirwa pamwedzi chikamu chakaburitswa zvichibva pamwedzi dhoni data
# ??? Chero zvimwe zvinodiwa kunze uko?

import sys, os, socket, urllib2, nguva, nguva
kubva ku xml.dom kupinza minidom
kubva ku stat import *
kubva pakusarudza kupinza OptionParser
import local
kuendesa kunze
kupinza pickle
kubva pamasvomhu kupinza *

APP = »conkyForecast.py»
DIR = os.path.dirname (__file__) + '/ locale'
gettext.bindtextdomain (APP, DIR)
gettext.textdomain (APP)
_ = kuwana rugwaro

kirasi CommandLineParser:

parser = Hapana

def __init __ (wega):

kuzvipira.parser = SarudzoParser ()
self.parser.add_option («- l», »- nzvimbo», dest = »nzvimbo», default = »UKXX0103 ″, mhando =» tambo », metavar =» CODE », help = u» kodhi yenzvimbo yedata remamiriro ekunze [ default:% default], Shandisa inotevera url kuona yako kodhi kodhi nezita reguta: http://xoap.weather.com/search/search?where=Norwich »)
self.parser.add_option ("- d", "- dhatabheti", dest = "dhatabhesi", default = "HT", mhando = "tambo", metavar = "DATATYPE", rubatsiro = "(default:% default) Idhi data mhando dzesarudzo ndeiyi: DW (Zuva Revhiki), WF (Weather Font Output), LT (Forecast: Yakadzika Temp, Yazvino: Inonzwa Senge Temp), HT (Forecast: Yakakwira Temp, Yazvino: Yazvino Temp), CC (Yazvino Conditions), CT (Conditions Chinyorwa), PC (Precipitation Chance), HM (Humidity), WD (Wind Direction), WS (Wind Speed), WG (Wind Gust), CN (Guta Zita), SR (kubuda kwezuva), SS (kuvira kwezuva), MP (chikamu chemwedzi), MF (mwedzi font), BR (kuverenga barometer), BD (barometer tsananguro). Haishande patambo yekuraira kana uchishandisa matemplate. »)
self.parser.add_option («- s», »- zuva rekutanga», dest = »zuva rekutanga», mhando = »int», metavar = »NUMBER», rubatsiro = u »tsanangura nhamba yezuva rekutanga, kana zvasiya mamiriro ezvinhu aripo Haishande patambo yekuraira kana uchishandisa matemplate. »)
self.parser.add_option ("- e", "- zuva rekupedzisira", dest = "endday", type = "int", metavar = "NUMBER", rubatsiro = u "tsanangura nhamba yezuva rekuguma, kana isina kusiyiwa data rekutanga zvinobuda. Hazvishande patambo yekuraira kana uchishandisa matemplate. »)
self.parser.add_option («- S», »- nzvimbo», dest = »nzvimbo», type = »int», default = 1, metavar = »NUMBER», rubatsiro = u »[default:% default] Inotsanangura nhamba yenzvimbo pakati pezvakabuda. Hazvishande pamutsetse wekuraira kana uchishandisa matemplate. »)
self. chinhu chinoratidzwa mufaira chiri muchimiro {–datatype = HT -startday = 1}. Izvi zvinotevera sarudzo dzinogona kuitika mukati mechinhu chimwe nechimwe: -datype, -startday, -endday, -husiku, -shortweekday, -imperial, -hideunits, –Spaces. Cherekedza kuti mafomu mafupi esarudzo haasi kutsigirwa parizvino! Hapana imwe yedzisarudzo ino shandiswa pamutsetse wekuraira kana uchishandisa matemplate.
self.parser.add_option («- L», »- locale», dest = »locale», type = »tambo», rubatsiro = u »kudarika iyo system locale yemitauro inoburitsa (en = english, es = spanish, fr = french, zvimwe zvichauya) »)
self.parser.add_option ("- i", "- imperial", dest = "imperial", default = Manyepo, action = "store_true", help = u "kukumbira maunifomu, kana zvasiyiwa zvaburitswa. raira yekuraira kana uchishandisa matemplate. »)
self.parser.add_option («- n», »- husiku», dest = »husiku», default = Manyepo, chiito = »chitoro-chokwadi, rubatsiro = Hazvishande patambo yekuraira kana uchishandisa matemplate. »)
self.parser.add_option («- w», »- shortweekday», dest = »shortweekday», default = Nhema, chiito = »chitoro chechokwadi», rubatsiro = raira yekuraira kana uchishandisa matemplate. »)
self.parser.add_option («- u», »- hideunits», dest = »hideunits», default = Manyepo, chiito = »chitoro_chokwadi>, rubatsiro = ichiri kuratidzwa. Haishande patambo yekuraira kana uchishandisa matemplate. »)
self.parser.add_option ("- v", "- verbose", dest = "verbose", default = Manyepo, chiito = "chitoro_ chechokwadi", rubatsiro = u "kumbira verbose kuburitsa, hapana zano rakanaka kana uchimhanya nepakati!" )
self.

def parse_args (wega):
(sarudzo, args) = self.parser.parse_args ()
dzoka (sarudzo, args)

def print_help (wega):
dzoka self.parser.print_help ()

kirasi WeatherData:
def __init __ (self, day_of_week, low, high, condition_code, condition_text, precip, humidity, wind_dir, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc):
self.day_of_week = u »» + zuva_ve_vevhiki
self.low = u »» + pasi
self.high = u »» + yakakwira
kuzvidzora.code = code = u »» + condition_code
kuzvimiririra.text_text = u »» + condition_text
kuzvidzora.precip = u »» + precip
kuzvidzora.humidity = u »» + humidity
kuzvidzora.wind_dir = u »» + wind_dir
kuzvidzora.wind_speed = u »» + mhepo_speed
kuzvidzora.wind_gusts = u »» + mhepo_girl
self.city = u »» + guta
zuva.sunrise = u »» + kubuda kwezuva
sunset = u »» + kuvira kwezuva
self.moon_phase = u »» + mwedzi_phase
self.moon_icon = u »» + mwedzi_ikon
wega.bar_read = u »» + bar_read
self.bar_desc = u »» + bar_desc

kirasi WeatherText:

mamiriro_text = {
«0»: _ (u »Tornado»),
«1»: _ (u »Tropical Dutu»),
«2»: _ (u »Hurricane»),
«3»: _ (u »Kutinhira Kwakanyanya»),
«4»: _ (u »Kutinhira»),
«5»: _ (u »Yakasanganiswa Mvura uye Chando»),
«6»: _ (u »Yakasanganiswa Mvura uye Sleet»),
«7»: _ (u »Mixed Precipitation»),
«8»: _ (u »Mvura Inotonhora Inotonhora»),
«9»: _ (u »Mvura inoyerera»),
«10»: _ (u »Mvura Inotonhora»),
«11»: _ (u »Mvura inonaya»),
«12»: _ (u »Mvura inonaya»),
«13»: _ (u »Mazaya echando»),
«14»: _ (u »Chiedza Chando Chemvura»),
«15»: _ (u »Kufuridza Chando»),
«16»: _ (u »Chando»),
«17»: _ (u »Kwaziwai»),
«18»: _ (u »Sleet»),
«19»: _ (u »Guruva»),
«20»: _ (u »Mhute»),
«21»: _ (u »Haze»),
«22»: _ (u »Utsi»),
«23»: _ (u »Blustery»),
«24»: _ (u »Windy»),
«25»: _ (u »Cold»),
«26»: _ (u »Makore»),
«27»: _ (u »Kwakawanda Makore»),
«28»: _ (u »Kwakawanda Makore»),
«29»: _ (u »Chikamu Chakafukidza»),
«30»: _ (u »Chikamu Chakafukidza»),
«31»: _ (u »Bvisa»),
«32»: _ (u »Bvisa»),
«33»: _ (u »Zvakanaka»),
«34»: _ (u »Zvakanaka»),
«35»: _ (u »Yakasanganiswa Mvura uye Chimvuramabwe»),
«36»: _ (u »Kupisa»),
«37»: _ (u »Woga Mheni Inotinhira»),
«38»: _ (u »Mheni Yakapararira»),
«39»: _ (u »Mheni Yakapararira»),
«40»: _ (u »Mvura Yakapararira»),
«41»: _ (u »Heavy Snow],
«42»: _ (u »Yakapararira Chando Mvura Inonaya»),
«43»: _ (u »Heavy Snow],
«44»: _ (u »Chikamu Chakafukidza»),
«45»: _ (u »Mvura Yekutinhira»),
«46»: _ (u »Mvura Yechando»),
«47»: _ (u »Woga Mheni Inotinhira»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

mamiriro_text_es = {
«0»: _ (u »Tornado»),
«1»: _ (u »Tropical Dutu»),
«2»: _ (u »Huracá¡n»),
«3»: _ (u »Dutu Rakasimba»),
«4»: _ (u »Dutu»),
«5»: _ (u »Yakasanganiswa Mvura uye Chando»),
«6»: _ (u »Yakasanganiswa Mvura uye Sleet»),
«7»: _ (u »Sleet»),
«8»: _ (u »Mvura Inotonhora Yakawanda»),
«9»: _ (u »Mvura inoyerera»),
«10»: _ (u »Mvura Inotonhora»), # Kana kutonhora kwemvura
«11»: _ (u »Mvura inonaya»),
«12»: _ (u »Mvura inonaya»),
«13»: _ (u »Chiedza Chando»),
«14»: _ (u »Chiedza Chando»),
«15»: _ (u »Snow Blizzard»),
«16»: _ (u »Chando»),
«17»: _ (u »Kwaziwai»),
«18»: _ (u »Sleet»),
«19»: _ (u »Upfu»),
«20»: _ (u »Mhute»),
«21»: _ (u »Haze»),
«22»: _ (u »Utsi»),
«23»: _ (u »Dutu remhepo»),
«24»: _ (u »Windy»),
«25»: _ (u »Fráo»),
«26»: _ (u »Makore Zvikuru»),
«27»: _ (u »Kwakawanda Makore»),
«28»: _ (u »Kwakawanda Makore»),
«29»: _ (u »Chikamu Chakafukidza»),
«30»: _ (u »Chikamu Chakafukidza»),
«31»: _ (u »Bvisa»),
«32»: _ (u »Bvisa»),
«33»: _ (u »Chinhu Chine Makore»),
«34»: _ (u »Chinhu Chine Makore»),
«35»: _ (u »Mvura nechimvuramabwe»),
«36»: _ (u »Kupisa»),
«37»: _ (u »Maseru Akareba"),
«38»: _ (u »Dutu Rakapararira»),
«39»: _ (u »Dutu Rakapararira»),
«40»: _ (u »Mvura Yakapararira»),
«41»: _ (u »Heavy Snow],
«42»: _ (u »Simba uye Kupararira Sinoufalls»),
«43»: _ (u »Yakasimba Nevada»),
«44»: _ (u »Makore akapararira»),
«45»: _ (u »Dutu»),
«46»: _ (u »Yakapararira Snowfalls»),
«47»: _ (u »Maseru Akareba"),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

mamiriro_text_fr = {
«0»: _ (u »Tornade»),
«1»: _ (u »Tempête Tropicale»),
«2»: _ (kana kuti »Ouragan»),
«3»: _ (kana kuti »Orages Violents»),
«4»: _ (kana »Orageux»),
«5»: _ (u »Pluie et Neige»),
«6»: _ (u »Pluie et Neige Mouillée»),
«7»: _ (u »Variable avec averses»),
«8»: _ (u »Bruine Givrante»),
«9»: _ (u »Bruine»),
«10»: _ (u »Chipenga Glacante»),
«11»: _ (u »Kupesana»),
«12»: _ (u »Kupesana»),
«13»: _ (u »Légère Neige»),
«14»: _ (u »Forte Neige»),
«15»: _ (u »Tempête de Neige»),
«16»: _ (u »Neige»),
«17»: _ (u »Grêle»),
«18»: _ (u »plug / Neige»),
«19»: _ (u »Nuage de poussière»),
«20»: _ (u »Brouillard»),
«21»: _ (u »Brume»),
«22»: _ (u »Fumée»),
«23»: _ (u »Tres Venteux»),
«24»: _ (u »Venteux»),
«25»: _ (u »Froid»),
«26»: _ (u »Nuageux»),
«27»: _ (u »Tres Nuageux»),
«28»: _ (u »Tres Nuageux»),
«29»: _ (u »Nuages ​​Disséminés»),
«30»: _ (u »Nuages ​​Disséminés»),
«31»: _ (u »Beau»),
«32»: _ (u »Beau»),
«33»: _ (u »Belles laclaircies»),
«34»: _ (u »Belles laclaircies»),
«35»: _ (u »Plue avec Grêle»),
«36»: _ (u »Chaleur»),
«37»: _ (kana kuti »Orages Isolés»),
«38»: _ (kana kuti »Orages Localisés»),
«39»: _ (kana kuti »Orages Localisés»),
«40»: _ (u »Averses Localisées»),
«41»: _ (u »Neige Lourde»),
«42»: _ (u »Tempête de Neige Localisées»),
«43»: _ (u »Neige Lourde»),
«44»: _ (u »Nuages ​​Disséminés»),
«45»: _ (kana kuti »Zvipenga»),
«46»: _ (u »Tempête de Neige»),
«47»: _ (kana kuti »Orages Isolés»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

mamiriro_weather_font = {
«0»: _ (u »W»),
«1»: _ (u »V»),
«2»: _ (u »W»),
«3»: _ (u »s»),
«4»: _ (u »p»),
«5»: _ (u »k»),
«6»: _ (u »k»),
«7»: _ (u »g»),
«8»: _ (u »g»),
«9»: _ (u »g»),
«10»: _ (u »h»),
«11»: _ (u »g»),
«12»: _ (u »g»),
«13»: _ (u »k»),
«14»: _ (u »k»),
«15»: _ (u »k»),
«16»: _ (u »k»),
«17»: _ (u »k»),
«18»: _ (u »k»),
«19»: _ (u »e»),
«20»: _ (u »e»),
«21»: _ (u »a»),
«22»: _ (u »d»),
«23»: _ (u »d»),
«24»: _ (u »d»),
«25»: _ (u »d»),
«26»: _ (u »e»),
«27»: _ (u »e»),
«28»: _ (u »e»),
«29»: _ (u »c»),
«30»: _ (u »c»),
«31»: _ (u »a»),
«32»: _ (u »a»),
«33»: _ (u »b»),
«34»: _ (u »b»),
«35»: _ (u »k»),
«36»: _ (u »a»),
«37»: _ (u »f»),
«38»: _ (u »f»),
«39»: _ (u »f»),
«40»: _ (u »g»),
«41»: _ (u »k»),
«42»: _ (u »k»),
«43»: _ (u »k»),
«44»: _ (u »b»),
«45»: _ (u »g»),
«46»: _ (u »k»),
«47»: _ (u »f»),
«Na»: _ (u »»),
"-": _ (kana "")
}

mamiriro_moon_font = {
«0»: _ (u »1 ″),
«1»: _ (u »N»),
«2»: _ (u »O»),
«3»: _ (u »P»),
«4»: _ (u »Q»),
«5»: _ (u »R»),
«6»: _ (u »S»),
«7»: _ (u »T»),
«8»: _ (u »U»),
«9»: _ (u »V»),
«10»: _ (u »W»),
«11»: _ (u »X»),
«12»: _ (u »Y»),
«13»: _ (u »Z»),
«14»: _ (u »0 ″),
«15»: _ (u »0 ″),
«16»: _ (u »A»),
«17»: _ (u »B»),
«18»: _ (u »C»),
«19»: _ (u »D»),
«20»: _ (u »E»),
«21»: _ (u »F»),
«22»: _ (u »G»),
«23»: _ (u »H»),
«24»: _ (u »I»),
«25»: _ (u »J»),
«26»: _ (u »K»),
«27»: _ (u »L»),
«28»: _ (u »M»),
«29»: _ (u »1 ″),
«Na»: _ (u »»),
"-": _ (kana "")
}

zuva_re_vhiki = {
"Nhasi": _ (kana "Nhasi"),
«Muvhuro»: _ (u »Muvhuro»),
«Chipiri»: _ (u »Chipiri»),
«Chitatu»: _ (u »Chitatu»),
«China»: _ (u »China»),
"Chishanu": _ (u "Chishanu"),
"Mugovera": _ (u "Mugovera"),
"Svondo": _ (u "Svondo")
}

zuva_ve_week_short = {
"Nhasi": _ (u "Zvino"),
«Muvhuro»: _ (u »Mon»),
«Chipiri»: _ (u »Tue»),
«Chitatu»: _ (u »Wed»),
«China»: _ (u »Thu»),
«Chishanu»: _ (u »Fri»),
"Mugovera": _ (u "Sat"),
"Svondo": _ (u "Zuva")
}

zuva_ve_week_es = {
"Nhasi": _ (u "nhasi"),
«Muvhuro»: _ (u »Muvhuro»),
«Chipiri»: _ (kana kuti »Chipiri»),
«Chitatu»: _ (u »Chitatu»),
«China»: _ (u »China»),
«Chishanu»: _ (u »Chishanu»),
"Mugovera": _ (u "Mugovera"),
"Svondo": _ (u "Svondo")
}

zuva_re_vhiki_pfupi_ = {
"Nhasi": _ (u "nhasi"),
"Muvhuro": _ (u "mon"),
«Chipiri»: _ (u »gungwa»),
«Chitatu»: _ (u »wed»),
«China»: _ (u »Thursday»),
«Chishanu»: _ (u »fri»),
"Mugovera": _ (u "akagara"),
"Svondo": _ (u "dom")
}

zuva_re_vhiki_fr = {
«Nhasi»: _ (u »Aujourd'hui»),
«Muvhuro»: _ (u »Lundi»),
«Chipiri»: _ (u »Mardi»),
«Chitatu»: _ (u »Mercredi»),
«China»: _ (u »Jeudi»),
«Chishanu»: _ (u »Vendredi»),
"Mugovera": _ (u "Samedi"),
"Svondo": _ (u "Dimanche")
}

zuva_re_vhiki_pfupi_fr = {
«Nhasi»: _ (u »Auj»),
"Muvhuro": _ (u "Mon"),
«Chipiri»: _ (u »Mar»),
"Chitatu": _ (u "Mer"),
«China»: _ (u »Jeu»),
«Chishanu»: _ (u »Uya»),
"Mugovera": _ (u "Sam"),
"Svondo": _ (u "Dhim")
}

inobereka_arrow_font = {
«N»: _ (u »i»),
«NNE»: _ (u »j»),
«NE»: _ (u »k»),
«ENE»: _ (u »l»),
«E»: _ (u »m»),
«ESE»: _ (u »n»),
"SE": _ (u "o"),
«SSE»: _ (u »p»),
«S»: _ (u »a»),
«SSW»: _ (u »b»),
«SW»: _ (u »c»),
"WSW": _ (u "d"),
«W»: _ (u »e»),
"WNW": _ (u "f"),
«NW»: _ (u »g»),
«NNW»: _ (u »h»),
«N / A»: _ (u »«)
}

bearing_text_en = {
«N»: _ (u »N»),
«NNE»: _ (u »NNE»),
«NE»: _ (u »NE»),
«ENE»: _ (u »ENE»),
«E»: _ (u »E»),
«ESE»: _ (u »ESE»),
«SE»: _ (u »SE»),
"SSE": _ (u "SSE"),
"Yavo"),
"SSW": _ (u "SSO"),
«SW»: _ (u »SO»),
"WSW": _ (u "WOW"),
«W»: _ (u »O»),
«WNW»: _ (u »ONO»),
«NW»: _ (u »HAPANA»),
«NNW»: _ (u »NNO»),
«N / A»: _ (u »N \ A»)
}

bearing_text_fr = {
«N»: _ (u »N»),
«NNE»: _ (u »NNE»),
«NE»: _ (u »NE»),
«ENE»: _ (u »ENE»),
«E»: _ (u »E»),
«ESE»: _ (u »ESE»),
«SE»: _ (u »SE»),
"SSE": _ (u "SSE"),
"Yavo"),
"SSW": _ (u "SSO"),
«SW»: _ (u »SO»),
"WSW": _ (u "WOW"),
«W»: _ (u »O»),
«WNW»: _ (u »ONO»),
«NW»: _ (u »HAPANA»),
«NNW»: _ (u »NNO»),
«N / A»: _ (u »N \ A»)
}

kirasi GlobalWeather:

mamiriro_zvino = []
day_forecast = []
night_forecast = []

nzvimbo = "mu"

sarudzo = Hapana
kunzexmldoc = «»

TEMP_FILEPATH_CURRENT = "/tmp/conkyForecast-c-LOCATION.pkl"
TEMP_FILEPATH_DAYFORECAST = "/tmp/conkyForecast-df-LOCATION.pkl"
TEMP_FILEPATH_NIGHTFORECAST = "/tmp/conkyForecast-nf-LOCATION.pkl"
MUPENYU_MINUTES = 30
DEFAULT_SPACING = u »«

def __init __ (wega, sarudzo):

kuzvimiririra = sarudzo

kana self.options.locale == Hapana:
edza:
# self.locale = locale.getdefaultlocale () [0] [0: 2]
self.locale = «es» #uncomment mutsetse uyu kumanikidza Spanish locale
# self.locale = "fr" #uncomment mutsetse uyu kumanikidza French locale
kunze kwe:
purinda "locale haina kusetwa"
zvimwe:
# kuzvimiririra = kuzvisarudzira. nzvimbo
self.locale = «es» #uncomment mutsetse uyu kumanikidza Spanish locale
# self.locale = "fr" #uncomment mutsetse uyu kumanikidza French locale

kana kuzvida.options.verbose == Chokwadi:
purinda >> sys.stdout, "locale set to", self.locale

def GetText (wega, nodelist):
rc = ""
ye node mune nodelist:
kana node.nodeType == node.TEXT_NODE:
rc = rc + pfundo.data
dzoka rc

def GetSpaces (pachako, nzvimbo):
tambo = u »»
kana nzvimbo == Hapana:
tambo = kuzvimiririra. DEFAULT_SPACING
zvimwe:
for i in range (0, nzvimbo + 1):
tambo = tambo + u »«
dzosera tambo

def isNumeric (yega, tambo):
edza:
dummy = kuyangarara (tambo)
dzoka Chokwadi
kunze kwe:
dzoka Manyepo

def isConnectionAvailable (wega):
# ita chokwadi chekuti tinokwanisa kuwana server ye weather.com nekuvhura iyo url
edza:
Usock = urllib2.urlopen ('http://xoap.weather.com')
Usock.close ()
dzoka Chokwadi
kunze kwe:
dzoka Manyepo

def getBearingText (pachako, kutakura):
kutakura = kutenderera (kutakura)
kana uine <11.25:
dzoka u »N»
elif inobereka <33.75:
dzoka u »NNE»
elif inobereka <56.25:
dzoka u »NE»
elif inobereka <78.75:
dzokera iwe »JAN»
elif inobereka <101.25:
dzoka u »E»
elif inobereka <123.75:
dzokera iwe »ESE»
elif inobereka <146.25:
dzoka u »SE»
elif inobereka <168.75:
dzoka u »SSE»
elif inobereka <191.25:
dzoka u »S»
elif inobereka <213.75:
dzoka u »SSW»
elif inobereka <236.25:
dzoka u »SW»
elif inobereka <258.75:
dzoka iwe »WSW»
elif inobereka <281.25:
dzoka iwe »W»
elif inobereka <303.75:
dzoka u »WNW»
elif inobereka <326.25:
dzokera u »NW»
elif inobereka <348.75:
dzoka u »NNW»
zvimwe:
dzoka «N / A»

def inoshanduraCelsiusToFahrenheit (yega, temp):
dzoka str (int (floor (((float (temp) * 9.0) /5.0) +32)))

def shanduraKilometresToMiles (self, dist):
dzoka str (int (floor (float (dist) * 0.621371192)))

def shanduraMillibarsToInches (yega, mb):
dzoka str (int (floor (float (mb) /33.8582)))

def getTemplateList (yega, template):

templatelist = []

ye template_part mune template.split («{«):
kana template_part! = «»:
ye template_part mu template_part.split ("}"):
kana template_part! = «»:
templatelist.append (u »» + template_part)

dzoka templatelist

def getOutputText (wega, dhatabhesi, zuva rekutanga, zuva rekupedzisira, husiku, zuva repfupi, humambo, makushe, nzvimbo):
#yedza:
kubuda = u »»

# tsanangura izvozvi zvikamu zvekuburitsa
kana maficha == Manyepo:
kana mambo == Nhema:
tempunit = u »° C»
kumhanya = u »kph»
pressureunit = u »mb»
zvimwe:
tempunit = u »° F»
kumhanya = u »mph»
pressureunit = u »mu»
zvimwe:
tempunit = u »°»
speedunit = u »»
pressureunit = u »»

kana kutanga zuva == Hapana: # zvazvino mamiriro

kana dhatatype == "DW":
kana self.locale == "iri":
kana shortweekday == Chokwadi:
kubuda = WeatherText.day_of_week_short_es [self.current_conditions [0] .day_of_week]
zvimwe:
kuburitsa = WeatherText.day_of_week_es [self.current_conditions [0] .day_of_week]
elif self.locale == "fr":
kana shortweekday == Chokwadi:
kuburitsa = WeatherText.day_of_week_short_fr [self.current_conditions [0] .day_of_week]
zvimwe:
kuburitsa = WeatherText.day_of_week_fr [self.current_conditions [0] .day_of_week]
zvimwe:
kana shortweekday == Chokwadi:
kuburitsa = WeatherText.day_of_week_short [self.current_conditions [0] .day_of_week]
zvimwe:
kuburitsa = WeatherText.day_of_week [self.current_conditions [0] .day_of_week]
elif datatype == "WF": # mamiriro ekunze
kuburitsa = WeatherText.conditions_weather_font [self.current_conditions [0] .condition_code]
elif datatype == "LT":
string = self.current_conditions [0] .pasi
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertCelsiusToFahrenheit (tambo)
tambo = tambo + tempunit
kuburitsa = tambo
elif datatype == "HT":
tambo = kuzvimiririra.current_conditions [0] .high
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertCelsiusToFahrenheit (tambo)
tambo = tambo + tempunit
kuburitsa = tambo
elif datatype == "CC":
kana self.locale == "iri":
kuburitsa = WeatherText.conditions_text_es [self.current_conditions [0] .condition_code]
elif self.locale == "fr":
kuburitsa = WeatherText.conditions_text_fr [self.current_conditions [0] .condition_code]
zvimwe:
kuburitsa = WeatherText.conditions_text [self.current_conditions [0] .condition_code]
elif datatype == "CT":
kuburitsa = self.current_conditions [0] .condition_text
elif datatype == "PC":
tambo = kuzvimiririra.current_conditions [0] .precip
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
tambo = tambo + u »%»
kuburitsa = tambo
elif datatype == "HM":
tambo = kuzvimiririra.current_conditions [0] .humidity
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
tambo = tambo + u »%»
kuburitsa = tambo
elif datatype == "WD":
tambo = kuzvimiririra.current_conditions [0] .wind_dir
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
tambo = kuzvimirira.getBearingText (tambo)

kana self.locale == "iri":
kuburitsa = WeatherText.bearing_text_es [tambo]
elif self.locale == "fr":
kuburitsa = WeatherText.bearing_text_fr [tambo]
zvimwe:
kuburitsa = tambo

elif datatype == "BF":
tambo = kuzvimiririra.current_conditions [0] .wind_dir
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
tambo = WeatherText.bearing_arrow_font [self.getBearingText (tambo)]
kuburitsa = tambo
elif datatype == "WS":
string = self.current_conditions [0] .wind_speed
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertKilometresToMiles (tambo)
tambo = tambo + speedunit
kuburitsa = tambo
elif datatype == "WG":
tambo = kuzvimiririra.zvino_mamiriro [0] .wind_gusts
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertKilometresToMiles (tambo)
tambo = tambo + speedunit
kuburitsa = tambo
elif datatype == "CN":
kuburitsa = kuzvimiririra.current_conditions [0]
elif datatype == "SR":
kuburitsa = kuzvimiririra.current_conditions [0] .sunrise
elif datatype == "SS":
kuburitsa = self.current_conditions [0] .sunset
elif datatype == "MP":
kuburitsa = self.current_conditions [0] .moon_phase
elif datatype == "MF":
kuburitsa = WeatherText.conditions_moon_font [self.current_conditions [0] .moon_icon]
elif datatype == "BR":
string = self.current_conditions [0] .bar_read
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertMillibarsToInches (tambo)
tambo = tambo + pressureunit
kuburitsa = tambo
elif datatype == "BD":
goho = kuzvimiririra.current_conditions [0] .bar_desc
zvimwe:
goho = "\ nERROR: Rudzi rwe data risingazivikanwe rwakumbirwa"

zvimwe: # Forecast data

kana endday == Hapana: # kana pasina zuva rekupedzisira rakaiswa shandisa zuva rekutanga
kuguma = zuva rekutanga

kana husiku == Chokwadi: # fungidziro yeusiku inodikanwa

yezuva_nhamba iri munzvimbo (zuva rekutanga, zuva rekupedzisira + 1):

kana dhatatype == "DW":
kana self.locale == "iri":
kana shortweekday == Chokwadi:
kuburitsa = kubuda + wega.getSpaces (nzvimbo) + WeatherText.day_of_week_short_es [self.night_forecast [day_number] .day_of_week]
zvimwe:
kuburitsa = kubuda + wega.getSpaces (nzvimbo) + WeatherText.day_of_week_es [self.night_forecast [day_number] .day_of_week
elif self.locale == "fr":
kana shortweekday == Chokwadi:
kuburitsa = kubuda + wega.getSpaces (nzvimbo) + WeatherText.day_of_week_short_fr [self.night_forecast [day_number] .day_of_week]
zvimwe:
kuburitsa = kubuda + kuzvipa.getSpaces (nzvimbo) + WeatherText.day_of_week_fr [self.night_forecast [day_number] .day_of_week]
zvimwe:
kana shortweekday == Chokwadi:
kuburitsa = kubuda + kuzvipa.getSpaces (nzvimbo) + WeatherText.day_of_week_short [self.night_forecast [day_number] .day_of_week]
zvimwe:
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.day_of_week [self.night_forecast [day_number] .day_of_week]
elif datatype == "WF": # mamiriro ekunze
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_weather_font [self.night_forecast [day_number] .condition_code]
elif datatype == "LT":
string = self.night_forecast [day_number] .pasi
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertCelsiusToFahrenheit (tambo)
tambo = tambo + tempunit
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo

elif datatype == "HT":
tambo = self.night_forecast [day_number] .high
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertCelsiusToFahrenheit (tambo)
tambo = tambo + tempunit
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "CC":
kana self.locale == "iri":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_text_es [self.night_forecast [day_number] .condition_code]
elif self.locale == "fr":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_text_fr [self.night_forecast [day_number] .condition_code]
zvimwe:
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_text [self.night_forecast [day_number] .condition_code]
elif datatype == "CT":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.night_forecast [day_number] .condition_text
elif datatype == "PC":
string = self.night_forecast [day_number] .precip
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
tambo = tambo + u »%»
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "HM":
tambo = self.night_forecast [day_number] .humidity
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
tambo = tambo + u »%»
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "WD":
string = self.night_forecast [day_number] .wind_dir
kana self.locale == "iri":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.bearing_text_es [tambo]
elif self.locale == "fr":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.bearing_text_fr [tambo]
zvimwe:
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo

elif datatype == "BF":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.bearing_arrow_font [self.night_forecast [day_number] .wind_dir]
elif datatype == "WS":
string = self.night_forecast [day_number] .wind_speed
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertKilometresToMiles (tambo)
tambo = tambo + speedunit
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "WG":
tambo = self.night_forecast [day_number] .wind_gusts
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertKilometresToMiles (tambo)
tambo = tambo + speedunit
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "CN":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.night_forecast [day_number] .city
elif datatype == "SR":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.night_forecast [day_number] .sunrise
elif datatype == "SS":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.night_forecast [day_number] .sunset
elif datatype == "MP":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.night_forecast [day_number] .moon_phase
elif datatype == "MF":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_moon_font [self.night_forecast [day_number] .moon_icon]
elif datatype == "BR":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.night_forecast [day_number] .bar_read
elif datatype == "BD":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.night_forecast [day_number] .bar_desc
zvimwe:
goho = "\ nERROR: Rudzi rwe data risingazivikanwe rwakumbirwa"
zororo

zvimwe: # zuva rekufungidzira raidiwa

yezuva_nhamba iri munzvimbo (zuva rekutanga, zuva rekupedzisira + 1):

kana dhatatype == "DW":
kana self.locale == "iri":
kana shortweekday == Chokwadi:
kuburitsa = kubuda + wega.getSpaces (nzvimbo) + WeatherText.day_of_week_short_es [self.day_forecast [zuva_nhamba] .day_of_week]
zvimwe:
kuburitsa = kubuda + kuzvipa.getSpaces (nzvimbo) + WeatherText.day_of_week_es [self.day_forecast [day_number] .day_of_week]
elif self.locale == "fr":
kana shortweekday == Chokwadi:
kuburitsa = kubuda + kuzvipa.getSpaces (nzvimbo) + WeatherText.day_of_week_short_fr [self.day_forecast [day_number] .day_of_week]
zvimwe:
kuburitsa = kuburitsa + pachako.getSpaces (nzvimbo) + WeatherText.day_of_week_fr [self.day_forecast [day_number] .day_of_week]
zvimwe:
kana shortweekday == Chokwadi:
kuburitsa = kubuda + kuzvipa.getSpaces (nzvimbo) + WeatherText.day_of_week_short [self.day_forecast [day_number] .day_of_week]
zvimwe:
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.day_of_week [self.day_forecast [day_number] .day_of_week]
elif datatype == "WF": # mamiriro ekunze
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_weather_font [self.day_forecast [day_number] .condition_code]
elif datatype == "LT":
tambo = self.day_forecast [day_number] .pasi
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertCelsiusToFahrenheit (tambo)
tambo = tambo + tempunit
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "HT":
tambo = self.day_forecast [zuva_nhamba] .high
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertCelsiusToFahrenheit (tambo)
tambo = tambo + tempunit
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "CC":
kana self.locale == "iri":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_text_es [self.day_forecast [day_number] .condition_code]
elif self.locale == "fr":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_text_fr [self.day_forecast [day_number] .condition_code]
zvimwe:
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_text [self.day_forecast [day_number] .condition_code]
elif datatype == "CT":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.day_forecast [day_number] .condition_text
elif datatype == "PC":
tambo = self.day_forecast [day_number] .precip
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
tambo = tambo + u »%»
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "HM":
tambo = self.day_forecast [day_number] .humidity
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
tambo = tambo + u »%»
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "WD":
tambo = self.day_forecast [day_number] .wind_dir

kana self.locale == "iri":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.bearing_text_es [tambo]
elif self.locale == "fr":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.bearing_text_fr [tambo]
zvimwe:
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo

elif datatype == "BF":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.bearing_arrow_font [self.day_forecast [day_number] .wind_dir]
elif datatype == "WS":
tambo = self.day_forecast [day_number] .wind_speed
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertKilometresToMiles (tambo)
tambo = tambo + speedunit
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "WG":
tambo = self.day_forecast [day_number] .wind_gusts
kana kuzvimiririra.isNumeric (tambo) == Chokwadi:
kana mutongi == Chokwadi:
tambo = kuzvidzora.convertKilometresToMiles (tambo)
tambo = tambo + speedunit
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + tambo
elif datatype == "CN":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.day_forecast [day_number] .city
elif datatype == "SR":
kuburitsa = kuburitsa + pachako.getSpaces (nzvimbo) + self.day_forecast [day_number] .sunrise
elif datatype == "SS":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.day_forecast [day_number] .sunset
elif datatype == "MP":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.day_forecast [day_number] .moon_phase
elif datatype == "MF":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + WeatherText.conditions_moon_font [self.day_forecast [day_number] .moon_icon]
elif datatype == "BR":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.day_forecast [day_number] .bar_read
elif datatype == "BD":
kuburitsa = kubuda + pachako.getSpaces (nzvimbo) + self.day_forecast [day_number] .bar_desc
zvimwe:
kuburitsa = u »\ NERROR: Rusingazivikanwe data mhando rakakumbirwa»
zororo

kuburitsa = u »» + kuburitsa.strip (u »«) # kurasikirwa nenzvimbo dzekutungamira / dzekutevera
dzoka kuburitsa

#kunze:
#print "getOutputText: Kanganiso isingatarisirwi:", sys.exc_info () [0]

def getOutputTextFromTemplate (yega, template):
#yedza:

# makiyi kune template data
DATATYPE_KEY = "-datatype ="
STARTDAY_KEY = "- zuva rekutanga ="
ENDDAY_KEY = "- zuva rekupedzisira ="
NIGHT_KEY = "- husiku"
SHORTWEEKDAY_KEY = "-shortweekday"
IMPERIAL_KEY = "- mambo"
HIDEUNITS_KEY = "-hideunits"
SPACES_KEY = "- nzvimbo ="

kubuda = u »»

sarudzofound = Nhema

# kurodha faira
edza:
fileinput = kuvhura (self.options.template)
template = fileinput.read ()
fileinput.close ()
kunze kwe:
kuburitsa = u »Template faira harina kuwanikwa!»

templatelist = kuzvimiririra.getTemplateList (template)

# lets walk through the template list uye sarudza kubuda kwechinhu chimwe nechimwe chinowanikwa
Nekuti ini ndiri mumakero (0, len (templatelist) -1):

pos = templatelist [i]. tsvaga (DATATYPE_KEY)
kana pos! = -1:
optionfound = Chokwadi
pos = pos + len (DATATYPE_KEY)
dhatatype = templatelist [i] [pos: pos + 4] .strip («}»). bvisa («{«). bvisa («-«). bvisa (»«)
zvimwe:
dhatatype = Hapana

pos = templatelist [i]. tsvaga (STARTDAY_KEY)
kana pos! = -1:
optionfound = Chokwadi
pos = pos + len (STARTDAY_KEY)
startday = int (templatelist [i] [pos: pos + 4] .strip ("}"). bvisa ("{"). bvisa ("-"). bvisa ("")
zvimwe:
zuva rekutanga = Hapana

pos = templatelist [i]. tsvaga (ENDDAY_KEY)
kana pos! = -1:
optionfound = Chokwadi
pos = pos + len (ENDDAY_KEY)
endday = int (templatelist [i] [pos: pos + 4] .strip ("}"). bvisa ("{"). bvisa ("-").
zvimwe:
zuva rekupedzisira = Hapana

pos = templatelist [i]. tsvaga (NIGHT_KEY)
kana pos! = -1:
optionfound = Chokwadi
husiku = Ichokwadi
zvimwe:
husiku = Nhema

pos = templatelist [i]. tsvaga (SHORTWEEKDAY_KEY)
kana pos! = -1:
optionfound = Chokwadi
shortweekday = Chokwadi
zvimwe:
zuva rapfupi = Nhema

pos = templatelist [i]. tsvaga (IMPERIAL_KEY)
kana pos! = -1:
optionfound = Chokwadi
Imperial = Chokwadi
zvimwe:
Imperial = Nhema

pos = templatelist [i]. tsvaga (HIDEUNITS_KEY)
kana pos! = -1:
optionfound = Chokwadi
hideunits = Chokwadi
zvimwe:
hideunits = Nhema

pos = templatelist [i]. tsvaga (SPACES_KEY)
kana pos! = -1:
optionfound = Chokwadi
pos = pos + len (SPACES_KEY)
nzvimbo = int (templatelist [i] [pos: pos + 4] .strip («}»). bvisa («{«). bvisa («-«).
zvimwe:
nzvimbo = 1

kana optionfound == Chokwadi:
templatelist [i] = self.getOutputText (dhatatype, zuva rekutanga, zuva rekupedzisira, husiku, zuva repfupi, yeumambo, yekuvanzika, nzvimbo)
sarudzofound = Nhema

# enda kuburikidza neiyo rondedzero concatenating zvakaburitswa izvozvi zvave kugarwa nevanhu
yechinhu mune templatelist:
kuburitsa = kuburitsa + chinhu

dzoka kuburitsa

#kunze:
#print "getOutputTextFromTemplate: Kanganiso isingatarisirwa:", sys.exc_info () [0]

def fetchData (pachako):

# gara uchitora metric dhata, shandisa hurukuro dzekuita pane ino data
file_path_current = self.TEMP_FILEPATH_CURRENT.replace ("LOCATION", self.options.location)
file_path_dayforecast = self.TEMP_FILEPATH_DAYFORECAST.replace ("LOCATION", self.options.location)
file_path_nightforecast = self.TEMP_FILEPATH_NIGHTFORECAST.replace ("LOCATION", self.options.location)

kana self.isConnectionAvailable () == Nhema:
kana os.path.exists (file_path_current):
RefetchData = Manyepo
zvimwe: # hapana kubatana, hapana cache, bang!
purinda "Hapana internet inobatika inowanikwa uye hapana dhata remamiriro ekunze aripo."
elif self.options.refetch == Chokwadi:
RefetchData = Chokwadi
zvimwe:
# iyo data inoda kudzokororwa zvakare?
kana os.path.exists (file_path_current):
lastmodDate = nguva.localtime (os.stat (file_path_current) [ST_MTIME])
expiryDate = (datetime.datetime.today () - datetime.timedelta (minutes = self.EXPIRY_MINUTES)) timetuple ()

kana kuperaDate> lastmodDate:
RefetchData = Chokwadi
zvimwe:
RefetchData = Manyepo
zvimwe:
RefetchData = Chokwadi

# tora izvo zvazvino mamiriro data, kungave kubva pawebhusaiti kana ne 'kusunungura'
kana RefetchData == Chokwadi:

# tora zvazvino mamiriro data kubva ku xoap service
edza:

# http://xoap.weather.com/weather/local/UKXX0103?cc=*&dayf=5&link=xoap∏=xoap&par=1061785028&key=e374effbfd74930b

url = 'http://xoap.weather.com/weather/local/' + self.options.location + '? cc = * & dayf = 8 & link = xoap∏ = xoap & par = 1061785028 & key = e374effbfd74930b & chikwata = m '
kana kuzvida.options.verbose == Chokwadi:
purinda >> sys.stdout, «inotora mamiriro ekunze kubva«, url

Usock = urllib2.urlopen (url)
xml = usock.read ()
Usock.close ()
self.weatherxmldoc = minidom.parseString (xml)
kunze kwe:
purinda "fetchData: Kanganiso isingatarisirwi:", sys.exc_info () [0]
purinda "Kutadza kubata mamiriro ekunze emamiriro azvino"

# udza mushandisi kana nzvimbo yakaipa…
yakawanikwa = xml.find ("Nzvimbo isiriyo yakapihwa")
kana wawanikwa! = -1:
purinda "Nzvimbo isiriyo yakapihwa"

# bvunzurudza dhata remamiriro ekunze, rongedza muchimiro chekirasi uye uisimbe
edza:

# gadzirira mamiriro ekunze data zvinyorwa
kuzvidzora.current_conditions = []
self.day_forecast = []
self.night_forecast = []

# unganidza general data
mamiriro ekunze_n = self.weatherxmldoc.documentElement
location_n = weather_n.getElementsByTagName ('loc') [0]
guta_n = nzvimbo_n.getElementsByTagName ('dnam') [0]
guta = kuzvimirira.getText (guta_n.childNodes)

# unganidza zvazvino mamiriro data
day_of_week = u »Nhasi»
precip = u »N / A»
kubuda kwezuva_n = nzvimbo_n.getElementsByTagName ('sunr') [0]
kubuda kwezuva = kuzvimiririra.Text (kubuda kwezuva_n.childNodes)
kuvira kwezuva_n = nzvimbo_n.getElementsByTagName ('suns') [0]
kuvira kwezuva = kuzvimiririra.Text (kunyura kwezuva_n.childNode)
current_condition_n = weather_n.getElementsByTagName ('cc') [0]
current_desc_n = current_condition_n.getElementsByTagName ('t') [0]
current_desc = self.getText (current_desc_n.childNodes)
current_code_n = current_condition_n.getElementsByTagName ('icon') [0]
current_code = self.getText (current_code_n.childNode)
current_temp_n = current_condition_n.getElementsByTagName ('tmp') [0]
current_temp = self.getText (current_temp_n.childNodes)
current_temp_feels_n = current_condition_n.getElementsByTagName ('flik') [0]
current_temp_feels = self.getText (yazvino_temp_feels_n.childNode)
bar_n = current_condition_n.getElementsByTagName ('bhaa') [0]
bar_read_n = bar_n.getElementsByTagName ('r') [0]
bar_read = self.getText (bar_read_n.childNode)
bar_desc_n = bar_n.getElementsByTagName ('d') [0]
bar_desc = kuzvimiririra.getText (bar_desc_n.childNode)
wind_n = current_condition_n.getElementsByTagName ('mhepo') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = kuzvimiririra.getText (wind_speed_n.childNodes)
wind_gust_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = kuzvipira.getText (wind_gust_n.childNodes)
wind_dir_n = wind_n.getElementsByTagName ('d') [0]
wind_direction = kuzvimiririra.getText (wind_dir_n.childNodes)
humidity_n = zvazvino_condition_n.getElementsByTagName ('hmid') [0]
humidity = kuzvimiririra.Text (humidity_n.childNode)
moon_n = current_condition_n.getElementsByTagName ('mwedzi') [0]
moon_icon_n = moon_n.getElementsByTagName ('icon') [0]
moon_icon = kuzvimiririra.getText (moon_icon_n.childNodes)
moon_phase_n = moon_n.getElementsByTagName ('t') [0]
moon_phase = kuzvimiririra.Text (moon_phase_n.childNodes)
current_conditions_data = WeatherData (day_of_week, current_temp_feels, current_temp, current_code, current_desc, precip, humidity, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)
self.current_conditions.append (current_conditions_data)

# unganidza forecast data
bar_read = u »N / A»
bar_desc = u »N / A»
moon_phase = u »N / A»
moon_icon = u »na»
forecast_n = weather_n.getElementsByTagName ('dayf') [0]
day_nodes = forecast_n.getElementsByTagName ('zuva')

kwezuva masikati_nodes:
zuva_of_week = zuva.getAttribute ('t')
day_of_year = zuva.getAttribute ('dt')
high_temp_n = zuva.getElementsByTagName ('hi') [0]
high_temp = self.getText (yakakwira_temp_n.childNode)
low_temp_n = zuva.getElementsByTagName ('pasi') [0]
low_temp = kuzvimiririra.getText (low_temp_n.childNode)

kubuda kwezuva_n = zuva.getElementsByTagName ('sunr') [0]
kubuda kwezuva = kuzvimiririra.Text (kubuda kwezuva_n.childNodes)
kuvira kwezuva_n = zuva.getElementsByTagName ('suns') [0]
kuvira kwezuva = kuzvimiririra.Text (kunyura kwezuva_n.childNode)

# zuva rekufungidzira rakatarwa data
masikati_n = zuva.getElementsByTagName ('chikamu') [0] # zuva
condition_code_n = daytime_n.getElementsByTagName ('icon') [0]
mamiriro_code = kuzvimiririra.getText (mamiriro_code_n.childNode)
mamiriro_n = nguva yemasikati_n.getElementsByTagName ('t') [0]
mamiriro = kuzvimiririra.getText (condition_n.childNode)
precip_n = nguva yemasikati_n.getElementsByTagName ('ppcp') [0]
precip = kuzvipira.getText (precip_n.childNodes)
humidity_n = nguva yemasikati_n.getElementsByTagName ('hmid') [0]
humidity = kuzvimiririra.Text (humidity_n.childNode)
mhepo_n = masikati_n.getElementsByTagName ('mhepo') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = kuzvimiririra.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
wind_direction = kuzvimiririra.getText (wind_direction_n.childNodes)
wind_gusts_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = kuzvipira.getText (wind_gusts_n.childNodes)
day_forecast_data = WeatherData (day_of_week, low_temp, high_temp, condition_code, condition, precip, humidity, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)
self.day_forecast.append (day_forecast_data)

# husiku fungidziro yakatarwa data
masikati_n = zuva.getElementsByTagName ('chikamu') [1] # husiku
condition_code_n = daytime_n.getElementsByTagName ('icon') [0]
mamiriro_code = kuzvimiririra.getText (mamiriro_code_n.childNode)
mamiriro_n = nguva yemasikati_n.getElementsByTagName ('t') [0]
mamiriro = kuzvimiririra.getText (condition_n.childNode)
precip_n = nguva yemasikati_n.getElementsByTagName ('ppcp') [0]
precip = kuzvipira.getText (precip_n.childNodes)
humidity_n = nguva yemasikati_n.getElementsByTagName ('hmid') [0]
humidity = kuzvimiririra.Text (humidity_n.childNode)
mhepo_n = masikati_n.getElementsByTagName ('mhepo') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = kuzvimiririra.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
wind_direction = kuzvimiririra.getText (wind_direction_n.childNodes)
wind_gusts_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = kuzvipira.getText (wind_gusts_n.childNodes)
night_forecast_data = WeatherData (day_of_week, low_temp, high_temp, condition_code, condition, precip, humidity, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)
self.night_forecast.append (night_forecast_data)

# kunhonga iyo data yenguva inotevera!
fileoutput = yakavhurika (file_path_current, 'w')
pickle.dump (self.current_conditions, fileoutput)
fileoutput.close ()

fileoutput = yakavhurwa (file_path_dayforecast, 'w')
pickle.dump (self.day_forecast, fileoutput)
fileoutput.close ()

fileoutput = yakavhurika (file_path_nightforecast, 'w')
pickle.dump (self.night_forecast, fileoutput)
fileoutput.close ()

kunze kwe:
purinda "fetchData: Kanganiso isingatarisirwi:", sys.exc_info () [0]
purinda "Kutadza kubvunzurudza mamiriro ekunze"

zvimwe: # tora data yemamiriro ekunze kubva kune yakasvinwa mafaera ekirasi
kana kuzvida.options.verbose == Chokwadi:
purinda >> sys.stdout, «inotora mamiriro ekunze kubva kufaira:«, file_path_current

fileinput = kuvhura (file_path_current, 'r')
kuzvidzora.current_conditions = kunhonga.load (fileinput)
fileinput.close ()

kana kuzvida.options.verbose == Chokwadi:
purinda >> sys.stdout, "kutora zuva rekufungidzira data kubva kumafaira:", file_path_dayforecast, file_path_nightforecast

fileinput = yakavhurwa (file_path_dayforecast, 'r')
self.day_forecast = pickle.load (fileinput)
fileinput.close ()

kana kuzvida.options.verbose == Chokwadi:
purinda >> sys.stdout, "kutora zuva rekufungidzira data kubva kumafaira:", file_path_nightforecast, file_path_nightforecast

fileinput = yakavhurika (file_path_nightforecast, 'r')
self.night_forecast = pickle.load (fileinput)
fileinput.close ()

def kuburitsaData (pachako):
#yedza:

kana self.options.template! = Hapana:

kuburitsa = kuzvimiririra.getOutputTextFromTemplate (self.options.template)

zvimwe:

kuburitsa = kuzvimiririra.getOutputText (self.options.datatype, self.options.startday, self.options.endday, self.options.husiku, kuzvida.options.shortweekday, self.options.imperial, kuzvitonga.hideunits, self. nzvimbo.spaces)

purinda kuburitsa.encode ("utf-8")

#kunze:
#print «kuburitsaData: Kanganiso isingatarisirwa:«, sys.exc_info () [0]

kana __name__ == "__main__":

parser = RairaLineParser ()
(sarudzo, args) = parser.parse_args ()

kana sarudzo.verbose == Chokwadi:
purinda >> sys.stdout, "nzvimbo:", options.location
purinda >> sys.stdout, "mambo:", options.imperial
purinda >> sys.stdout, "datatype:", options.datatype
purinda >> sys.stdout, "husiku:", sarudzo.husiku
purinda >> sys.stdout, "zuva rekutanga:", sarudzo.startday
purinda >> sys.stdout, "zuva rekupedzisira:", options.endday
purinda >> sys.stdout, "nzvimbo:", options.spaces
purinda >> sys.stdout, "verbose:", options.verbose
purinda >> sys.stdout, "refetch:", options.refetch

# gadzira nyowani yepasi rose mamiriro ekunze
mamiriro ekunze = GlobalWeather (sarudzo)
Weather.fetchData ()
mamiriro ekunze.outputData ()

Isu tinogadzira iyo faira ~ / Conky / zvinyorwa / myweather.template

gedit ~ / Conky / zvinyorwa / myweather.template

isu tinonama zvinotevera mukati:

{–Datatype = DW –startday = 1}: {–datatype = CC -startday = 1}
{–Datatype = HT -startday = 1} / {–datatype = LT -startday = 1} Mhepo kubva ku {–datatype = WD -startday = 1} kusvika {–datatype = WS -startday = 1}
Humidity: {–datatype = HM -startday = 1} Kunaya: {–datatype = PC -startday = 1}
Kubuda kwezuva: {–datatype = SR -startday = 1} Zuva rovira: {–datatype = SS -startday = 1}
——--------------------------
{–Datatype = DW –startday = 2}: {–datatype = CC -startday = 2}
{–Datatype = HT -startday = 2} / {–datatype = LT -startday = 2} Mhepo kubva ku {–datatype = WD -startday = 2} kusvika {–datatype = WS -startday = 2}
Humidity: {–datatype = HM -startday = 2} Kunaya: {–datatype = PC -startday = 2}
Kubuda kwezuva: {–datatype = SR -startday = 2} Zuva rovira: {–datatype = SS -startday = 2}
——--------------------------
{–Datatype = DW –startday = 3}: {–datatype = CC -startday = 3}
{–Datatype = HT -startday = 3} / {–datatype = LT -startday = 3} Mhepo kubva ku {–datatype = WD -startday = 3} kusvika {–datatype = WS -startday = 3}
Humidity: {–datatype = HM -startday = 3} Kunaya: {–datatype = PC -startday = 3}
Kubuda kwezuva: {–datatype = SR -startday = 3} Zuva rovira: {–datatype = SS -startday = 3}
——--------------------------
{–Datatype = DW –startday = 4}: {–datatype = CC -startday = 4}
{–Datatype = HT -startday = 4} / {–datatype = LT -startday = 4} Mhepo kubva ku {–datatype = WD -startday = 4} kusvika {–datatype = WS -startday = 4}
Humidity: {–datatype = HM -startday = 4} Kunaya: {–datatype = PC -startday = 4}
Kubuda kwezuva: {–datatype = SR -startday = 4} Zuva rovira: {–datatype = SS -startday = 4}

Isu tinogadzira iyo faira ~ / Conky / zvinyorwa / tsamba / conkyEmail.py (isu tinofanirwa kugadzira dura retsamba)

gedit ~ / Conky / zvinyorwa / tsamba / conkyEmail.py

uye unama zvinotevera mukati:

kupinza iwe
kupinza tambo

#Pinda zita rako rekushandisa uye password pazasi mukati memaviri makotesheni
# semuenzaniso. zita rekushandisa = »username» uye password = »password»
zita rekushandisa = »YAKO_USUARIO_SINARROBA«
password = »YAKO_KEY«

com = »wget -O - https: //» + zita rekushandisa + »:» + password + »@ mail.google.com / mail / feed / atom –no-check-certificate»

temp = os.popen (com)
msg = temp.read ()
index = tambo.find (msg, » »)
index2 = tambo.find (msg, » »)
fc = int (msg [index + 11: index2])

kana fc == 0:
purinda "0 nyowani"
zvimwe:
Dhinda tambo (fc) + »nyowani»

Saka ikozvino une mafaera manomwe:

Mune dhairekitori: ~
-> .startconky << - ita kuti ishandiswe

Mune dhairekitori: ~ / Conky
-> conkymain
-> conkyforecast
-> conkymail

uye mufaira: ~ / Conky / zvinyorwa
-> conkyForecast.py << - inogadzira
-> myweather.template

uye mufaira: ~ / Conky / zvinyorwa / tsamba
conkyEmail.py << - ita kuti ishandiswe

Uye ndizvozvo, kujekeswa, kwazvinoti / kumba / mushandisi / ... rako rezita rinoenda uye muchikamu kunoenda data reGmail, ini ndakaratidza mumavara paunofanira kuisa data rako.

kuuraya iyo conky maitiro nyora kune koni

kuuraya conky

kumhanya conky kunyorera koni

./. kutanga

kana uchinge wagadzirisa zvese, kana iwe uchida conky kutanga yega yega chikamu

Sisitimu -> Zvaunofarira -> Zvirongwa uye muzvirongwa zvekutanga tinowedzera

MuZita tinogona kunyora Conky, muOrder ./.startconky nazvo izvo zvinotanga pese paunobatidza pc.

Ndizvozvo, ndinovimba zvinokubatsira.


Iva wekutanga kutaura

Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako