Conky, ukuseta kwam

I-Fecfactor indibuze izolo ukuba ndishicilele ubumbeko lwe-conky endiyibonisayo kumfanekiso ongezantsi

Njengoko ubona kukho ii-conkys ezi-3, ezenziwa kusetyenziswa iskripthi, ubumbeko lwayo lusekwe esi sithuba ithunyelwe ngumsebenzisi uBruce M. kwiiforamu ze Ubuntu-Ar ngolunye uhlengahlengiso kwi-imeyile conky, kwimeko yam yeyoku-Gmail.

Kwiphepha lesalathiso lichazwe kakuhle nguBruce, kodwa nanjengoncedo lwenkumbulo kum, ndiza kukopa amanyathelo ekufuneka ndiwalandele kunye nekhowudi yeekhonkoni zam kuye nabani na onayo.

Ewe kunjalo kufuneka ukuba sibe ne-conky, curl kunye ne-python efakiweyo ukuze sichwetheze ikhonsoli:

Sudo apt-fumana ukufaka i-conky curl python

Umthombo wemozulu.ttf kunye neentolo.ttf ulapha. Umthombo wenyanga.ttf ulapha xa sele ukhutshiwe kufuneka ukope kwi / usr / share / fonts

Masenze iskripthi esibizwa ngokuba yi- ~. / Startconky

gksudo gedit ~ / .startconky

ngaphakathi kwefayile engenanto sincamathisela oku kulandelayo

#! / bin / ibash
ukulala 0 & # 0 kulungile kwiXfce- sebenzisa i-20 ukuya kwi-30 yeGnome
conky -c ~ / Conky / conkymain kunye
#sleep 0 & # 0 ilungile kwiXfce- sebenzisa 1 kwiGnome
conky -c ~ / Conky / conkyforecast kunye
#sleep 0 & # 0 ilungile kwiXfce- sebenzisa 1 kwiGnome
conky -c ~ / Conky / conkymail kunye

Ngoku senza ifayile ye-conkymain kwifolda ye- ~ / Conky, kungenjalo sinayo ifolda yeConky, kuya kufuneka siyenze.

gedit ~ / Conky / conkymain

Ndisebenzisa ifonti yeCalibri, ukuba awunayo, yitshintshe ngayo nantoni na oyifunayo.

Sinamathela ngaphakathi kulandelayo

imvelaphi hayi
eyakho_window ewe
eyakho_window_yokucaca ewe
eyakho_window_hints ezingakhange zihonjiswe, apha ngezantsi, zincangathi, tsiba_taskbar, tsiba_phepha
eyakho_efestile_ umbala omnyama
kabini_buffer ewe
use_spacer ekhohlo
sebenzisa_xft ewe
ifonti calibri: ubungakanani = 9
xftfont calibri: ubungakanani = 9
xftalpha 0.5
Uhlaziyo_okungena kwi-5.0
oonobumba abakhulu abayi- # ukuseta ku-ewe ukuba ufuna ukuba sonke isicatshulwa sibhalwe ngoonobumba abakhulu
Umda_wemida 3
umda_umda 9
umda_bubanzi 10
default_color emhlophe
default_outline_color emnyama
okungagqibekanga_i-color_color emnyama
umbala0 wecyan
umbala omnyama okhanyayo
umbala2 orenji
umbala omthubi
umbala4 ingqolowa
umbala5 umhlophe
umbala6 umhlophe
umbala7 umhlophe
umbala8 umhlophe
umbala9 umhlophe
ulungelelwaniso phezulu_esokudla # okanye phezulu_khohlo, ezantsi_khohlo, ezantsi_ ekunene
isikhewu_x 10
isikhewu_ 35
i-text_buffer_size 128 # sebenzisa 1024 kwisimo sezulu
hayi_buffers ewe # Ukukhupha iifayile kwifomathi kwimemori esetyenzisiweyo?
zoba_imida hayi
zoba_kumgca ewe # yandisa isicatshulwa ukuba ewe
zoba_imithunzi ewe # shadecolor emnyama

TEXT
$ {font calibri: size = 12} $ {alignc} $ {color1} $ sysname $ kernel on $ machine} $ color $ ifonti
$ {font calibri: size = 12} $ {alignc} $ {color2} $ {exec whoami} @ $ nodename $ color $ ifonti
$ {color0} $ {hr 1} $ umbala
$ {font calibri: size = 20} $ {alignc} $ {time% H:% M} $ ifonti
$ {font calibri: size = 12} $ {color1} $ {alignc} $ {ixesha% A,% d% b. % Y} $ umbala $ font
$ {color3} Ixesha lokuGcina: $ {alignr 2} $ uptime $ color
$ {color0} $ {hr 1} $ umbala
$ {voffset 5} $ {color2} CPU: $ {alignc} $ color $ running_processes $ {color1} / $ color $ iinkqubo $ {alignr 2} $ {color2} $ {cpubar cpu0 14,80} $ color
$ {color1} $ {voffset -16} $ {alignr 5} $ cpu% $ umbala
$ {voffset 2} $ {color1} Layisha Umdaniso ($ {color3} Min $ {color1}): $ {alignr 2} $ {color3} 1: $ color $ {loadavg 1} $ {color3} 5: $ color $ {umthwaloavg 2} $ {umbala3} 15: $ $ $ {loadavg 3}
$ {voffset 5} $ {color2} RAM: $ color $ mem $ {color2} / $ color $ memmax $ {alignr 2} $ {color2} $ {membar 14,80} $ color
$ {color1} $ {voffset -16} $ {alignr 5} $ memperc% $ umbala
$ {voffset 2} $ {color1} Egciniweyo: $ color $ {buffers} $ {alignr 2} $ {color1} Cached: $ color $ {cached}
$ {voffset 5} $ {color2} SWAP: $ color $ swap $ {color2} / $ color $ {swapmax} $ {alignr 2} $ {color2} $ {swapbar 14,80} $ color
$ {umbala1} $ {voffset -16} $ {alignr 5} $ swapperc%
$ {color0} $ {hr 1} $ umbala
$ {voffset 5} $ {color2} HD Info $ {color1} - $ color Free $ {color1} - Isetyenzisiwe - $ {color2} Iyonke
$ {voffset 5} $ {color1} Umsuka: $ color $ {fs_free_perc /}% $ {alignr 2} $ {fs_free /} $ {color2} / $ {color1} $ {fs_used /} $ color / $ {color2} $ {fs_size /} $ umbala
$ {color1} Ekhaya: $ color $ {fs_free_perc / home / user}% $ {alignr 2} $ {fs_free / home / user} $ {color2} / $ {color1} $ {fs_used / home / user} $ color / $ {color2} $ {fs_size / home / user} $ umbala
$ {color0} $ {hr 1} $ umbala
$ {color1} Ukusuka: $ umbala Buenos Aires, Argentina
$ {color1} Lat: $ {color2} 34 ° 35'S $ {color1} Ixesha elide: $ {color2} 58 ° 21'W $ {color1} Alt: $ {color2} 25 m $ umbala
$ {voffset 5} $ {color2} $ {font calibri: size = 12} namhlanje: $ font $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = CC} $ umbala $ {alignr 2} $ {color1} ST: $ {color2} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location = ARBA0009 –datatype = LT}
$ {color3} $ {font Weather: size = 50} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = WF} $ ifonti $ umbala
$ {alignr 50} $ {voffset -55} $ {font calibri: size = 25} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 -datatype = HT} $ ifonti
$ {alignc 20} $ {voffset -30} $ {font Arrows: size = 20} $ {color4} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 -datatype = BF} $ color $ ifonti
$ {alignc 10} $ {voffset 5} $ {color4} Wind: $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = WS} $ umbala
$ {color1} Ukufuma: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = HM} $ {alignr 2} $ {color1} Precipitation: $ {color3} $ { yenza i-3600 python ~ / Conky / script / conkyForecast.py –location = ARBA0009 –datatype = PC} $ color
$ {alignc} $ {color1} Uxinzelelo: $ {color3} $ {execi 3600 python ~ / Conky / scrcript / conkyForecast.py –location = ARBA0009 –datatype = BR} - $ {color3} $ {execi 3600 python ~ / Conky /script/conkyForecast.py –location = ARBA0009 –datatype = BD} $ color
$ {color4} $ {hr} $ umbala
$ {color1} Ukuphuma kwelanga: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SR} $ {alignr 2} $ {color1} Sunset: $ {color3} $ { yenza 3600 python ~ / Conky / script / conkyForecast.py –location = ARBA0009 –datatype = SS}
$ {voffset 15} $ {color1} Inyanga: $ {color4} $ {alignr 2} $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = MP} $ color
$ {voffset -20} $ {offset 80} $ {color4} $ {font inyanga phases: size = 20} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 -datatype = MF} $ ifonti $ umbala
$ {color0} $ {hr} $ umbala
$ {voffset 5} $ {color2} IP: $ {alignc} $ umbala $ {addr eth0}
$ {color1} Phantsi: $ color $ {downspeed eth0} k / s $ {alignr 2} $ {color1} Phezulu: $ color $ {upspeed eth0} k / s
$ {color1} Iyonke: $ color $ {totaldown eth0} $ {alignr 2} $ {color1} Iyonke: $ color $ {totalup eth0}
$ {color1} Inbound: $ color $ {tcp_portmon 1 32767 count} $ {color1} Outbound: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color1} Iyonke: $ color $ {tcp_portmon 1 65535 count}
$ {voffset 5} $ {color2} Unxibelelwano: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color2} Service / Port $ color
$ {voffset 5} $ {tcp_portmon 32768 61000 umoya 0} $ {alignr 2} $ {tcp_portmon 32768 61000 inkonzo 0}
$ {tcp_portmon 32768 61000 umoya 1} $ {alignr 2} $ {tcp_portmon 32768 61000 inkonzo 1}
$ {tcp_portmon 32768 61000 umoya 2} $ {alignr 2} $ {tcp_portmon 32768 61000 inkonzo 2}
$ {tcp_portmon 32768 61000 umoya 3} $ {alignr 2} $ {tcp_portmon 32768 61000 inkonzo 3}
$ {tcp_portmon 32768 61000 umoya 4} $ {alignr 2} $ {tcp_portmon 32768 61000 inkonzo 4}
$ {tcp_portmon 32768 61000 umoya 5} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 5} $ color

Senza ifayile ~ / Conky / conkyforecast

gedit ~ / Conky / conkyforecast

kwaye sincamathisela oku kulandelayo ngaphakathi

imvelaphi hayi
eyakho_window ewe
eyakho_window_yokucaca ewe
eyakho_window_hints ezingakhange zihonjiswe, apha ngezantsi, zincangathi, tsiba_taskbar, tsiba_phepha
eyakho_efestile_ umbala omnyama
kabini_buffer ewe
use_spacer ekhohlo
sebenzisa_xft ewe
ifonti calibri: ubungakanani = 8
xftfont calibri: ubungakanani = 8
xftalpha 0.5
Uhlaziyo_okungena kwi-5.0
oonobumba abakhulu abayi- # ukuseta ku-ewe ukuba ufuna ukuba sonke isicatshulwa sibhalwe ngoonobumba abakhulu
Umda_wemida 3
umda_umda 9
umda_bubanzi 10
default_color emhlophe
default_outline_color emnyama
okungagqibekanga_i-color_color emnyama
umbala0 wecyan
umbala omnyama okhanyayo
umbala2 orenji
umbala omthubi
umbala4 ingqolowa
umbala5 umhlophe
umbala6 umhlophe
umbala7 umhlophe
umbala8 umhlophe
umbala9 umhlophe
ulungelelwaniso ezantsi_khohlo # okanye phezulu_khohlo, ezantsi_khohlo, ezantsi_ ekunene
isikhewu_x 10
isikhewu_ 35
i-text_buffer_size 1024 # sebenzisa 1024 kwisimo sezulu
hayi_buffers ewe # Ukukhupha iifayile kwifomathi kwimemori esetyenzisiweyo?
zoba_imida hayi
zoba_kumgca ewe # yandisa isicatshulwa ukuba ewe
zoba_imithunzi ewe # shadecolor emnyama

TEXT
$ {color4} $ {font calibri: size = 11} Uqikelelo olwandisiweyo $ font font $ color
$ {color0} $ {hr} $ umbala
$ {color4} $ {font calibri: size = 9} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –template = / ikhaya / umsebenzisi / Conky / izikripthi / myweather.template} $ font $ umbala

senza ifayile ~ / Conky / conkymail

gedit ~ / Conky / conkymail

sincamathisela oku kulandelayo kwifayile

imvelaphi hayi
eyakho_window ewe
eyakho_window_yokucaca ewe
eyakho_window_hints ezingakhange zihonjiswe, apha ngezantsi, zincangathi, tsiba_taskbar, tsiba_phepha
eyakho_efestile_ umbala omnyama
kabini_buffer ewe
use_spacer ekhohlo
sebenzisa_xft ewe
ifonti calibri: ubungakanani = 8
xftfont calibri: ubungakanani = 8
xftalpha 0.5
Uhlaziyo_okungena kwi-5.0
oonobumba abakhulu abayi- # ukuseta ku-ewe ukuba ufuna ukuba sonke isicatshulwa sibhalwe ngoonobumba abakhulu
Umda_wemida 3
umda_umda 9
umda_bubanzi 10
default_color emhlophe
default_outline_color emnyama
okungagqibekanga_i-color_color emnyama
umbala0 wecyan
umbala omnyama okhanyayo
umbala2 orenji
umbala omthubi
umbala4 ingqolowa
umbala5 umhlophe
umbala6 umhlophe
umbala7 umhlophe
umbala8 umhlophe
umbala9 umhlophe
ulungelelwaniso ezantsi_khohlo # okanye phezulu_khohlo, ezantsi_khohlo, ezantsi_ ekunene
isikhewu_x 565
isikhewu_ 35
i-text_buffer_size 128 # sebenzisa 1024 kwisimo sezulu
hayi_buffers ewe # Ukukhupha iifayile kwifomathi kwimemori esetyenzisiweyo?
zoba_imida hayi
zoba_kumgca ewe # yandisa isicatshulwa ukuba ewe
zoba_imithunzi ewe # shadecolor emnyama

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

Senza ifayile kwi ~ / Conky / script / conkyForecast.py (kufuneka senze ifolda)

gedit ~ / Conky / izikripthi / conkyForecast.py

#! / usr / bin / python
# - * - ukufaka iikhowudi: utf-8 - * -
############ # ############################
# conkyForecast.py (ayisiyonto ilula) (kwakhona) python script yokuqokelela
# iinkcukacha zemozulu yangoku ukuba zisetyenziswe kwi-conky.
#
# Umbhali: Kaivalagi
# Yadalwa: 13/04/2008
# Uhlengahlengiso:
# 14/04/2008 Vumela uluhlu lwemihla yedatha yesimo sezulu
# 14/04/2008 Jonga unxibelelwano kwinkonzo ye xoap
# 18/04/2008 Vumela ukusetwa kweendawo zokuvelisa imveliso
# 18/04/2008 Vumela uqikelelo lobusuku nemini
# 18/04/2008 Inkxaso yendawo ekuyo imeko yekhowudi yokubhaliweyo «CC» ukhetho, ulindele ukuguqulelwa kolwimi lwesiSpanish
# 18/04/2008 Sebenzisa ukukhethwa kwedatha yeklasi kunokuvula i-xml, oku kudlula kwisidingo sokubuza idatha egciniweyo
# 19/04/2008 Yongeze imeko yespanish isicatshulwa- Enkosi uBruce M
# 19/04/2008 Yongeze isnumeric cheki kuzo zonke iziphumo zamanani kunye nesimamva seeyunithi
# 19/04/2008 Ifayile yeflethi eguqulweyo enegama lokufaka ikhowudi yendawo
# 19/04/2008 Yongeze ukuguqulwa kweentsuku zeentsuku zespanish nge-locale
# 20/04/2008 Yongeze ingxelo efanelekileyo yomyalelo wokuxoxa
# 20/04/2008 Yongezwe - ukhetho losuku olufutshane lweveki, ukuba unikwe usuku lwedatha yohlobo lwedatha olufinyeziweyo lube ngoonobumba abathathu
# 21/04/2008 Iinketho zendawo ezisisigxina kwimveliso yezulu
# 21/04/2008 Yongezwe –umzekelo wokukhetha ukuvumela ukuphuma kwesiko usebenzisa umnxeba omnye exec
# 21/04/2008 Yongezwe –ihideunits ukhetho lokususa, umzekelo, mph no-C kwimveliso
# 23/04/2008 Kususwe - ukhetho lwaseburhulumenteni kwitemplate, oku KUFUNEKA kusekwe njengokhetho oluqhelekileyo kwifowuni yeskripthi engasetyenziswanga kwifayile yetemplate.
# 23/04/2008 Ifundwe - ukhetho lwaseburhulumenteni kwitemplate, evumela ixabiso leetriki okanye zasebukhosini kuhlobo lwedatha nganye. Qaphela xa usebenzisa itemplate yelayini yomyalelo ukhetho alunakusebenza.
# 23/04/2008 Ukongezwa kwemveliso ekwazisa umsebenzisi ukuba indawo enikiweyo imbi
# 24/04/2008 Ukuphathwa okungafakwanga konxibelelwano, kuya kubuyela kwidatha egcinwe ngoku (ukuphosakela ukuba akukho cache ifumanekayo). Uvavanyo ngokuzama ukuvula xoap.weather.com
# 24/04/2008 I-Celsius eLungisiweyo kuguquko lwefahrenheit
# 06/05/2008 Ukuhlaziywa kwe-url esetyenziswe emva kokuba i-webservice ihlaziyiwe
# 09/05/2008 Ukudityaniswa kwemeko yangoku kunye nedatha yokuqikelela ingena kwifowuni enye
# 09/05/2008 Kongezwe ukuphuma nokutshona kwelanga kwii-database, ezi zichaphazela iimeko zangoku kunye nedatha yesimo sezulu.
# 09/05/2008 Isigaba senyanga esongeziweyo, ukufundwa kwebaromitha kunye nenkcazo yebarometer kuluhlu lwedatha, ezi zichaphazela kuphela iimeko ezikhoyo ngoku ke N / A kwimveliso eqikelelweyo
# 09/05/2008 Yongeza iinguqulelo zeyunithi zebarometer ukusuka kwi-mb ukuya kwii-intshi (yasebukhosini)
# 09/05/2008 Umbhalo ohlaziyiweyo wespanish-Enkosi uBruce M
# 10/05/2008 Yongeze idatha yendawo yesiFrentshi- Enkosi benpaka
# 12/05/2008 Yongeze i-BF entsha (ephethe ifonti) yedatha yokubonelela ngetolo (sebenzisa ifonti yeArrow.ttf) endaweni yokukhutshwa kwe-NSEW kwi-WD (kwicala lomoya)
# 12/05/2008 Ukuhlaziywa kwemveliso yeWD ukuze ibekho kwindawo ethile, okwangoku ixhasa isingesi kunye neSpanish- Enkosi uBruce M.
# 18/05/2008 Yongeze i-MF entsha (ifonti yenyanga) yedatha ukubonelela ngomlinganiswa wefonti yenyanga (abalinganiswa abachanekanga kwaye akukho font inikezelweyo okwangoku).
# 21/05/2008 Ngeemeko ezikhoyo ngoku i-datatype = ukhetho lwe-LT ngoku lubonisa «uziva ngathi» ubushushu kunokuba ubushushu bukho ngoku
#
# YONKE INTO:
# Dibanisa iifayile ze-pkl kwifayile / kwiklasi enye
# Yongeza ifonti yemozulu esekwe kwimveliso yesigaba senyanga esekwe kwidatha yenyanga
# ??? Ngaba zikhona ezinye iimfuno phaya?

ukungenisa sys, os, socket, urllib2, ixesha ledatha, ixesha
ukusuka kwi-xml
ukusuka kummiselo wokungenisa elizweni *
ukusuka ekuphumeni kokungenisa i-OptionParser
indawo yokungenisa
ukungenisa ngaphandle okubhaliweyo
ukungenisa pickle
ukusuka ekungeniseni izibalo *

I-APP = »conkyForecast.py»
I-DIR = os.path.dirname (__file__) + '/ locale'
ukufumana.bindtextdomain (APP, DIR)
ukufumana.textdomain (APP)
_ = ukufumana isicatshulwa

Iklasi CommandLineParser:

Isikhombi = Akukho

chaza __init __ (ngokwakho):

self.parser = InkethoParser ()
self.parser.add_option («- l», »- indawo», dest = »indawo», default = »UKXX0103 ″, type =» string », metavar =» CODE », help = u» ikhowudi yendawo yedatha yemozulu [ okungagqibekanga:% okungagqibekanga], Sebenzisa le url elandelayo ukumisela ikhowudi yendawo ngegama lesixeko:
self.parser.add_option ("- d", "- datatype", dest = "datatype", default = "HT", type = "string", metavar = "DATATYPE", help = u "[okungagqibekanga:% emiselweyo] Uhlobo lweedatha onokukhetha kuzo zezi: DW (Usuku lweveki), WF (Iziphumo zefonti yemozulu), LT (Uqikelelo: Ixesha eliphantsi, iXesha langoku: Iimvakalelo ezinje ngeTemp), i-HT (Uqikelelo: Ixesha Eliphezulu, Ixesha langoku: Ixesha Langoku), CC (Okwangoku Iimeko), i-CT (imiQathango yokubhaliweyo), i-PC (yokuThintela ukuNcitshiswa), i-HM (Ukufuma), i-WD (Isalathiso somoya), i-WS (Isantya somoya), i-WG (i-Wind Gust), i-CN (igama lesiXeko), i-SR (ukuphuma kwelanga), i-SS (ukutshona kwelanga), i-MP (isigaba senyanga), i-MF (ifonti yenyanga), i-BR (ukufundwa kwebaromitha), i-BD (inkcazo ye-barometer). Ayisebenzi kumgca wokuyalela xa usebenzisa itemplate. »)
self.parser.add_option («- s», »- usuku lokuqala», dest = »usuku lokuqala», type = »int», metavar = »INOMBOLO», nceda = u »chaza inani losuku lokuqala, ukuba ngaba iimeko ezikhoyo zishiyiwe Ayisebenzi kumgca wokuyalela xa usebenzisa itemplate. »)
self.parser.add_option ("- e", "- isiphelo sosuku", ukuphela = "isiphelo sosuku", uhlobo = "int", metavar = "INOMBOLO", nceda = u "chaza inombolo yosuku lokuphela, ukuba ishiyiwe kuphela idatha yosuku ayisebenzi kumgca wokuyalela xa usebenzisa itemplate. »)
self.parser.add_option («- S», »- izithuba», dest = »izithuba», type = »int», default = 1, metavar = »NUMBER», help = u »[default:% default] Ichaza Inani lezithuba phakathi kwemveliso ebekiweyo. Ayisebenzi kumgca wokuyalela xa usebenzisa iitemplate. »)
self.parser.add_option («- t», »- itemplate», dest = »itemplate», uhlobo = »umtya», metavar = »FILE», help = u »ichaza ifayile yetemplate yokuvelisa imveliso kwifowuni enye. Into ebonakalayo kwifayile ikwimo {–datatype = HT -startday = 1}. Oku kulandelayo kunokukhethwa kuyo nganye into: -datatype, -startday, -endday, -night, -shortweekday, -imperial, -hideunits, –Zithuba. Qaphela ukuba iifom ezimfutshane zokhetho azixhaswanga okwangoku! Akukho nanye kwezi ndlela esebenzayo kumgca wokuyalela xa usebenzisa itemplates. »)
self.parser.add_option («- L», »- indawo», dest = »indawo», uhlobo = »umtya», uncedo = u »ukugqithisa inkqubo yendawo yokufumana ulwimi (en = english, es = spanish, fr = isiFrentshi, kuseza) »)
self.parser.add_option ("- i", "- impiriyali", dest = "impiriyali", okungagqibekanga = Ubuxoki, isenzo = "ivenkile_yinyaniso", uncedo = u "cela iiyunithi zasebukhosini, ukuba iziphumo ezishiyiweyo zikwi-metric. Ayisebenzi umgca wokuyalela xa usebenzisa iitemplate. »)
self.parser.add_option («- n», »- ebusuku», dest = »ubusuku», okungagqibekanga = Ubuxoki, isenzo = »ivenkile_yinyaniso», uncedo = u »tshintshela kwimveliso yedatha yasebusuku, ukuba kungashiywanga ukuphuma kwemini. Ayisebenzi kumgca wokuyalela xa usebenzisa itemplate. »)
self.parser.add_option («- w», »- usuku olufutshane», dest = »usuku olufutshane», okungagqibekanga = Ubuxoki, isenzo = »ivenkile_yinyaniso», nceda = umgca wokuyalela xa usebenzisa iitemplate. »)
self.parser.add_option («- u», »- fihlaunits», dest = »fihlaunit», okungagqibekanga = Ubuxoki, isenzo = »ivenkile_yinyani», nceda = isabonisiwe. Ayisebenzi kwilayini yomyalelo xa usebenzisa itemplate. »)
self.parser.add_option ("- v", "- verbose", dest = "verbose", default = False, action = "store_true", help = u "request verbose output, akukho luvo luhle xa uqhuba nge-conky!" )
self.parser.add_option ("- r", "- refetch", dest = "refetch", default = False, action = "store_true", help = u "landa idatha ngaphandle kokuphela kwedatha")

def parse_args (ngokwakho):
(ukhetho, iargs) = self.parser.parse_args ()
buyela (ukhetho, args)

def print_help (ngokwakho):
buyela self.parser.print_help ()

iklasi 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):
usuku lwakho_we_week = u »» + usuku_lo_week
self.low = u »» + ephantsi
self.high = u »» + ephezulu
isimilo_ikhowudi = = »» + imeko_ikhowudi
isimilo_ sokubhaliweyo = u »» + condition_text
isiqu sakho.precip = u »» + precip
self.humidity = u »» + ukufuma
ngokwakho.wind_dir = u »» + wind_dir
ukuzimela.wind_speed = u »» + umoya_womoya
izixhobo zomoya eziziphefumlayo = u »» + zomoya
self.city = u »» + isixeko
ukuphuma kwelanga = u »» + ukuphuma kwelanga
sunset = u »» + ukutshona kwelanga
self.moon_phase = u »» + inyanga_phase
self.moon_icon = u »» + inyanga_ikon
ngokwakho.bar_read = u »» + bar_read
ngokwakho.bar_desc = u »» + bar_desc

Imozulu yeklasi:

iimeko_ okubhaliweyo = {
«0»: _ (u »iTornado»),
«1»: _ (u »iTropical Storm»),
«2»: _ (u »Inkanyamba»),
«3»: _ (u »Iindudumo ezinamandla»),
«4»: _ (u »Iindudumo»),
«5»: _ (u »Imvula exubileyo kunye nekhephu»),
«6»: _ (u »Imvula exubileyo kunye neSleet»),
«7»: _ (u »Imvula exutywayo»),
«8»: _ (u »Ingqele eqhaqhazelisa amazinyo»),
«9»: _ (u »Isithintelo»),
«10»: _ (u »Imvula ebandayo»),
«11»: _ (u »Iishawari»),
«12»: _ (u »Iishawari»),
«13»: _ (u »Iiflethi zekhephu»),
«14»: _ (u »Imvula ekhanyayo yekhephu»),
«15»: _ (u »Ukuvutha kwekhephu»),
«16»: _ (u »Ikhephu»),
«17»: _ (u »Isichotho»),
«18»: _ (u »Sleet»),
«19»: _ (u »Uthuli»),
«20»: _ (u »Inkungu»),
«21»: _ (u »Inkungu»),
«22»: _ (u »Umsi»),
«23»: _ (u »I-Blustery»),
«24»: _ (u »Umoya»),
«25»: _ (u »Ubandayo»),
«26»: _ (u »Kusibekele»),
«27»: _ (u »Uninzi lwamafu»),
«28»: _ (u »Uninzi lwamafu»),
«29»: _ (u »Kusibekele»),
«30»: _ (u »Kusibekele»),
«31»: _ (u »Cacisa»),
«32»: _ (u »Cacisa»),
«33»: _ (u »Ulungile»),
«34»: _ (u »Ulungile»),
«35»: _ (u »Imvula exubileyo kunye nesichotho»),
«36»: _ (u »Kushushu»),
«37»: _ (u »IiNdudumo ezizimeleyo»),
«38»: _ (u »Iindudumo ezisasazekileyo»),
«39»: _ (u »Iindudumo ezisasazekileyo»),
«40»: _ (u »Imvula ethe saa"),
«41»: _ (u »Ikhephu elinzima»),
«42»: _ (u »Imvula ehlakazekileyo yekhephu»),
«43»: _ (u »Ikhephu elinzima»),
«44»: _ (u »Kusibekele»),
«45»: _ (u »Iindudumo zemvula),
«46»: _ (u »Imvula yekhephu»),
«47»: _ (u »IiNdudumo ezizimeleyo»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

iimeko_text_es = {
«0»: _ (u »iTornado»),
«1»: _ (u »iTropical Storm»),
«2»: _ (u »Huracá¡n»),
«3»: _ (u »Izaqhwithi ezinamandla»),
«4»: _ (u »Izaqhwithi»),
«5»: _ (u »Imvula exubileyo kunye nekhephu»),
«6»: _ (u »Imvula exubileyo kunye neSleet»),
«7»: _ (u »Sleet»),
«8»: _ (u »Ingqele eqhaqhazelisa amazinyo»),
«9»: _ (u »Isithintelo»),
«10»: _ (u »Imvula ebandayo»), # okanye imvula ebandayo
«11»: _ (u »Iishawari»),
«12»: _ (u »Iishawari»),
«13»: _ (u »Ukukhanya kwekhephu»),
«14»: _ (u »Ukukhanya kwekhephu»),
«15»: _ (u »Ikhephu Blizzard»),
«16»: _ (u »Ikhephu»),
«17»: _ (u »Isichotho»),
«18»: _ (u »Sleet»),
«19»: _ (u »Powder»),
«20»: _ (u »Inkungu»),
«21»: _ (u »Inkungu»),
«22»: _ (u »Umsi»),
«23»: _ (u »Uqhwithela»),
«24»: _ (u »Ngumoya»),
«25»: _ (u »Fráo»),
«26»: _ (u »Kusibekele kakhulu»),
«27»: _ (u »Uninzi lwamafu»),
«28»: _ (u »Uninzi lwamafu»),
«29»: _ (u »Kusibekele»),
«30»: _ (u »Kusibekele»),
«31»: _ (u »Cacisa»),
«32»: _ (u »Cacisa»),
«33»: _ (u »Into enamafu»),
«34»: _ (u »Into enamafu»),
«35»: _ (u »Imvula ngeSichotho»),
«36»: _ (u »Ubushushu»),
«37»: _ (u »Izaqhwithi ezizimeleyo»),
«38»: _ (u »Izaqhwithi ezichaseneyo»),
«39»: _ (u »Izaqhwithi ezichaseneyo»),
«40»: _ (u »Imvula ethe saa"),
«41»: _ (u »Ikhephu elinzima»),
«42»: _ (u »Ubuthakathaka kunye nokuSasazeka kweKhephu»),
«43»: _ (u »Inamandla iNevada»),
«44»: _ (u »Amafu aSasazekileyo»),
«45»: _ (u »Izaqhwithi»),
«46»: _ (u »Ukuwa kweqhwa»),
«47»: _ (u »Izaqhwithi ezizimeleyo»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

iimeko_text_fr = {
«0»: _ (u »iTornade»),
«1»: _ (u »Tempête iTropicale»),
«2»: _ (okanye »Ouragan»),
«3»: _ (okanye »Orages Violents»),
«4»: _ (okanye »Orageux»),
«5»: _ (u »Iplagi et Neige»),
«6»: _ (u »Iplagi et Neige Mouillée»),
«7»: _ (u »Izinto eziguqukayo zeavec»),
«8»: _ (u »IBruine Givrante»),
«9»: _ (u »I-Bruine»),
«10»: _ (u »IPlagi yeGlacante»),
«11»: _ (u »Ukuchasana»),
«12»: _ (u »Ukuchasana»),
«13»: _ (u »uLégère Neige»),
«14»: _ (u »iForte Neige»),
«15»: _ (u »Tempête de Neige»),
«16»: _ (u »Neige»),
«17»: _ (u »Grêle»),
«18»: _ (u »Iplagi / Neige»),
«19»: _ (u »iNeage 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 »iNeageux»),
«27»: _ (u »Tres Nuageux»),
«28»: _ (u »Tres Nuageux»),
«29»: _ (u »iiNumiss Disséminés»),
«30»: _ (u »iiNumiss Disséminés»),
«31»: _ (u »Ubeau»),
«32»: _ (u »Ubeau»),
«33»: _ (u »iiBelles zeeklasikhi»),
«34»: _ (u »iiBelles zeeklasikhi»),
«35»: _ (u »iPlagi avec Grêle»),
«36»: _ (u »Chaleur»),
«37»: _ (okanye »I-Orages Isolés»),
«38»: _ (okanye »iiOrages Localisés»),
«39»: _ (okanye »iiOrages Localisés»),
«40»: _ (u »Averses Localisées»),
«41»: _ (u »Neige Lourde»),
«42»: _ (u »Tempête de Neige Iindawo zasekuhlaleni»),
«43»: _ (u »Neige Lourde»),
«44»: _ (u »iiNumiss Disséminés»),
«45»: _ (okanye »iiOrages»),
«46»: _ (u »Tempête de Neige»),
«47»: _ (okanye »I-Orages Isolés»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

imeko_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 »»),
"-": _ (okanye "")
}

iimeko_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 »mna»),
«25»: _ (u »J»),
«26»: _ (u »K»),
«27»: _ (u »L»),
«28»: _ (u »M»),
«29»: _ (u »1 ″),
«Na»: _ (u »»),
"-": _ (okanye "")
}

Usuku_olo_veki = {
"Namhlanje": _ (okanye "Namhlanje"),
NgoMvulo »: _ (u» Mvulo »),
NgoLwesibini »: _ (u» Lwesibini »),
NgoLwesithathu »: _ (u» uLwesithathu »),
NgoLwesine »: _ (u» Lwesine »),
NgoLwesihlanu »: _ (u» NgoLwesihlanu »),
"NgoMgqibelo": _ (u "Saturday"),
"NgeCawa": _ (u "NgeCawa")
}

usuku_lo_week_short = {
"Namhlanje": _ (u "Ngoku"),
NgoMvulo »: _ (u» Mon »),
NgoLwesibini »: _ (u» Tue »),
"NgoLwesithathu": _ (u "Wed"),
NgoLwesine »: _ (u» Thu »),
NgoLwesihlanu »: _ (u» Fri »),
"NgoMgqibelo": _ (u "Sat"),
"NgeCawa": _ (u "Langa")
}

Usuku_olo_week_es = {
"Namhlanje": _ (u "namhlanje"),
"NgoMvulo": _ (u "Mvulo"),
NgoLwesibini »: _ (u» Lwesibini »),
NgoLwesithathu »: _ (u» uLwesithathu »),
NgoLwesine »: _ (u» Lwesine »),
NgoLwesihlanu »: _ (u» ngolwesiHlanu »),
"NgoMgqibelo": _ (u "Saturday"),
"NgeCawa": _ (u "NgeCawa")
}

Usuku_e_week_short_es = {
"Namhlanje": _ (u "namhlanje"),
"NgoMvulo": _ (u "mon"),
NgoLwesibini »: _ (u» ulwandle »),
NgoLwesithathu »: _ (u» wed »),
NgoLwesine »: _ (u» Lwesine »),
NgoLwesihlanu »: _ (u» fri »),
"NgoMgqibelo": _ (u "uhleli"),
"NgeCawe": _ (u "dom")
}

Usuku_olwiveki_fr = {
«Namhlanje»: _ (u »Aujourd'hui»),
NgoMvulo »: _ (u» Lundi »),
NgoLwesibini »: _ (u» Mardi »),
NgoLwesithathu »: _ (u» Mercredi »),
NgoLwesine »: _ (u» Jeudi »),
NgoLwesihlanu »: _ (u» Vendredi »),
"NgoMgqibelo": _ (u "Samedi"),
"NgeCawa": _ (u "Dimanche")
}

Usuku_e_week_short_fr = {
«Namhlanje»: _ (u »Auj»),
"NgoMvulo": _ (u "Mon"),
NgoLwesibini »: _ (u» Mar »),
"NgoLwesithathu": _ (u "Mer"),
NgoLwesine »: _ (u» Jeu »),
NgoLwesihlanu »: _ (u» Yiza »),
"NgoMgqibelo": _ (u "Sam"),
"NgeCawa": _ (u "Dim")
}

kuthwala_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 »«)
}

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

ukuthwala_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"),
"Yabo"),
"SSW": _ (u "SSO"),
«SW»: _ (u »SO»),
"WSW": _ (u "WOW"),
«W»: _ (u »O»),
«WNW»: _ (u »ONO»),
«NW»: _ (u »HAYI»),
«NNW»: _ (u »NNO»),
«N / A»: _ (u »N \ A»)
}

iklasi yelizwe jikelele:

iimeko zangoku = []
imini_forecast = []
ubushushu_busuku = []

indawo = "kwi"

ukhetho = Akukho
Imozuluxmldoc = «»

TEMP_FILEPATH_CURRENT = "/tmp/conkyForecast-c-LOCATION.pkl"
TEMP_FILEPATH_DAYFORECAST = "/ tmp/conkyForecast-df-LOCATION.pkl"
TEMP_FILEPATH_NIGHTFORECAST = "/tmp/conkyForecast-nf-LOCATION.pkl"
I-EXPIRY_MINUTES = 30
UKUQINISEKISAT_SPACING = u »«

def __init __ (ngokwakho, ukhetho):

ukhetho lwakho = ukhetho

ukuba self.options.locale == Akukho:
zama:
# self.locale = indawo.getdefaultlocale () [0] [0: 2]
self.locale = «es» #ukungenisa lo mgca ukunyanzela indawo yaseSpain
# self.locale = "fr" #ukungenisa lo mgca ukunyanzela indawo yaseFrance
ngaphandle:
shicilela "indawo ayimiselwanga"
enye:
# self.locale = self.options.locale
self.locale = «es» #ukungenisa lo mgca ukunyanzela indawo yaseSpain
# self.locale = "fr" #ukungenisa lo mgca ukunyanzela indawo yaseFrance

ukuba ukuzimela.options.verbose == Kuyinyani:
shicilela >> sys.stdout, "indawo ebekwe ku", self.locale

def GetText (ngokwakho, nodelist):
rc = ""
yeNode kwi-nodelist:
ukuba node.nodeType == node.TEXT_NODE:
rc = rc + indawo yedatha
buyela rc

def getSpaces (ngokwakho, izithuba):
umtya = u »»
ukuba izithuba == Akukho:
umtya = isiqu sakho
enye:
for i kuluhlu (0, izithuba + 1):
umtya = umtya + u »«
umtya wokubuyisa

def isNumeric (ngokwakho, umtya):
zama:
idummy = ukudada (umtya)
buyela Inyaniso
ngaphandle:
buyela Ubuxoki

def isConnectionAvailable (ngokwakho):
# Qinisekisa ukuba singafikelela kwiseva ye-mozulu.com ngokuvula i-url
zama:
Usock = urllib2.urlopen ('http://xoap.weather.com')
Cima ()
buyela Inyaniso
ngaphandle:
buyela Ubuxoki

def fumana iBearingText (isiqu sakho, ukuzala):
ukuthwala = ukudada (ukuthwala)
ukuba uthwele <11.25:
buyela u »N»
Elif ethwele <33.75:
buyela u »NNE»
Elif ethwele <56.25:
buyela u »NE»
Elif ethwele <78.75:
buyela »JAN»
Elif ethwele <101.25:
buyela u »E»
Elif ethwele <123.75:
buyela u »ESE»
Elif ethwele <146.25:
buyela u »SE»
Elif ethwele <168.75:
buyela u »SSE»
Elif ethwele <191.25:
buyela u »S»
Elif ethwele <213.75:
buyela u »SSW»
Elif ethwele <236.25:
buyela u »SW»
Elif ethwele <258.75:
buyela u »WSW»
Elif ethwele <281.25:
buyela u »W»
Elif ethwele <303.75:
buyela u »WNW»
Elif ethwele <326.25:
buyela u »NW»
Elif ethwele <348.75:
buyela u »NNW»
enye:
buyisela «N / A»

def Guqula iCelsiusToFahrenheit (ngokwakho, itemp):
buyisela str (int (kumgangatho (((edadayo (itempile) * 9.0) /5.0) +32)))

def convertKilometresToMiles (ngokwakho, dist):
buyisela str (int (kumgangatho (wokudada) (0.621371192))

def convertMillibarsToInches (ngokwakho, mb):
buyisela umtya (int (kumgangatho (wokudada (mb) / 33.8582)))

def GetTemplateList (ngokwakho, itemplate):

itemplatelist = []

ye template_part kwi template.split («{«):
ukuba template_part! = «»:
ye template_part kwi template_part.split ("}"):
ukuba template_part! = «»:
itemplatelist.append (u »» + icandelo template)

buyisela itemplatelist

def getOutputText (isiqu sakho, uhlobo lwedatha, usuku lokuqala, usuku lokuphela, ubusuku, usuku olufutshane, ubukhosi, ukufihla, iindawo)
#zama:
imveliso = u »

# chaza iiyunithi zangoku zokuphuma
ukuba ukufihla == Ubuxoki:
ukuba impiriyali == Ubuxoki:
ixesha = u »° C»
isantyaunit = u »kph»
uxinzelelounit = u »mb»
enye:
ixesha = u »° F»
isantyaunit = u »mph»
uxinzelelounit = u »kwi
enye:
tempunit = u »°»
isantyaunit = u »»
uxinzelelo =>

ukuba umhla wokuqalisa == Akukho: # iimeko ezikhoyo

ukuba uhlobo lwedatha == "DW":
ukuba u-self.locale == "ngu":
ukuba usuku olufutshane == Liyinyani:
iziphumo = Isimo sezuluText.day_of_week_short_es [self.current_conditions [0] .day_of_week
enye:
iziphumo = Isimo sezuluText.day_of_week_es [iziqu ezizimeleyo ezenzekayo [0] .day_of_week]
elif self.locale == "fr":
ukuba usuku olufutshane == Liyinyani:
iziphumo = Isimo sezuluText.day_of_week_short_fr [self.current_conditions [0] .day_of_week]
enye:
iziphumo = Isimo sezuluText.day_of_week_fr [iimeko ezizimeleyo ezikhoyo ngoku [0] .day_of_week]
enye:
ukuba usuku olufutshane == Liyinyani:
iziphumo = Isimo sezuluText.day_of_week_short [iziqu zangokokuzenzekelayo [0] .day_of_week]
enye:
iziphumo = Isimo sezuluText.day_of_week [iziqu zangokwemeko yangoku [0] .day_of_week]
elif datatype == "WF": # ifonti yemozulu
imveliso = Isimo sezuluText.conditions_weather_font [self.current_conditions [0] .condition_code]
elif datatype == "LT":
umtya = iziqu_zangoku_iimeko [0] ezantsi
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertCelsiusToFahrenheit (umtya)
umtya = umtya + tempunit
imveliso = umtya
i-edat yolwazi == "HT":
umtya = iziqu_zangoku_iimeko [0] .high
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertCelsiusToFahrenheit (umtya)
umtya = umtya + tempunit
imveliso = umtya
elif datatype == "CC":
ukuba u-self.locale == "ngu":
imveliso = Isimo sezuluText.conditions_text_es [self.current_conditions [0] .condition_code]
elif self.locale == "fr":
imveliso = Isimo sezuluText.conditions_text_fr [self.current_conditions [0] .condition_code]
enye:
imveliso = Isimo sezuluText.conditions_text [self.current_conditions [0] .condition_code]
elif datatype == "CT":
imveliso = iziqu_zangoku_iimeko [0] .imeko_ yokubhaliweyo
elif datatype == "PC":
umtya = iziqu_zangoku_iimeko [0] .precip
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
umtya = umtya + u »%»
imveliso = umtya
elif datatype == "HM":
umtya = iziqu_zangoku_iimeko [0] .umsi
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
umtya = umtya + u »%»
imveliso = umtya
elif datatype == "WD":
umtya = iziqu_zangoku_iimeko [0] .wind_dir
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
umtya = self.getBearingText (umtya)

ukuba u-self.locale == "ngu":
iziphumo = ImozuluText.bearing_text_es [umtya]
elif self.locale == "fr":
imveliso = ImozuluText.bearing_text_fr [umtya]
enye:
imveliso = umtya

elif datatype == "BF":
umtya = iziqu_zangoku_iimeko [0] .wind_dir
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
umtya = ImozuluText.bearing_arrow_font [self.getBearingText (umtya)]
imveliso = umtya
elif datatype == "WS":
umtya = iziqu_zangoku_imeko [0] .wind_speed
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertKilometresToMiles (umtya)
umtya = umtya + isantyaunit
imveliso = umtya
elif datatype == "WG":
umtya = iziqu_zangoku_iimeko [0] .emimoya yomoya
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertKilometresToMiles (umtya)
umtya = umtya + isantyaunit
imveliso = umtya
elif datatype == "CN":
iziphumo = iziqu_zangoku_iimeko [0]
elif datatype == "SR":
Iziphumo = iziqu_zangoku_iimeko [0] zelanga
elif datatype == "SS":
iziphumo = self.crento_imeko [0] .sunset
elif datatype == "MP":
iziphumo = self.current_conditions [0] .moon_phase
elif datatype == "MF":
imveliso = Isimo sezuluText.conditions_moon_font [self.current_conditions [0] .moon_icon]
elif datatype == "BR":
umtya = iziqu_zangoku_iimeko [0]
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = uqobo.convertMillibarsToInches (umtya)
umtya = umtya + uxinzelelounit
imveliso = umtya
elif datatype == "BD":
iziphumo = self.crentrent_conditions [0] .bar_desc
enye:
imveliso = "\ NERROR: Uhlobo lwedatha olungaziwayo luceliwe"

enye: # uqikelelo lwedatha

ukuba ukuphela komhla == Akukho: # ukuba akukho siphelo sibekiweyo sisebenzise umhla wokuqalisa
umhla wokugqibela = usuku lokuqalisa

ukuba ubusuku == Kuyinyani: # isibikezelo sasebusuku siyafuneka

usuku_enani kuluhlu (usuku lokuqala, usuku lokuphela + 1):

ukuba uhlobo lwedatha == "DW":
ukuba u-self.locale == "ngu":
ukuba usuku olufutshane == Liyinyani:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week_short_es [self.night_forecast [day_number] .day_of_week]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week_es [self.night_forecast [day_number] .day_of_week]
elif self.locale == "fr":
ukuba usuku olufutshane == Liyinyani:
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + WeatherText.day_of_week_short_fr [self.night_forecast [day_number] .day_of_week]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week_fr [self.night_forecast [day_number] .day_of_week]
enye:
ukuba usuku olufutshane == Liyinyani:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week_short [self.night_forecast [day_number] .day_of_week]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week [self.night_forecast [day_number] .day_of_week]
elif datatype == "WF": # ifonti yemozulu
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + WeatherText.conditions_weather_font [self.night_forecast [day_number] .condition_code]
elif datatype == "LT":
umtya = self.night_forecast [day_number] .low
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertCelsiusToFahrenheit (umtya)
umtya = umtya + tempunit
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya

i-edat yolwazi == "HT":
umtya = self.night_forecast [day_number] .high
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertCelsiusToFahrenheit (umtya)
umtya = umtya + tempunit
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "CC":
ukuba u-self.locale == "ngu":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.conditions_text_es [self.night_forecast [day_number] .condition_code]
elif self.locale == "fr":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.conditions_text_fr [self.night_forecast [day_number] .condition_code]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.conditions_text [self.night_forecast [day_number].
elif datatype == "CT":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.night_forecast [day_number]. Condition_text
elif datatype == "PC":
umtya = self.night_forecast [day_number] .precip
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
umtya = umtya + u »%»
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "HM":
umtya = self.night_forecast [imini_nombolo] .umsi
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
umtya = umtya + u »%»
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "WD":
umtya = self.night_forecast [day_number] .wind_dir
ukuba u-self.locale == "ngu":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + WeatherText.bearing_text_es [string]
elif self.locale == "fr":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.bearing_text_fr [umtya]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya

elif datatype == "BF":
ukuphuma = ukuphuma + ngokwakho.getSpaces (izithuba) + WeatherText.bearing_arrow_font [self.night_forecast [day_number] .wind_dir
elif datatype == "WS":
umtya = self.night_forecast [day_number] .wind_speed
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertKilometresToMiles (umtya)
umtya = umtya + isantyaunit
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "WG":
umtya = self.night_forecast [imini_nombolo] .emimoya yomoya
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertKilometresToMiles (umtya)
umtya = umtya + isantyaunit
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "CN":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.night_forecast [day_number] .city
elif datatype == "SR":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.night_forecast [day_number].
elif datatype == "SS":
)
elif datatype == "MP":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.night_forecast [day_number] .moon_phase
elif datatype == "MF":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + Isimo sezuluText.conditions_moon_font [self.night_forecast [day_number] .moon_icon]
elif datatype == "BR":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.night_forecast [day_number] .bar_read
elif datatype == "BD":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.night_forecast [day_number] .bar_desc
enye:
imveliso = "\ NERROR: Uhlobo lwedatha olungaziwayo luceliwe"
aphule

enye: # imini uqikelelo

usuku_enani kuluhlu (usuku lokuqala, usuku lokuphela + 1):

ukuba uhlobo lwedatha == "DW":
ukuba u-self.locale == "ngu":
ukuba usuku olufutshane == Liyinyani:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week_short_es [self.day_forecast [day_number] .day_of_week]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week_es [self.day_forecast [day_number] .day_of_week]
elif self.locale == "fr":
ukuba usuku olufutshane == Liyinyani:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week_short_fr [self.day_forecast [day_number] .day_of_week]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week_fr [self.day_forecast [day_number] .day_of_week]
enye:
ukuba usuku olufutshane == Liyinyani:
ukuphuma = ukuphuma + ngokwakho.getSpaces (izithuba) + WeatherText.day_of_week_short [self.day_forecast [day_number] .day_of_week]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (space) + WeatherText.day_of_week [self.day_forecast [day_number] .day_of_week]
elif datatype == "WF": # ifonti yemozulu
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.conditions_weather_font [self.day_forecast [day_number] .condition_code]
elif datatype == "LT":
umtya = self.day_forecast [day_number]
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertCelsiusToFahrenheit (umtya)
umtya = umtya + tempunit
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
i-edat yolwazi == "HT":
umtya = self.day_forecast [day_number] .high
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertCelsiusToFahrenheit (umtya)
umtya = umtya + tempunit
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "CC":
ukuba u-self.locale == "ngu":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.conditions_text_es [self.day_forecast [day_number] .condition_code]
elif self.locale == "fr":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.conditions_text_fr [self.day_forecast [day_number] .condition_code]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + WeatherText.conditions_text [self.day_forecast [day_number] .condition_code]
elif datatype == "CT":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.day_forecast [day_number]. Condition_text
elif datatype == "PC":
umtya = self.day_forecast [day_number] .precip
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
umtya = umtya + u »%»
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "HM":
umtya = self.day_forecast [day_number] .umsi
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
umtya = umtya + u »%»
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "WD":
umtya = self.day_forecast [day_number] .wind_dir

ukuba u-self.locale == "ngu":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + WeatherText.bearing_text_es [string]
elif self.locale == "fr":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.bearing_text_fr [umtya]
enye:
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya

elif datatype == "BF":
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + WeatherText.bearing_arrow_font [self.day_forecast [day_number] .wind_dir]
elif datatype == "WS":
umtya = self.day_forecast [day_number] .wind_speed
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertKilometresToMiles (umtya)
umtya = umtya + isantyaunit
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "WG":
umtya = self.day_forecast [imini_nombolo] .emimoya yomoya
ukuba uqobo.isNumeric (umtya) == Kuyinyani:
ukuba i-imperial = Yinyani:
umtya = self.convertKilometresToMiles (umtya)
umtya = umtya + isantyaunit
imveliso = ukuphuma + ngokwakho.getSpaces (izithuba) + umtya
elif datatype == "CN":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.day_forecast [day_number] .city
elif datatype == "SR":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.day_forecast [day_number].
elif datatype == "SS":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.day_forecast [day_number].
elif datatype == "MP":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.day_forecast [day_number] .moon_phase
elif datatype == "MF":
ukuphuma = ukuphuma + ngokwakho.getSpaces (izithuba) + ImozuluText.conditions_moon_font [self.day_forecast [day_number] .moon_icon]
elif datatype == "BR":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.day_forecast [day_number] .bar_read
elif datatype == "BD":
imveliso = ukuphuma + ngokwakho.getSpaces (space) + self.day_forecast [day_number] .bar_desc
enye:
iziphumo = u »\ INGXAKI: Uhlobo lwedatha olungaziwayo luceliwe»
aphule

imveliso = u »» + output.strip (u »«) # ukulahleka kwezithuba ezihamba phambili / ezihamba phambili
Buyisela imveliso

# ngaphandle:
#print "getOutputText: Impazamo engalindelekanga:", sys.exc_info () [0]

def fumanaOutputTextFromTemplate (ngokwakho, itemplate):
#zama:

# amaqhosha edatha yetemplate
DATATYPE_KEY = "- uhlobo lwedatha ="
STARTDAY_KEY = "- usuku lomhla wokugqibela ="
ENDDAY_KEY = "- umhla wokugqibela ="
NIGHT_KEY = "-obusuku"
SHORTWEEKDAY_KEY = "-shortweekday"
IMPERIAL_KEY = "- yasebukhosini"
HIDEUNITS_KEY = "-iiyunithi"
SPACES_KEY = "- izithuba ="

imveliso = u »

ukhethofound = Bubuxoki

#layisha ifayile
zama:
ifayileinput = evulekile (self.options.template)
template = ifayileinput.read ()
ifayile yefayile.close ()
ngaphandle:
imveliso = u »Ifayile yeTemplate ayifumanekanga!

itemplatelist = isiqu sakho.getTemplateList (template)

# vumela uhambe kuluhlu lwetemplate kwaye unqume imveliso yento nganye efunyenweyo
for i kuluhlu (0, len (templatelist) -1):

pos = itemplatelist [i] .fumana (DATATYPE_KEY)
ukuba pos! = -1:
ukhethofound = Luyinyani
isithuba = pos + len (DATATYPE_KEY)
uhlobo lwedatha = itemplatelist [i] [pos: pos + 4]. umtya («}»), umcu («{«). umcu («-«).
enye:
uhlobo lwedatha = Akukho

pos = itemplatelist [i] .fumana (STARTDAY_KEY)
ukuba pos! = -1:
ukhethofound = Luyinyani
isithuba = pos + len (STARTDAY_KEY)
usuku lokuqala = int (itemplatelist [i] [pos: pos + 4]. umtya ("}"). umcu ("{"). umcu ("-").
enye:
usuku lokuqala = Akukho

pos = itemplatelist [i] .fumana (ENDDAY_KEY)
ukuba pos! = -1:
ukhethofound = Luyinyani
isithuba = pos + len (ENDDAY_KEY)
usuku lokuphela = int (itemplatelist [i] [pos: pos + 4]. strip ("}"). strip ("{"). strip ("-"). strip (""))
enye:
umhla wokugqibela = Akukho

pos = itemplatelist [i] .fumana (NIGHT_KEY)
ukuba pos! = -1:
ukhethofound = Luyinyani
ubusuku = Kuyinyani
enye:
ubusuku = Ubuxoki

pos = itemplatelist [i] .fumana (SHORTWEEKDAY_KEY)
ukuba pos! = -1:
ukhethofound = Luyinyani
usuku olufutshane = Kuyinyani
enye:
usuku olufutshane = Ubuxoki

pos = itemplatelist [i] .fumana (IMPERIAL_KEY)
ukuba pos! = -1:
ukhethofound = Luyinyani
impiriyali = Yinyani
enye:
impiriyali = Ubuxoki

pos = itemplatelist [i] .fumana (HIDEUNITS_KEY)
ukuba pos! = -1:
ukhethofound = Luyinyani
fihlaunits = Kuyinyani
enye:
fihlaunits = Ubuxoki

pos = itemplatelist [i] .fumana (SPACES_KEY)
ukuba pos! = -1:
ukhethofound = Luyinyani
isithuba = pos + len (SPACES_KEY)
izithuba = int (itemplatelist [i] [pos: pos + 4]. umtya («}»), umcu («{«). umcu («-«).
enye:
izithuba = 1

ukuba ukhetho lufunyenwe == Kuyinyani:
templatelist [i] = self.getOutputText (uhlobo lwedatha, usuku lokuqala, usuku lokuphela, ubusuku, usuku olufutshane, ubukhosi, ukufihla, izithuba)
ukhethofound = Bubuxoki

# yiya kuluhlu oluhambelana nemveliso ngoku enabemi
yento ekwitemplatelist:
imveliso = imveliso + yento

Buyisela imveliso

# ngaphandle:
#print "getOutputTextFromTemplate: Impazamo engalindelekanga:", sys.exc_info () [0]

def fetchData (ngokwakho):

# soloko ulanda idatha yeetriki, sebenzisa imisebenzi yencoko kule datha
file_path_current = self.TEMP_FILEPATH_CURRENT.replace ("LOCATION", self.options.location)
file_path_dayforecast = self.TEMP_FILEPATH_DAYFORECAST.replace ("INDAWO", self.options.location)
file_path_nightforecast = isiqu sakho.TEMP_FILEPATH_NIGHTFORECAST.replace ("LOCATION", self.options.location)

ukuba u-self.isConnectionAvailable () == Ubuxoki:
ukuba os.path.exists (file_path_current):
RefetchData = Ubuxoki
Ngenye indlela: # akukho nxibelelwano, akukho cache, bang!
phrinta "Akukho nxibelelwano lwe-intanethi olukhoyo kwaye akukho datha yemozulu egciniweyo ekhoyo."
elif self.options.refetch == Yinyani:
RefetchData = Kuyinyani
enye:
# Ngaba idatha ifuna ukubuyiswa kwakhona?
ukuba os.path.exists (file_path_current):
lastmodDate = ixesha. ixesha lexesha (os.stat (ifayile_path_current) [ST_MTIME])
expiryDate = (datetime.datetime.today () - datetime.timedelta (minutes = self.EXPIRY_MINUTES)) ixesha elifanelekileyo ()

ukuba ukuphela komhla> umhla wokugqibela:
RefetchData = Kuyinyani
enye:
RefetchData = Ubuxoki
enye:
RefetchData = Kuyinyani

# landa idatha yeemeko ezikhoyo, nokuba zivela kwiwebhusayithi okanye 'ngokuzikhethela'
ukuba RefetchData == Kuyinyani:

# fumana iimeko zangoku zedatha kwinkonzo ye-xoap
zama:

# 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 & isitshixo = e374effbfd74930b & iyunithi = m '
ukuba ukuzimela.options.verbose == Kuyinyani:
phrinta >> sys.stdout, «ukulanda idatha yemozulu kwi«, url

Cima = urllib2.urlopen (url)
xml = usock.read ()
Cima ()
ngokwakho.weatherxmldoc = minidom.parseString (xml)
ngaphandle:
phrinta "fetchData: Impazamo engalindelekanga:", sys.exc_info () [0]
phrinta "Ayikwazi ukuqhakamshelana nomthombo wemozulu weemeko zangoku"

# xelela umsebenzisi ukuba indawo imbi…
funyanwa = xml.find ("indawo engasebenziyo ibonelelwe")
ukuba ifunyenwe! = -1:
shicilela "indawo engasebenziyo ibonelelwe"

# buza idatha yemozulu, layisha kulwakhiwo lweklasi kwaye uyikhethe
zama:

# lungiselela uluhlu lweenkcukacha zemozulu
iziqu zakho.current_conditions = []
umhla we-forecast = []
ngesithuba sezulu sasebusuku = []

# ukuqokelela idatha ngokubanzi
Imozulu_n = self.weatherxmldoc.documentElement
indawo_n = yemozulu_n.getElementsByTagName ('indawo') [0]
isixeko_n = indawo_n.getElementsByTagName ('dnam') [0]
isixeko = self.getText (isixeko_n.childNode)

# ukuqokelela idatha yangoku yeemeko
day_of_week = u »Namhlanje»
ithambeka = u »N / A»
ukuphuma kwelanga_n = indawo_n.getElementsByTagName ('ilanga') [0]
ukuphuma kwelanga = ukuzenzekelayo.getText (ukuphuma kwelanga_n.childNode)
ukutshona kwelanga_n = indawo_n.getElementsByTagName ('ilanga') [0]
ukutshona kwelanga = ukuzenzekelayo.getText (sunset_n.childNode)
current_condition_n = weather_n.getElementsByTagName ('cc') [0]
I-current_desc_n = yangoku_imeko_n.getElementsByTagName ('t') [0]
yangoku_desc = uqobo.getText (current_desc_n.childNode)
I-current_code_n = yangoku_imeko_n.getElementsByTagName ('icon') [0]
ikhowudi yangoku = self.getText (ikhowudi_yangoku_n.childNode)
current_temp_n = yangoku_imeko_n.getElementsByTagName ('tmp') [0]
current_temp = uqobo.getText (current_temp_n.childNode)
current_temp_feels_n = current_condition_n.getElementsByTagName ('flik') [0]
I-current_temp_feels = self.getText (yangoku_temp_feels_n.childNode)
bar_n = yangoku_imeko_n.getElementsByTagName ('bar') [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 = self.getText (bar_desc_n.childNode)
wind_n = yangoku_imeko_n.getElementsByTagName ('umoya') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = ngokwakho.getText (wind_speed_n.childNodes)
wind_gust_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (Wind_gust_n.childNode)
wind_dir_n = wind_n.getElementsByTagName ('d') [0]
isikhombisi-ndlela = self.getText (wind_dir_n.childNode)
humidity_n = yangoku_imeko_n.getElementsByTagName ('hmid') [0]
ukufuma = self.getText (humidity_n.childNode)
inyanga_n = yangoku_imeko_n.getElementsByTagName ('inyanga') [0]
inyanga_icon_n = inyanga_n.getElementsByTagName ('icon') [0]
inyanga_ikon = ukuzimela.getText (inyanga_icon_n.childNode)
inyanga_phase_n = inyanga_n.getElementsByTagName ('t') [0]
inyanga_phase = ukuzenzekelayo.getText (inyanga_phase_n.childNode)
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)
iimeko zakho zangoku.append (iimeko ezikhoyo_edatha)

# ukuqokelela idatha yesimo sezulu
bar_read = u »N / A»
bar_desc = u »N / A»
inyanga_phase = u »N / A»
inyanga_icon = u »na»
forecast_n = weather_n.getElementsByTagName ('usuku') [0]
day_nodes = forecast_n.getElementsByTagName ('usuku')

usuku day_node:
usuku_of_week = usuku.getAttribute ('t')
imini_yomnyaka = usuku.getAttribute ('dt')
high_temp_n = usuku.getElementsByTagName ('molo') [0]
high_temp = uqobo.getText (high_temp_n.childNode)
low_temp_n = usuku.getElementsByTagName ('phantsi') [0]
low_temp = uqobo.getText (low_temp_n.childNode)

ukuphuma kwelanga_n = usuku.getElementsByTagName ('ilanga') [0]
ukuphuma kwelanga = ukuzenzekelayo.getText (ukuphuma kwelanga_n.childNode)
Ukutshona kwelanga_n = usuku.getElementsByTagName ('ilanga') [0]
ukutshona kwelanga = ukuzenzekelayo.getText (sunset_n.childNode)

Ukuqikelelwa kwedatha ethile yosuku olunye
ixesha losuku_n = usuku.getElementsByTagName ('inxenye') [0] # usuku
imeko_code_n = ixesha losuku_n.getElementsByTagName ('icon') [0]
imeko_ikhowudi = self.getText (imeko_code_n.childNode)
imeko_n = ixesha losuku_n.getElementsByTagName ('t') [0]
imeko = uqobo.getText (imeko_n.childNode)
precip_n = emini_n.getElementsByTagName ('ppcp') [0]
precip = uqobo.getText (precip_n.childNode)
humidity_n = emini_n.getElementsByTagName ('hmid') [0]
ukufuma = self.getText (humidity_n.childNode)
umoya_n = ixesha lasemini_n.getElementsByTagName ('umoya') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = ngokwakho.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
isikhombisi-ndlela = self.getText (wind_direction_n.childNode)
wind_gusts_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (i-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, isixeko, ukuphuma kwelanga, ukutshona kwelanga, inyanga_phase, inyanga_icon, bar_read, bar_desc)
yenza.day_forecast.append (day_forecast_data)

Isibikezelo ebusuku # idatha ethile
emini_n = imini.getElementsByTagName ('inxenye') [1] # ubusuku
imeko_code_n = ixesha losuku_n.getElementsByTagName ('icon') [0]
imeko_ikhowudi = self.getText (imeko_code_n.childNode)
imeko_n = ixesha losuku_n.getElementsByTagName ('t') [0]
imeko = uqobo.getText (imeko_n.childNode)
precip_n = emini_n.getElementsByTagName ('ppcp') [0]
precip = uqobo.getText (precip_n.childNode)
humidity_n = emini_n.getElementsByTagName ('hmid') [0]
ukufuma = self.getText (humidity_n.childNode)
umoya_n = ixesha lasemini_n.getElementsByTagName ('umoya') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = ngokwakho.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
isikhombisi-ndlela = self.getText (wind_direction_n.childNode)
wind_gusts_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (i-wind_gusts_n.childNodes)
ubusuku_forecast_data = WeatherData (imini_yesonto, itempile esezantsi, itempile ephezulu, imeko_ikhowudi, imeko, imvula, ukufuma, ulwalathiso lomoya, ispeed_speed, imimoya yomoya, isixeko, ukuphuma kwelanga, ukutshona kwelanga, inyanga_phase, inyanga_icon, bar_read, bar_desc)
ubusuku.forecast.append (ebusuku_forecast_data)

# pickle idatha yexesha elizayo!
ifayileoutput = open (file_path_current, 'w')
pickle.dump (self.current_conditions, fileoutput)
ifayile ifayile.close ()

ifayileoutput = evulekileyo (ifayile_path_dayforecast, 'w')
pickle.dump (self.day_forecast, ifayile yokuphuma)
ifayile ifayile.close ()

ifayileoutput = open (file_path_nightforecast, 'w')
pickle.dump (self.night_forecast, ifayile)
ifayile ifayile.close ()

ngaphandle:
phrinta "fetchData: Impazamo engalindelekanga:", sys.exc_info () [0]
phrinta "Ayikwazi ukubuza imibuzo ngedatha yemozulu"

enye: # landa idatha yemozulu kwiifayile zeklasi ezikhethiweyo
ukuba ukuzimela.options.verbose == Kuyinyani:
phrinta >> sys.stdout, «Ukulanda idatha yemozulu kwifayile:«, file_path_current

ifayileinput = vula (ifayile_path_current, 'r')
self.current_conditions = pickle.load (ifayile yokufaka)
ifayile yefayile.close ()

ukuba ukuzimela.options.verbose == Kuyinyani:
phrinta >> sys.stdout, "ukulanda idatha yesimo sezulu sosuku kwiifayile:", file_path_dayforecast, file_path_nightforecast

ifayileinput = vula (ifayile_path_dayforecast, 'r')
self.day_forecast = pickle.load (ifayile yokufaka)
ifayile yefayile.close ()

ukuba ukuzimela.options.verbose == Kuyinyani:
phrinta >> sys.stdout, "ukulanda idatha yesimo sezulu sosuku kwiifayile:", file_path_nightforecast, file_path_nightforecast

fileinput = open (file_path_nightforecast, 'r')
self.night_forecast = pickle.load (ifayile yokufaka)
ifayile yefayile.close ()

def imvelisoData (ngokwakho):
#zama:

ukuba self.options.template! = Akukho:

iziphumo = self.getOutputTextFromTemplate (self.options.template)

enye:

iziphumo = self.getOutputText (self.options.datatype, self.options.startday, self.options.endday, self.options.night, self.options.shortweekday, self.options.imperial, self.options.hideunits, self. iinketho. izithuba)

ukuprinta imveliso.encode ("utf-8")

# ngaphandle:
#print «outputData: Impazamo engalindelekanga:«, sys.exc_info () [0]

ukuba __name__ == "__yintloko__":

Isikhombi = CommandLineParser ()
(ukhetho, iargs) = iparser.parse_args ()

ukuba iinketho.verbose == Kuyinyani:
phrinta >> sys.stdout, "indawo:", iinketho. indawo
phrinta >> sys.stdout, "impiri:", iinketho.imperial
shicilela >> sys.stdout, "uhlobo lwedatha:", iinketho zedatha
phrinta >> sys.stdout, "ebusuku:", iinketho zobusuku
phrinta >> sys.stdout, "usuku lokuqala:", iinketho.startday
phrinta >> sys.stdout, "usuku lokuphela:", iinketho.endday
shicilela >> sys.stdout, "izithuba:", iinketho
phrinta >> sys.stdout, "verbose:", options.verbose
shicilela >> sys.stdout, "phinda uhlaziye:", ongakhetha.refetch

# yenza into yemozulu entsha
Imozulu = Isimo sezulu seHlabathi (ukhetho)
imozulu.fetchData ()
Imozulu.outputData ()

Senza ifayile ~ / Conky / script / myweather.template

gedit ~ / Conky / izikripthi / i-myweather.template

sincamathisela oku kulandelayo ngaphakathi:

{–Datatype = DW –startday = 1}: {–datatype = CC -startday = 1}
{–Datatype = HT -startday = 1} / {–datatype = LT -startday = 1} Umoya osuka {–datatype = WD -startday = 1} to {–datatype = WS -startday = 1}
Ukufuma: {–datatype = HM –startday = 1} Imvula: {–datatype = PC -startday = 1}
Ukuphuma kwelanga: {–datatype = SR -dayday = 1} Ukutshona kwelanga: {–datatype = SS -startday = 1}
————————————————--
{–Datatype = DW –startday = 2}: {–datatype = CC -startday = 2}
{–Datatype = HT -startday = 2} / {–datatype = LT -startday = 2} Umoya osuka {–datatype = WD -startday = 2} to {–datatype = WS -startday = 2}
Ukufuma: {–datatype = HM –startday = 2} Imvula: {–datatype = PC -startday = 2}
Ukuphuma kwelanga: {–datatype = SR -dayday = 2} Ukutshona kwelanga: {–datatype = SS -startday = 2}
————————————————--
{–Datatype = DW –startday = 3}: {–datatype = CC -startday = 3}
{–Datatype = HT -startday = 3} / {–datatype = LT -startday = 3} Umoya osuka {–datatype = WD -startday = 3} to {–datatype = WS -startday = 3}
Ukufuma: {–datatype = HM –startday = 3} Imvula: {–datatype = PC -startday = 3}
Ukuphuma kwelanga: {–datatype = SR -dayday = 3} Ukutshona kwelanga: {–datatype = SS -startday = 3}
————————————————--
{–Datatype = DW –startday = 4}: {–datatype = CC -startday = 4}
{–Datatype = HT -startday = 4} / {–datatype = LT -startday = 4} Umoya osuka {–datatype = WD -startday = 4} to {–datatype = WS -startday = 4}
Ukufuma: {–datatype = HM –startday = 4} Imvula: {–datatype = PC -startday = 4}
Ukuphuma kwelanga: {–datatype = SR -dayday = 4} Ukutshona kwelanga: {–datatype = SS -startday = 4}

Senza ifayile ~ / Conky / izikripthi / imeyile / conkyEmail.py (kufuneka senze ifolda yeposi)

gedit ~ / Conky / izikripthi / imeyile / conkyEmail.py

kwaye uncamathisele oku kulandelayo ngaphakathi:

ukungenisa ngaphakathi
ukungenisa umtya

#Faka igama lakho lomsebenzisi kunye negama lokugqitha apha ngezantsi ngaphakathi kwezicatshulwa kabini
# umz. igama lomsebenzisi = »igama lomsebenzisi» kunye negama lokugqitha
igama lomsebenzisi = »YAKHO_USUARIO_SINARROBA«
igama eligqithisiweyo = »LAKHO_KE«

com = »wget -O - https: //» + igama lomsebenzisi + »:» + igama eligqithisiweyo + »@ mail.google.com / imeyile / ifidi / iatom –isiqinisekiso sokungakhangeli»

temp = os. ukuvula (com)
umyalezo = isonka ()
Isalathiso = umtya. »)
isalathiso2 = umtya. »)
fc = int (msg [isalathiso + 11: index2])

ukuba fc == 0:
shicilela "0 entsha"
enye:
shicilela str (fc) + »entsha»

Ke ngoku uneefayile ezisi-7:

Kwincwadi eneenkcukacha: ~
-> .Startconky << - yenza ukuba isebenze

Kwincwadi eneenkcukacha: ~ / Conky
-> ukudibanisa
-> Ingqondo yesimo sezulu
-> ikhonkco

nakwincwadi eneenkcukacha: ~ / Conky / script
-> conkyForecast.py << - yenza isebenze
-> iteyiphu yam

nakwincwadi eneenkcukacha: ~ / Conky / script / mail
conkyEmail.py << - yenza ukuba isebenze

Yiyo leyo, ukucaciswa, apho isithi / ikhaya / umsebenzisi / ... igama lakho lomsebenzisi liya kwinxalenye apho idatha ye-Gmail iya khona, ndibonisile ngemibala apho kufuneka ubeke khona idatha yakho.

Ukubulala inkqubo ye-conky bhalela ikhonsoli

ukubulala conky

ukuqhuba ukubhala ubhalele ikhonsoli

//startconky

Nje ukuba yonke into ihlengahlengiswe, ukuba ufuna ikhonkco ukuqala iseshoni nganye

Inkqubo-> Ukukhetha-> Iiseshini kunye neenkqubo zokuqalisa siyongeza

Ngegama singabhala uConky, ngolandelelwano ./.startconky ngaloo nto izakuqala ngalo lonke ixesha uvula ipc.

Yiyo ke, ndiyathemba ukuba iyakunceda.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.