Conky, Moja postavka

Fecfactor me jučer zamolio da objavim konfiguraciju conky-a koju prikazujem na donjoj snimci zaslona

Kao što vidite, riječ je o 3 conky-a, koja se izvršavaju pomoću skripte, a konfiguracija iste temelji se na ovaj post objavio korisnik Bruce M. na forumima Ubuntu-Ar s nekim izmjenama u mail conky, što je u mom slučaju za Gmail.

U referentnom postu to je Bruce vrlo dobro objasnio, ali također kao pomoć u memoriji za mene, kopirat ću korake koji slijede i kôd mojih conkya za onoga tko ga ima.

Pa, naravno, trebamo instalirati conky, curl i python pa upisujemo konzolu:

sudo apt-get instalirati conky curl python

Izvor vremena.ttf i strelice.ttf je ovdje. Izvor mjeseca.ttf je ovdje nakon preuzimanja morate ih kopirati u / usr / share / fontove

Stvorimo sada našu skriptu pod nazivom ~. / Startconky

gksudo gedit ~ / .startconky

unutar prazne datoteke zalijepimo sljedeće

#! / bin / bash
sleep 0 & # 0 dobro za Xfce - koristite 20 do 30 za Gnome
conky -c ~ / Conky / conkymain &
#sleep 0 & # 0 dobro za Xfce - koristite 1 za Gnome
conky -c ~ / Conky / conkyforecast &
#sleep 0 & # 0 dobro za Xfce - koristite 1 za Gnome
conky -c ~ / Conky / conkymail &

Sada kreiramo datoteku conkymain u mapi ~ / Conky, u suprotnom imamo mapu Conky, morat ćemo je stvoriti.

gedit ~ / Conky / conkymain

Koristim font Calibri, ako ga nemate, zamijenite ga s čime god želite.

Držimo se onoga što slijedi

pozadina br
vlastiti_prozor da
vlastiti_prozor_prozirno da
own_window_hints neukrašeni, ispod, ljepljivi, preskoči_taskbar, preskoči_pager
vlastiti_prozor_boja crna
double_buffer da
use_spacer lijevo
use_xft da
font calibri: veličina = 9
xftfont calibri: veličina = 9
xftalpha 0.5
interval ažuriranja 5.0
veliko ne # postavljeno na da ako želite da sav tekst bude velik
obrubljeni_rubovi 3
granica_margina 9
širina_granice 10
zadana_boja bijela
zadana_crta_boja crna
zadana_sjena_boja crna
boja0 cijan
boja1 svijetloplava
boja2 narančasta
boja3 žuta
boja4 pšenica
boja5 bijela
boja6 bijela
boja7 bijela
boja8 bijela
boja9 bijela
poravnanje top_right # ili top_left, bottom_left, bottom_right
jaz_x 10
jaz_y 35
text_buffer_size 128 # upotrijebite 1024 za prognozu
ne_buferi da # Oduzimanje međuspremnika datotečnog sustava iz korištene memorije?
draw_borders br
draw_outline yes # pojačava tekst ako je odgovor da
draw_shades da # nijansaboja crna

TEKST
$ {font calibri: size = 12} $ {alignc} $ {color1} $ sysname $ kernel na $ machine} $ color $ font
$ {font calibri: size = 12} $ {alignc} $ {color2} $ {exec whoami} @ $ nodename $ color $ font
$ {color0} $ {hr 1} $ boja
$ {font calibri: size = 20} $ {alignc} $ {time% H:% M} $ font
$ {font calibri: size = 12} $ {color1} $ {alignc} $ {time% A,% d% b. % Y} $ color $ font
$ {color3} Vrijeme rada: $ {alignr 2} $ uptime $ boja
$ {color0} $ {hr 1} $ boja
$ {voffset 5} $ {color2} CPU: $ {alignc} $ color $ running_processes $ {color1} / $ color $ procesi $ {alignr 2} $ {color2} $ {cpubar cpu0 14,80} $ boja
$ {color1} $ {voffset -16} $ {alignr 5} $ cpu% $ boja
$ {voffset 2} $ {color1} Učitaj prosječno ($ {color3} Min. $ {color1}): $ {alignr 2} $ {color3} 1: $ color $ {loadavg 1} $ {color3} 5: $ color $ {loadavg 2} $ {color3} 15: $ color $ {loadavg 3}
$ {voffset 5} $ {color2} RAM: $ color $ mem $ {color2} / $ color $ memmax $ {alignr 2} $ {color2} $ {membar 14,80} $ boja
$ {color1} $ {voffset -16} $ {alignr 5} $ memperc% $ boja
$ {voffset 2} $ {color1} Upremljeno: $ color $ {buffers} $ {alignr 2} $ {color1} Predmemorirano: $ color $ {cached}
$ {voffset 5} $ {color2} SWAP: $ color $ swap $ {color2} / $ color $ {swapmax} $ {alignr 2} $ {color2} $ {swapbar 14,80} $ color
$ {color1} $ {voffset -16} $ {alignr 5} $ swapperc%
$ {color0} $ {hr 1} $ boja
$ {voffset 5} $ {color2} HD informacije $ {color1} - $ boja Besplatno $ {color1} - Korišteno - $ {color2} Ukupno
$ {voffset 5} $ {color1} Root: $ color $ {fs_free_perc /}% $ {alignr 2} $ {fs_free /} $ {color2} / $ {color1} $ {fs_used /} $ color / $ {color2} $ {fs_size /} $ boja
$ {color1} Početna: $ boja $ {fs_free_perc / home / user}% $ {alignr 2} $ {fs_free / home / user} $ {color2} / $ {color1} $ {fs_used / home / user} $ color / $ {color2} $ {fs_size / home / user} $ boja
$ {color0} $ {hr 1} $ boja
$ {color1} Od: $ color Buenos Aires, Argentina
$ {color1} Lat: $ {color2} 34 ° 35'S $ {color1} Duga: $ {color2} 58 ° 21'W $ {color1} Alt: $ {color2} 25 m $ boja
$ {voffset 5} $ {color2} $ {font calibri: size = 12} danas: $ font $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = CC} $ boja $ {alignr 2} $ {color1} ST: $ {color2} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = LT}
$ {color3} $ {font Vrijeme: 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} Vjetar: $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = WS} $ color
$ {color1} Vlažnost: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = HM} $ {alignr 2} $ {color1} Padavine: $ {color3} $ { execi 3600 python ~ / Conky / skripte / conkyForecast.py –lokacija = ARBA0009 –datatype = PC} $ boja
$ {alignc} $ {color1} Pritisak: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = BR} - $ {color3} $ {execi 3600 python ~ / Conky /scripts/conkyForecast.py –location = ARBA0009 –datatype = BD} $ boja
$ {color4} $ {hr} $ boja
$ {color1} Izlazak sunca: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SR} $ {alignr 2} $ {color1} Zalazak sunca: $ {color3} $ { execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SS} $ boja
$ {voffset 15} $ {color1} Mjesec: $ {color4} $ {alignr 2} $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = MP} $ boja
$ {voffset -20} $ {offset 80} $ {color4} $ {font moon phases: size = 20} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = MF} $ font $ boja
$ {color0} $ {hr} $ boja
$ {voffset 5} $ {color2} IP: $ {alignc} $ color $ {addr eth0}
$ {color1} Dolje: $ color $ {downspeed eth0} k / s $ {alignr 2} $ {color1} Gore: $ color $ {upspeed eth0} k / s
$ {color1} Ukupno: $ color $ {totaldown eth0} $ {alignr 2} $ {color1} Ukupno: $ color $ {totalup eth0}
$ {color1} Ulazni: $ color $ {tcp_portmon 1 32767 count} $ {color1} Odlazni: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color1} Ukupno: $ color $ {tcp_portmon 1 65535 count}
$ {voffset 5} $ {color2} Veze: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color2} Usluga / Port $ boja
$ {voffset 5} $ {tcp_portmon 32768 61000 rhost 0} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 0}
$ {tcp_portmon 32768 61000 rhost 1} $ {alignr 2} $ {tcp_portmon 32768 61000 rhost 1}
$ {tcp_portmon 32768 61000 rhost 2} $ {alignr 2} $ {tcp_portmon 32768 61000 rhost 2}
$ {tcp_portmon 32768 61000 rhost 3} $ {alignr 2} $ {tcp_portmon 32768 61000 rhost 3}
$ {tcp_portmon 32768 61000 rhost 4} $ {alignr 2} $ {tcp_portmon 32768 61000 rhost 4}
$ {tcp_portmon 32768 61000 rhost 5} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 5} $ boja

kreiramo datoteku ~ / Conky / conkyforecast

gedit ~ / Conky / conkyforecast

a unutra zalijepimo sljedeće

pozadina br
vlastiti_prozor da
vlastiti_prozor_prozirno da
own_window_hints neukrašeni, ispod, ljepljivi, preskoči_taskbar, preskoči_pager
vlastiti_prozor_boja crna
double_buffer da
use_spacer lijevo
use_xft da
font calibri: veličina = 8
xftfont calibri: veličina = 8
xftalpha 0.5
interval ažuriranja 5.0
veliko ne # postavljeno na da ako želite da sav tekst bude velik
obrubljeni_rubovi 3
granica_margina 9
širina_granice 10
zadana_boja bijela
zadana_crta_boja crna
zadana_sjena_boja crna
boja0 cijan
boja1 svijetloplava
boja2 narančasta
boja3 žuta
boja4 pšenica
boja5 bijela
boja6 bijela
boja7 bijela
boja8 bijela
boja9 bijela
poravnanje bottom_left # ili top_left, bottom_left, bottom_right
jaz_x 10
jaz_y 35
text_buffer_size 1024 # upotrijebite 1024 za prognozu
ne_buferi da # Oduzimanje međuspremnika datotečnog sustava iz korištene memorije?
draw_borders br
draw_outline yes # pojačava tekst ako je odgovor da
draw_shades da # nijansaboja crna

TEKST
$ {color4} $ {font calibri: size = 11} Proširena prognoza $ font $ color
$ {color0} $ {hr} $ boja
$ {color4} $ {font calibri: size = 9} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –template = / home / user / Conky / scripts / myweather.template} $ font $ boja

kreiramo datoteku ~ / Conky / conkymail

gedit ~ / Conky / conkymail

u datoteku zalijepimo sljedeće

pozadina br
vlastiti_prozor da
vlastiti_prozor_prozirno da
own_window_hints neukrašeni, ispod, ljepljivi, preskoči_taskbar, preskoči_pager
vlastiti_prozor_boja crna
double_buffer da
use_spacer lijevo
use_xft da
font calibri: veličina = 8
xftfont calibri: veličina = 8
xftalpha 0.5
interval ažuriranja 5.0
veliko ne # postavljeno na da ako želite da sav tekst bude velik
obrubljeni_rubovi 3
granica_margina 9
širina_granice 10
zadana_boja bijela
zadana_crta_boja crna
zadana_sjena_boja crna
boja0 cijan
boja1 svijetloplava
boja2 narančasta
boja3 žuta
boja4 pšenica
boja5 bijela
boja6 bijela
boja7 bijela
boja8 bijela
boja9 bijela
poravnanje bottom_left # ili top_left, bottom_left, bottom_right
jaz_x 565
jaz_y 35
text_buffer_size 128 # upotrijebite 1024 za prognozu
ne_buferi da # Oduzimanje međuspremnika datotečnog sustava iz korištene memorije?
draw_borders br
draw_outline yes # pojačava tekst ako je odgovor da
draw_shades da # nijansaboja crna

TEKST
$ {font calibri: size = 11} $ {alignc} $ {color4} Gmail
$ {color0} $ {hr} $ boja
$ {font calibri: size = 11} $ {color4} Imamo $ {color3} $ {execi 300 python ~ / Conky / scripts / mail / conkyEmail.py} $ {color4} e-poštu (e) $ font

Datoteku kreiramo u ~ / Conky / scripts / conkyForecast.py (moramo stvoriti mapu skripti)

gedit ~ / Conky / skripte / conkyForecast.py

#! / usr / bin / python
# - * - kodiranje: utf-8 - * -
#################################################### ###############################
# conkyForecast.py je (ne toliko) jednostavna (više) python skripta za prikupljanje
# detalja o trenutnom vremenu za upotrebu u conkyu.
#
# Autor: Kaivalagi
# Stvoreno: 13
# Izmjene:
# 14/04/2008 Omogućite dnevna raspona za podatke o prognozama
# 14/04/2008 Provjerite povezanost s uslugom xoap
# 18. Dopustite postavljanje prostora za opseg izlaza
# 18/04/2008 Omogućite izlaz za noćnu i dnevnu prognozu
# 18 Podrška za lokalizaciju opcije teksta koda stanja «CC», čeka prijevod na španjolski jezik
# 18. Upotrijebite kiseljenje za podatke klase, a ne otvaranje xml-a, to zaobilazi potrebu ispitivanja predmemoriranih podataka
# 19/04/2008 Dodan španjolski tekst uvjeta - Hvala Bruce M
# 19. Dodana je brojčana provjera svih numeričkih izlaza s sufiksom jedinice
# 19/04/2008 Izmijenjeno imenovanje datoteke kiselih krastavaca tako da uključuje kod mjesta
# 19. Dodano pretvaranje španjolskih dana u tjedan putem lokalnog jezika
# 20. Dodan je pristojan parser za naredbe argumenata
# 20 Dodano - opcija kratkog tjedna, ako se dan dana u tjednu vrsta podataka skraćuje na 04 znaka
# 21 Fiksne lokalne postavke za predviđanje rezultata
# 21. Dodana je opcija - predložak za omogućavanje prilagođenog izlaza pomoću jednog izvršnog poziva 🙂
# 21. Dodana je opcija –hedejedinice za uklanjanje, na primjer, mph i C iz izlaza
# 23 Uklonjena –imperial opcija iz predloška, ​​MORA se postaviti kao standardna opcija u pozivu skripte i ne koristiti se u datoteci predloška.
# 23/04/2008 Pročitano - carska opcija za predložak, omogućavajući metričke ili carske vrijednosti po tipu podataka. Imajte na umu kada opcija naredbi retka za predloške neće raditi.
# 23. Dodan je izlazni korisnik koji obavještava ako je navedeno mjesto loše
# 24/04/2008 Dodano rukovanje bez povezivanja, sada će se vratiti na predmemorirane podatke (pogreška ako ne postoji predmemorija). Testovi pokušajem otvaranja xoap.weather.com
# 24 Fiksna pretvorba Celzija u Fahrenheite
# 06/05/2008 Ažurirani url korišten nakon ažuriranja web usluge
# 09/05/2008 Objedinjeni podaci o trenutnom stanju i prognozama u jedan poziv
# 09/05/2008 Tipovima podataka dodani su izlazak i zalazak sunca, tipični su za trenutne uvjete i podatke o prognozi
# 09/05/2008 Tipovima podataka dodana je mjesečeva faza, očitavanje barometra i opis barometra, oni su specifični samo za trenutne uvjete, pa tako i N / A u predviđenom izlazu
# 09/05/2008 Dodane pretvorbe jedinica za barometar iz mb u inče (carski)
# 09/05/2008 Ažurirani tekst na španjolskom - Hvala Bruce M
# 10/05/2008 Dodani su podaci o francuskom jeziku - Hvala benpaka
# 12/05/2008 Dodan je novi tip podataka BF (noseći font) za pružanje znaka strelice (koristi se s fontom Arrow.ttf) umjesto NSEW izlaza iz WD-a (smjer vjetra)
# 12/05/2008 Ažurirani WD izlaz bit će prilagođen lokalnom jeziku, trenutno podržava zadani engleski i španjolski - Hvala Bruce M
# 18/05/2008 Dodan je novi tip podataka MF (mjesečev font) za pružanje znaka mjesečevog fonta (znakovi nisu točni i još nema namjenskog fonta).
# 21. U trenutnim uvjetima opcija –datatype = LT sada prikazuje temperaturu «osjeća se poput», a ne trenutnu temperaturu
#
# SVE:
# Objediniti pkl datoteke u jednu datoteku / klasu
# Dodajte font vremena na temelju podataka o mjesečevoj fazi na temelju podataka ikone mjeseca
# ??? Ima li još zahtjeva?

uvoz sys, os, socket, urllib2, datum i vrijeme
iz xml.dom uvoz minidom
iz uvoza stat *
iz optparse import OptionParser
lokalitet uvoza
uvoz gettext
uvozna kiselina
iz matematičkog uvoza *

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

klasa CommandLineParser:

parser = Nema

def __init __ (samo):

self.parser = OptionParser ()
self.parser.add_option («- l», »- lokacija», dest = »lokacija», zadani = »UKXX0103 ″, type =» string », metavar =» KOD «, help = u» kod lokacije za vremenske podatke [ zadani:% default], upotrijebite sljedeći url da biste odredili svoj kod lokacije prema nazivu grada: http://xoap.weather.com/search/search?where=Norwich »)
self.parser.add_option ("- d", "- datatype", dest = "datatype", default = "HT", type = "string", metavar = "DATATYPE", help = u "[zadano:% default] Opcije vrste podataka su: DW (Dan u tjednu), WF (Izlaz fontova za vrijeme), LT (Prognoza: Niska temp., Trenutna: Osjećaj poput temp.), HT (Prognoza: Visoka temp., Trenutna: Trenutna temp.), CC (Trenutna Uvjeti), CT (Tekst uvjeta), PC (Mogućnost oborina), HM (Vlaga), WD (Smjer vjetra), WS (Brzina vjetra), WG (Udari vjetra), CN (Ime grada), SR (izlazak sunca), SS (zalazak sunca), MP (mjesečeva faza), MF (mjesečev font), BR (očitavanje barometra), BD (opis barometra). Nije primjenjivo u naredbenom retku kada se koriste predlošci. »)
self.parser.add_option («- s», »- startday», dest = »startday», type = »int», metavar = »BROJ», help = u »definirajte broj početnog dana, ako se izlaze trenutni uvjeti . Nije primjenjivo u naredbenom retku kada koristite predloške. »)
self.parser.add_option ("- e", "- endday", dest = "endday", type = "int", metavar = "NUMBER", help = u "definirajte broj završnog dana, ako su izostavljeni samo podaci o početnom danu je izlaz. Nije primjenjivo u naredbenom retku kada se koriste predlošci. »)
self.parser.add_option («- S», »- razmaci», dest = »razmaci», tip = »int», zadani = 1, metavar = »BROJ», pomoć = u »[zadano:% zadanih] Definira broj razmaka između raspona izlaza. Nije primjenjivo u naredbenom retku kada se koriste predlošci. »)
self.parser.add_option («- t», »- predložak», dest = »predložak«, tip = »niz«, metavar = »FILE», help = u »definirati datoteku predloška za generiranje rezultata u jednom pozivu. A stavka koja se može prikazati u datoteci je u obliku {–datatype = HT –startday = 1}. Sljedeće su moguće opcije unutar svake stavke: –datatype, –startday, –endday, –night, –shortweekday, –imperial, –hideunits, –Prostori. Imajte na umu da kratki oblici opcija trenutno nisu podržani! Nijedna od ovih opcija nije primjenjiva u naredbenom retku kada koristite predloške. »)
self.parser.add_option («- L», »- locale», dest = »locale», type = »string», help = u »nadjačati sistemski jezik za izlaz jezika (en = engleski, es = španjolski, fr = francuski, još ih dolazi) »)
self.parser.add_option ("- i", "- imperial", dest = "imperial", default = False, action = "store_true", help = u "zatraži carske jedinice, ako je izostavljeni izlaz u metrici. Nije primjenjivo na naredbeni redak kada koristite predloške. »)
self.parser.add_option («- n», »- noć», dest = »noć», default = False, action = »store_true», help = u »prebacite izlaz na noćne podatke, ako je izostavljen dnevni izlaz. Nije primjenjivo u naredbenom retku kada koristite predloške. »)
self.parser.add_option («- w», »- shortweekday», dest = »shortweekday», default = False, action = »store_true», help = u »Skratite tip podataka dana u tjednu na 3 znaka. Nije primjenjivo na naredbeni redak kada koristite predloške. »)
self.parser.add_option («- u», «- skrivene jedinice», dest = »skrivene jedinice», default = False, action = »store_true», help = u »Sakrij jedinice poput mph ili C, simboli stupnja (°) su još uvijek prikazano. Nije primjenjivo na naredbenom retku kada se koriste predlošci. »)
self.parser.add_option («- v», »- opširno», dest = »opširno», default = False, action = »store_true», help = u »zahtijeva opsežni izlaz, nema dobre ideje kad se prolazi kroz conky!)
self.parser.add_option ("- r", "- refetch", dest = "refetch", default = False, action = "store_true", help = u "dohvaćanje podataka bez obzira na istek podataka")

def parse_args (self):
(opcije, argumenti) = self.parser.parse_args ()
povratak (opcije, argumenti)

def print_help (samo):
vrati self.parser.print_help ()

klase WeatherData:
def __init __ (samo, dan_tjedna, nisko, visoko, kod_uslova, uvjet_teksta, oborina, vlaga, vjetrovi_dir, brzina_vjetra, udari vjetra, grad, izlazak sunca, zalazak sunca, mjesečeva faza, moon_icon, bar_read, bar_desc):
self.day_of_week = u »» + day_of_week
self.nisko = u »» + nisko
samo.visoko = u »» + visoko
self.condition_code = u »» + kod_uslova
self.condition_text = u »» + text_text
self.precip = u »» + precip
samo.vlažnost = u »» + vlažnost
self.wind_dir = u »» + vjetrovni_dir
self.wind_speed = u »» + brzina vjetra
self.wind_gusts = u »» + udari vjetra
self.city = u »» + grad
self.sunrise = u »» + izlazak sunca
self.sunset = u »» + zalazak sunca
self.mone_faza = u »» + moon_phase
self.moon_icon = u »» + moon_icon
self.bar_read = u »» + bar_read
self.bar_desc = u »» + bar_desc

klasa WeatherText:

uvjet_tekst = {
«0»: _ (u »Tornado»),
«1»: _ (u »Tropska oluja»),
«2»: _ (u »uragan»),
«3»: _ (u »Olujne oluje«),
«4»: _ (u »Oluje s grmljavinom«),
«5»: _ (u »Mješovita kiša i snijeg»),
«6»: _ (u »Mješovita kiša i susnježica»),
«7»: _ (u »Mješovite oborine»),
«8»: _ (u »Zamrzavajuća kiša«),
«9»: _ (u »Zalijevanje«),
«10»: _ (u »Ledena kiša»),
«11»: _ (u »Tuševi»),
«12»: _ (u »Tuševi»),
«13»: _ (u »Snježni naleti«),
«14»: _ (u »Lagani snježni pljuskovi»),
«15»: _ (u »Puše snijeg»),
«16»: _ (u »Snijeg»),
«17»: _ (u »Zdravo»),
«18»: _ (u »susnježica«),
«19»: _ (u »Prašina«),
«20»: _ (u »Magla»),
«21»: _ (u »Izmaglica»),
«22»: _ (u »Dim«),
«23»: _ (u »Blustery«),
«24»: _ (u »Vjetrovito»),
«25»: _ (u »Hladno«),
«26»: _ (u «Oblačno»),
«27»: _ (u »Pretežno oblačno»),
«28»: _ (u »Pretežno oblačno»),
«29»: _ (u »Djelomično oblačno»),
«30»: _ (u »Djelomično oblačno»),
«31»: _ (u «Očisti»),
«32»: _ (u «Očisti»),
«33»: _ (u »Sajam«),
«34»: _ (u »Sajam«),
«35»: _ (u »Mješovita kiša i tuča»),
«36»: _ (u »Vruće»),
«37»: _ (u »Izolirane oluje s grmljavinom«),
«38»: _ (u »Raštrkane grmljavine«),
«39»: _ (u »Raštrkane grmljavine«),
«40»: _ (u »Raštrkani tuševi»),
«41»: _ (u »Gusti snijeg»),
«42»: _ (u »Raštrkani snježni pljuskovi»),
«43»: _ (u »Gusti snijeg»),
«44»: _ (u »Djelomično oblačno»),
«45»: _ (u »Grmljavinski pljuskovi»),
«46»: _ (u »Pljuskovi snijega»),
«47»: _ (u »Izolirane oluje s grmljavinom«),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

uvjetima_teksta_es = {
«0»: _ (u »Tornado»),
«1»: _ (u »Tropska oluja»),
«2»: _ (u »Huracá¡n»),
«3»: _ (u »Jake oluje»),
«4»: _ (u »Oluje«),
«5»: _ (u »Mješovita kiša i snijeg»),
«6»: _ (u »Mješovita kiša i susnježica»),
«7»: _ (u »susnježica«),
«8»: _ (u »Zamrzavajuća kiša«),
«9»: _ (u »Zalijevanje«),
«10»: _ (u »Ledena kiša»), # ili ledena kiša
«11»: _ (u »Tuševi»),
«12»: _ (u »Tuševi»),
«13»: _ (u »Lagani snijeg»),
«14»: _ (u »Lagani snijeg»),
«15»: _ (u «Snježna mećava»),
«16»: _ (u »Snijeg»),
«17»: _ (u »Zdravo»),
«18»: _ (u »susnježica«),
«19»: _ (u »Prašak»),
«20»: _ (u »Magla»),
«21»: _ (u »Izmaglica»),
«22»: _ (u »Dim«),
«23»: _ (u »Oluja»),
«24»: _ (u »Vjetrovito»),
«25»: _ (u »Fráo«),
«26»: _ (u «Vrlo oblačno»),
«27»: _ (u »Pretežno oblačno»),
«28»: _ (u »Pretežno oblačno»),
«29»: _ (u »Djelomično oblačno»),
«30»: _ (u »Djelomično oblačno»),
«31»: _ (u «Očisti»),
«32»: _ (u «Očisti»),
«33»: _ (u «Nešto oblačno»),
«34»: _ (u «Nešto oblačno»),
«35»: _ (u »Kiša s tučom«),
«36»: _ (u »Toplina«),
«37»: _ (u »Izolirane oluje«),
«38»: _ (u »Raštrkane oluje»),
«39»: _ (u »Raštrkane oluje»),
«40»: _ (u »Raštrkani tuševi»),
«41»: _ (u »Gusti snijeg»),
«42»: _ (u »Slabe i raštrkane snježne padaline»),
«43»: _ (u »Intenzivna Nevada»),
«44»: _ (u »Raštrkani oblaci»),
«45»: _ (u »Oluje«),
«46»: _ (u »Raštrkani snijegovi»),
«47»: _ (u »Izolirane oluje«),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

uvjeti_tekst_fr = {
«0»: _ (u »Tornada»),
«1»: _ (u »Tempête Tropicale»),
«2»: _ (ili «Ouragan»),
«3»: _ (ili «Orages Violents»),
«4»: _ (ili «Orageux»),
«5»: _ (u »Pluie et Neige»),
«6»: _ (u »Pluie et Neige Mouillée«),
«7»: _ (u »Varijabla avec aversses»),
«8»: _ (u »Bruine Givrante»),
«9»: _ (u »Bruine»),
«10»: _ (u »Pluie Glacante»),
«11»: _ (u »Aversi«),
«12»: _ (u »Aversi«),
«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 »Pluie / Neige»),
«19»: _ (u »Nouge 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 »Raspored vijesti»),
«30»: _ (u »Raspored vijesti»),
«31»: _ (u »Beau«),
«32»: _ (u »Beau«),
«33»: _ (u »Belles Éclaircies»),
«34»: _ (u »Belles Éclaircies»),
«35»: _ (u »Pluie avec Grêle»),
«36»: _ (u »Chaleur»),
«37»: _ (ili «Orages Isolés»),
«38»: _ (ili «Orages Localisés»),
«39»: _ (ili «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 »Raspored vijesti»),
«45»: _ (ili «Orages»),
«46»: _ (u »Tempête de Neige«),
«47»: _ (ili «Orages Isolés»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

uvjeti_vremenski_fon = {
«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 »»),
"-": _(ili"")
}

uvjeti_mjesec_fonta = {
«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 »»),
"-": _(ili"")
}

dan_tjedna = {
"Danas": _ (ili "Danas"),
«Ponedjeljak»: _ (u «ponedjeljak»),
«Utorak»: _ (u «utorak»),
«Srijeda»: _ (u «srijeda»),
«Četvrtak»: _ (u «četvrtak»),
"Petak": _ (u "Petak"),
"Subota": _ (u "Subota"),
"Nedjelja": _ (u "Nedjelja")
}

dan_tjedne_kratke = {
"Danas": _ (u "Sada"),
«Ponedjeljak»: _ (u «pon»),
«Utorak»: _ (u «utorak»),
"Srijeda": _ (u "Srijeda"),
«Četvrtak»: _ (u «Čet»),
«Petak»: _ (u «Pet»),
"Subota": _ (u "Sub"),
"Nedjelja": _ (u "Sunce")
}

dan_tjedno_es = = {
"Danas": _ (u "danas"),
«Ponedjeljak»: _ (u «ponedjeljak»),
«Utorak»: _ (u «utorak»),
«Srijeda»: _ (u «srijeda»),
«Četvrtak»: _ (u «četvrtak»),
«Petak»: _ (u «petak»),
"Subota": _ (u "Subota"),
"Nedjelja": _ (u "Nedjelja")
}

dan_tjedne_kratke_es = {
"Danas": _ (u "danas"),
"Ponedjeljak": _ (u "ponedjeljak"),
«Utorak»: _ (u »more«),
«Srijeda»: _ (u »sri»),
«Četvrtak»: _ (u «četvrtak»),
«Petak»: _ (u »pet»),
"Subota": _ (u "sat"),
"Nedjelja": _ (u "dom")
}

dan_tjedna_fr = {
«Danas»: _ (u »Aujourd'hui»),
«Ponedjeljak»: _ (u »Lundi»),
«Utorak»: _ (u »Mardi»),
«Srijeda»: _ (u »Mercredi»),
«Četvrtak»: _ (u »Jeudi»),
«Petak»: _ (u »Vendredi»),
"Subota": _ (u "Samedi"),
"Nedjelja": _ (u "Dimanche")
}

dan_tjedne_kratke_fr = {
«Danas»: _ (u «Auj»),
"Ponedjeljak": _ (u "Ponedjeljak"),
«Utorak»: _ (u «ožujak»),
"Srijeda": _ (u "Mer"),
«Četvrtak»: _ (u »Jeu«),
«Petak»: _ (u «Dođi»),
"Subota": _ (u "Sam"),
"Nedjelja": _ (u "Dim")
}

nosiva_strelica_fonta = {
«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 »«)
}

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

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

klasa GlobalWeather:

trenutni_uvjeti = []
dnevna prognoza = []
noćna prognoza = []

locale = "in"

options = Nema
weatherxmldoc = ""

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

def __init __ (self, opcije):

self.options = opcije

ako self.options.locale == Nema:
probati:
# self.locale = locale.getdefaultlocale () [0] [0: 2]
self.locale = «es» #uncomment this line for force Spanish locale
# self.locale = "fr" #uncomment ovaj redak prisiliti francuski jezik
osim:
ispis "lokalitet nije postavljen"
drugo:
# self.locale = self.options.locale
self.locale = «es» #uncomment this line for force Spanish locale
# self.locale = "fr" #uncomment ovaj redak prisiliti francuski jezik

ako self.options.verbose == True:
ispis >> sys.stdout, "lokalitet postavljen na", self.locale

def getText (self, nodelist):
rc = ""
za čvor u popisu čvorova:
ako je node.nodeType == node.TEXT_NODE:
rc = rc + čvor.podaci
povratak rc

def getSpaces (self, razmaci):
niz = u »»
ako su razmaci == nema:
niz = samo.DEFAULT_SPACING
drugo:
za i u rasponu (0, razmaci + 1):
string = string + u »«
povratni niz

def isNumeric (self, string):
probati:
dummy = float (string)
povratak True
osim:
povratak False

def isConnectionAvailable (self):
# osigurajte da možemo pristupiti poslužitelju weather.com otvaranjem URL-a
probati:
Usock = urllib2.urlopen ('http://xoap.weather.com')
Usock.close ()
povratak True
osim:
povratak False

def getBearingText (self, bearing):
ležaj = plovak (ležaj)
ako nosi <11.25:
povratak u »N»
elif ležaj <33.75:
povratak u »NNE»
elif ležaj <56.25:
povratak u »NE»
elif ležaj <78.75:
povratak u »Siječanj»
elif ležaj <101.25:
povratak u »E»
elif ležaj <123.75:
povratak u »ESE»
elif ležaj <146.25:
povratak u »SE»
elif ležaj <168.75:
povratak u »SSE»
elif ležaj <191.25:
povratak u »S»
elif ležaj <213.75:
povratak u »SSW»
elif ležaj <236.25:
povratak u »SW»
elif ležaj <258.75:
povratak u »WSW»
elif ležaj <281.25:
povratak u »W»
elif ležaj <303.75:
povratak u »WNW»
elif ležaj <326.25:
povratak u »SZ»
elif ležaj <348.75:
povratak u »NNW»
drugo:
povratak «N / A»

def convertCelsiusToFahrenheit (self, temp):
vrati str (int (floor (((float (temp) * 9.0) /5.0) +32)))

def convertKilometresToMiles (self, dist):
return str (int (floor (float (dist) * 0.621371192)))

def convertMillibarsToInches (self, mb):
return str (int (floor (float (mb) /33.8582)))

def getTemplateList (self, predložak):

popis predložaka = []

za template_part u template.split («{«):
ako predložak_dio! = «»:
za template_part u template_part.split ("}"):
ako predložak_dio! = «»:
templatelist.append (u »» + template_part)

povratak templatelist

def getOutputText (self, tip podataka, dan početka, dan, noć, kratki tjedan, carstvo, skrivene jedinice, razmaci):
#probati:
izlaz = u »»

# definirajte trenutne jedinice za izlaz
ako su skrivene jedinice == False:
ako je imperial == False:
tempunit = u »° C»
brzina = u »km / h»
tlačna jedinica = u »mb»
drugo:
tempunit = u »° F»
brzina = u »mph»
tlačna jedinica = u »u»
drugo:
tempunit = u »°»
brzina jedinica = u »»
tlačna jedinica = u »»

ako je početni dan == Nijedan: # trenutni uvjeti

ako je tip podataka == "DW":
ako self.locale == "je":
ako je kratki tjedan == Istina:
output = WeatherText.day_of_week_short_es [self.current_conditions [0] .day_of_week]
drugo:
output = WeatherText.day_of_week_es [self.current_conditions [0] .day_of_week]
elif self.locale == "fr":
ako je kratki tjedan == Istina:
output = WeatherText.day_of_week_short_fr [self.current_conditions [0] .day_of_week]
drugo:
output = WeatherText.day_of_week_fr [self.current_conditions [0] .day_of_week]
drugo:
ako je kratki tjedan == Istina:
output = WeatherText.day_of_week_short [self.current_conditions [0] .day_of_week]
drugo:
output = WeatherText.day_of_week [self.current_conditions [0] .day_of_week]
elif datatype == "WF": # font za vrijeme
output = WeatherText.conditions_weather_font [self.current_conditions [0] .code_code]
elif vrsta podataka == "LT":
string = self.current_conditions [0] .nisko
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertCelsiusToFahrenheit (niz)
niz = niz + tempunit
izlaz = niz
elif vrsta podataka == "HT":
string = self.current_conditions [0] .visoko
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertCelsiusToFahrenheit (niz)
niz = niz + tempunit
izlaz = niz
elif vrsta podataka == "CC":
ako self.locale == "je":
output = WeatherText.conditions_text_es [self.current_conditions [0] .code_code]
elif self.locale == "fr":
output = WeatherText.conditions_text_fr [self.current_conditions [0] .code_code]
drugo:
izlaz = WeatherText.conditions_text [self.current_conditions [0] .code_code]
elif vrsta podataka == "CT":
output = self.current_conditions [0] .condition_text
elif vrsta podataka == "PC":
string = self.current_conditions [0] .precip
ako je self.isNumeric (string) == True:
string = string + u »%»
izlaz = niz
elif vrsta podataka == "HM":
string = self.current_conditions [0] .vlažnost
ako je self.isNumeric (string) == True:
string = string + u »%»
izlaz = niz
elif vrsta podataka == "WD":
string = self.current_conditions [0] .wid_dir
ako je self.isNumeric (string) == True:
string = self.getBearingText (niz)

ako self.locale == "je":
output = WeatherText.bearing_text_es [niz]
elif self.locale == "fr":
output = WeatherText.bearing_text_fr [niz]
drugo:
izlaz = niz

elif tip podataka == "BF":
string = self.current_conditions [0] .wid_dir
ako je self.isNumeric (string) == True:
string = WeatherText.bearing_arrow_font [self.getBearingText (string)]
izlaz = niz
elif vrsta podataka == "WS":
string = self.current_conditions [0] .brzina_vjetra
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertKilometresToMiles (niz)
niz = niz + brzinajedinica
izlaz = niz
elif tip podataka == "WG":
string = self.current_conditions [0] .puhovi vjetra
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertKilometresToMiles (niz)
niz = niz + brzinajedinica
izlaz = niz
elif vrsta podataka == "CN":
output = self.current_conditions [0] .grad
elif vrsta podataka == "SR":
output = self.current_conditions [0] .izlazak sunca
elif vrsta podataka == "SS":
output = self.current_conditions [0] .sunset
elif vrsta podataka == "MP":
output = self.current_conditions [0] .mjesec_faza
elif vrsta podataka == "MF":
output = WeatherText.conditions_moon_font [self.current_conditions [0] .moon_icon]
elif vrsta podataka == "BR":
string = self.current_conditions [0] .bar_read
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertMillibarsToInches (niz)
niz = niz + tlačna jedinica
izlaz = niz
elif tip podataka == "BD":
output = self.current_conditions [0] .bar_desc
drugo:
output = "\ nREŠKA: zatražen je nepoznati tip podataka"

else: # podaci o prognozi

if endday == None: # ako nije postavljen endday, koristite startday
endday = dan početka

ako je noć == Tačno: # potrebna noćna prognoza

za day_number u rasponu (startday, endday + 1):

ako je tip podataka == "DW":
ako self.locale == "je":
ako je kratki tjedan == Istina:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_short_es [self.night_forecast [day_number] .day_of_week]
drugo:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_es [self.night_forecast [day_number] .day_of_week]
elif self.locale == "fr":
ako je kratki tjedan == Istina:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_short_fr [self.night_forecast [day_number] .day_of_week]
drugo:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_fr [self.night_forecast [day_number] .day_of_week]
drugo:
ako je kratki tjedan == Istina:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_short [self.night_forecast [day_number] .day_of_week]
drugo:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week [self.night_forecast [day_number] .day_of_week]
elif datatype == "WF": # font za vrijeme
output = output + self.getSpaces (razmaci) + WeatherText.conditions_weather_font [self.night_forecast [day_number] .condition_code]
elif vrsta podataka == "LT":
string = self.night_forecast [day_number] .low
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertCelsiusToFahrenheit (niz)
niz = niz + tempunit
output = output + self.getSpaces (razmaci) + string

elif vrsta podataka == "HT":
string = self.night_forecast [day_number] .high
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertCelsiusToFahrenheit (niz)
niz = niz + tempunit
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "CC":
ako self.locale == "je":
output = output + self.getSpaces (razmaci) + WeatherText.conditions_text_es [self.night_forecast [day_number] .condition_code]
elif self.locale == "fr":
output = output + self.getSpaces (razmaci) + WeatherText.conditions_text_fr [self.night_forecast [day_number] .condition_code]
drugo:
output = output + self.getSpaces (razmaci) + WeatherText.conditions_text [self.night_forecast [day_number] .condition_code]
elif vrsta podataka == "CT":
output = output + self.getSpaces (razmaci) + self.night_forecast [day_number] .condition_text
elif vrsta podataka == "PC":
string = self.noćna_prognoza [broj_dana] .precip
ako je self.isNumeric (string) == True:
string = string + u »%»
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "HM":
string = self.night_forecast [day_number] .vlažnost
ako je self.isNumeric (string) == True:
string = string + u »%»
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "WD":
string = self.night_forecast [dan_broja] .wid_dir
ako self.locale == "je":
output = output + self.getSpaces (razmaci) + WeatherText.bearing_text_es [string]
elif self.locale == "fr":
output = output + self.getSpaces (razmaci) + WeatherText.bearing_text_fr [string]
drugo:
output = output + self.getSpaces (razmaci) + string

elif tip podataka == "BF":
output = output + self.getSpaces (razmaci) + WeatherText.bearing_arrow_font [self.night_forecast [day_number] .wind_dir]
elif vrsta podataka == "WS":
string = self.night_forecast [dan_broj] .brzina_vjetra
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertKilometresToMiles (niz)
niz = niz + brzinajedinica
output = output + self.getSpaces (razmaci) + string
elif tip podataka == "WG":
string = self.night_forecast [day_number] .wind_gusts
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertKilometresToMiles (niz)
niz = niz + brzinajedinica
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "CN":
output = output + self.getSpaces (razmaci) + self.night_forecast [day_number] .city
elif vrsta podataka == "SR":
output = output + self.getSpaces (razmaci) + self.night_forecast [day_number] .sunrise
elif vrsta podataka == "SS":
output = output + self.getSpaces (razmaci) + self.night_forecast [day_number] .sunset
elif vrsta podataka == "MP":
output = output + self.getSpaces (razmaci) + self.night_forecast [day_number] .moon_phase
elif vrsta podataka == "MF":
output = output + self.getSpaces (razmaci) + WeatherText.conditions_moon_font [self.night_forecast [day_number] .moon_icon]
elif vrsta podataka == "BR":
output = output + self.getSpaces (razmaci) + self.night_forecast [day_number] .bar_read
elif tip podataka == "BD":
output = output + self.getSpaces (razmaci) + self.night_forecast [day_number] .bar_desc
drugo:
output = "\ nREŠKA: zatražen je nepoznati tip podataka"
razbiti

ostalo: traži se # dnevna prognoza

za day_number u rasponu (startday, endday + 1):

ako je tip podataka == "DW":
ako self.locale == "je":
ako je kratki tjedan == Istina:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_short_es [self.day_forecast [day_number] .day_of_week]
drugo:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_es [self.day_forecast [day_number] .day_of_week]
elif self.locale == "fr":
ako je kratki tjedan == Istina:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_short_fr [self.day_forecast [day_number] .day_of_week]
drugo:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_fr [self.day_forecast [day_number] .day_of_week]
drugo:
ako je kratki tjedan == Istina:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week_short [self.day_forecast [day_number] .day_of_week]
drugo:
output = output + self.getSpaces (razmaci) + WeatherText.day_of_week [self.day_forecast [day_number] .day_of_week]
elif datatype == "WF": # font za vrijeme
output = output + self.getSpaces (razmaci) + WeatherText.conditions_weather_font [self.day_forecast [day_number] .condition_code]
elif vrsta podataka == "LT":
string = self.day_forecast [day_number] .low
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertCelsiusToFahrenheit (niz)
niz = niz + tempunit
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "HT":
string = self.day_forecast [day_number] .high
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertCelsiusToFahrenheit (niz)
niz = niz + tempunit
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "CC":
ako self.locale == "je":
output = output + self.getSpaces (razmaci) + WeatherText.conditions_text_es [self.day_forecast [day_number] .condition_code]
elif self.locale == "fr":
output = output + self.getSpaces (razmaci) + WeatherText.conditions_text_fr [self.day_forecast [day_number] .condition_code]
drugo:
output = output + self.getSpaces (razmaci) + WeatherText.conditions_text [self.day_forecast [day_number] .condition_code]
elif vrsta podataka == "CT":
output = output + self.getSpaces (razmaci) + self.day_forecast [day_number] .condition_text
elif vrsta podataka == "PC":
string = self.day_forecast [day_number] .precip
ako je self.isNumeric (string) == True:
string = string + u »%»
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "HM":
string = self.day_forecast [day_number] .vlažnost
ako je self.isNumeric (string) == True:
string = string + u »%»
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "WD":
string = self.day_forecast [day_number] .wid_dir

ako self.locale == "je":
output = output + self.getSpaces (razmaci) + WeatherText.bearing_text_es [string]
elif self.locale == "fr":
output = output + self.getSpaces (razmaci) + WeatherText.bearing_text_fr [string]
drugo:
output = output + self.getSpaces (razmaci) + string

elif tip podataka == "BF":
output = output + self.getSpaces (razmaci) + WeatherText.bearing_arrow_font [self.day_forecast [day_number] .wind_dir]
elif vrsta podataka == "WS":
string = self.day_forecast [dan_broj] .brzina_vjetra
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertKilometresToMiles (niz)
niz = niz + brzinajedinica
output = output + self.getSpaces (razmaci) + string
elif tip podataka == "WG":
string = self.day_forecast [day_number] .wind_gusts
ako je self.isNumeric (string) == True:
ako je imperial == True:
string = self.convertKilometresToMiles (niz)
niz = niz + brzinajedinica
output = output + self.getSpaces (razmaci) + string
elif vrsta podataka == "CN":
output = output + self.getSpaces (razmaci) + self.day_forecast [day_number] .city
elif vrsta podataka == "SR":
output = output + self.getSpaces (razmaci) + self.day_forecast [day_number] .sunrise
elif vrsta podataka == "SS":
output = output + self.getSpaces (razmaci) + self.day_forecast [day_number] .sunset
elif vrsta podataka == "MP":
output = output + self.getSpaces (razmaci) + self.day_forecast [day_number] .moon_phase
elif vrsta podataka == "MF":
output = output + self.getSpaces (razmaci) + WeatherText.conditions_moon_font [self.day_forecast [day_number] .moon_icon]
elif vrsta podataka == "BR":
output = output + self.getSpaces (razmaci) + self.day_forecast [day_number] .bar_read
elif tip podataka == "BD":
output = output + self.getSpaces (razmaci) + self.day_forecast [day_number] .bar_desc
drugo:
output = u »\ n GREŠKA: zatražen je nepoznati tip podataka»
razbiti

output = u »» + output.strip (u »«) # gubite vodeće / prateće razmake
povratni izlaz

#osim:
#print "getOutputText: Neočekivana pogreška:", sys.exc_info () [0]

def getOutputTextFromTemplate (self, predložak):
#probati:

# tipke za podatke predloška
DATATYPE_KEY = "–datatype ="
STARTDAY_KEY = "–startday ="
ENDDAY_KEY = "–endday ="
NIGHT_KEY = "–noć"
SHORTWEEKDAY_KEY = "kratki tjedan"
IMPERIAL_KEY = "–imperial"
HIDEUNITS_KEY = "–dejavne jedinice"
SPACES_KEY = "–spaces ="

izlaz = u »»

optionfound = Netačno

# učitajte datoteku
probati:
fileinput = otvoren (self.options.template)
template = fileinput.read ()
fileinput.close ()
osim:
output = u »Datoteka predloška nije pronađena!»

templatelist = self.getTemplateList (predložak)

# omogućuje prolazak kroz popis predložaka i određivanje rezultata za svaku pronađenu stavku
za i u rasponu (0, len (templatelist) -1):

pos = templatelist [i] .find (DATATYPE_KEY)
ako je pos! = -1:
optionfound = Tačno
pos = pos + len (DATATYPE_KEY)
datatype = templatelist [i] [pos: pos + 4] .strip («}»). strip («{«). strip («-«). strip (»«)
drugo:
tip podataka = Nema

pos = templatelist [i] .find (STARTDAY_KEY)
ako je pos! = -1:
optionfound = Tačno
pos = pos + len (STARTDAY_KEY)
startday = int (templatelist [i] [pos: pos + 4] .strip ("}"). strip ("{"). strip ("-"). strip (""))
drugo:
startday = Nema

pos = templatelist [i] .find (ENDDAY_KEY)
ako je pos! = -1:
optionfound = Tačno
pos = pos + len (ENDDAY_KEY)
endday = int (templatelist [i] [pos: pos + 4] .strip ("}"). strip ("{"). strip ("-"). strip (""))
drugo:
endday = Nema

pos = templatelist [i] .find (KLJUČ NOĆ)
ako je pos! = -1:
optionfound = Tačno
noć = Istina
drugo:
noć = Lažno

pos = templatelist [i] .find (SHORTWEEKDAY_KEY)
ako je pos! = -1:
optionfound = Tačno
kratki tjedan = Istina
drugo:
kratki tjedan = Lažno

pos = templatelist [i] .find (IMPERIAL_KEY)
ako je pos! = -1:
optionfound = Tačno
carski = Istina
drugo:
carski = Lažno

pos = templatelist [i] .find (HIDEUNITS_KEY)
ako je pos! = -1:
optionfound = Tačno
hideunits = Tačno
drugo:
skrivene jedinice = Netačno

pos = templatelist [i] .nađi (KLJUČ PROSTORA)
ako je pos! = -1:
optionfound = Tačno
pos = pos + len (PROSTOR_KLJUČAK)
razmaci = int (templatelist [i] [poz: pos + 4] .strip («}»). strip («{«). strip («-«). strip (»«))
drugo:
razmaci = 1

ako je optionfound == True:
templatelist [i] = self.getOutputText (tip podataka, dan početka, dan, noć, kratki tjedan, carstvo, skrivene jedinice, razmaci)
optionfound = Netačno

# prođite kroz popis koji spaja izlaz nakon što je popunjen
za stavku u templatelistu:
izlaz = izlaz + stavka

povratni izlaz

#osim:
#print "getOutputTextFromTemplate: Neočekivana pogreška:", sys.exc_info () [0]

def fetchData (self):

# uvijek dohvaćajte metričke podatke, koristite funkcije razgovora na tim podacima
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)

ako self.isConnectionAvailable () == False:
ako os.path.exists (file_path_current):
RefetchData = Netačno
else: # nema veze, nema predmemorije, prasak!
print "Nije dostupna internetska veza i ne postoje predmemorirani vremenski podaci."
elif self.options.refetch == Tačno:
RefetchData = Tačno
drugo:
# treba li ponovno pristupiti podacima?
ako os.path.exists (file_path_current):
lastmodDate = time.localtime (os.stat (tok_puta_datoteke) [ST_MTIME])
expiryDate = (datetime.datetime.today () - datetime.timedelta (minute = self.EXPIRY_MINUTES)). timetuple ()

ako je datum isteka> lastmodDate:
RefetchData = Tačno
drugo:
RefetchData = Netačno
drugo:
RefetchData = Tačno

# dohvatite podatke o trenutačnim uvjetima, bilo s web stranice ili "uklanjanjem"
ako je RefetchData == True:

# pribavite podatke o trenutnim uvjetima iz usluge xoap
probati:

# 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 & jedinica = m '
ako self.options.verbose == True:
ispis >> sys.stdout, «dohvaćanje vremenskih podataka iz«, url

Usock = urllib2.urlopen (url)
xml = usock.read ()
Usock.close ()
self.weatherxmldoc = minidom.parseString (xml)
osim:
ispis "fetchData: Neočekivana pogreška:", sys.exc_info () [0]
print "Nije moguće kontaktirati izvor vremena za trenutne uvjete"

# recite korisniku je li lokacija loša ...
found = xml.find ("Navedena je neispravna lokacija")
ako se pronađe! = -1:
print "Navedeno je neispravno mjesto"

# ispitujte vremenske podatke, učitajte ih u strukturu klase i kiseli ih
probati:

# pripremite popise vremenskih podataka
vlastiti.strujni_uvjeti = []
self.day_forecast = []
self.night_forecast = []

# prikupljati opće podatke
weather_n = self.weatherxmldoc.documentElement
location_n = weather_n.getElementsByTagName ('loc') [0]
city_n = location_n.getElementsByTagName ('dnam') [0]
city ​​= self.getText (city_n.childNodes)

# prikupiti podatke o trenutnim uvjetima
day_of_week = u »Danas»
padavina = u »N / A»
sunrise_n = location_n.getElementsByTagName ('sunr') [0]
izlazak sunca = self.getText (sunrise_n.childNodes)
sunset_n = location_n.getElementsByTagName ('sunca') [0]
zalazak sunca = self.getText (sunset_n.childNodes)
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 ('ikona') [0]
trenutni_kôd = self.getText (trenutni_kod_n.childNodes)
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 (current_temp_feels_n.childNodes)
bar_n = current_condition_n.getElementsByTagName ('bar') [0]
bar_read_n = bar_n.getElementsByTagName ('r') [0]
bar_read = self.getText (bar_read_n.childNodes)
bar_desc_n = bar_n.getElementsByTagName ('d') [0]
bar_desc = self.getText (bar_desc_n.childNodes)
wind_n = current_condition_n.getElementsByTagName ('vjetar') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
brzina vjetra = self.getText (brzina_vjeta_n.childNodes)
wind_gust_n = wind_n.getElementsByTagName ('nalet') [0]
udari vjetra = self.getText (wind_gust_n.childNodes)
wind_dir_n = wind_n.getElementsByTagName ('d') [0]
smjer vjetra = self.getText (wind_dir_n.childNodes)
vlažnost_n = trenutni_uvjet_n.getElementsByTagName ('hmid') [0]
vlaga = self.getText (vlažnost_n.dijetl čvorovi)
moon_n = current_condition_n.getElementsByTagName ('moon') [0]
moon_icon_n = moon_n.getElementsByTagName ('ikona') [0]
moon_icon = self.getText (moon_icon_n.childNodes)
moon_phase_n = moon_n.getElementsByTagName ('t') [0]
moon_phase = self.getText (moon_phase_n.childNodes)
current_conditions_data = Vremenski podaci (day_week, current_temp_feels, current_temp, current_code, current_desc, oborina, vlaga, smjer vjetra, brzina vjetra, udari vjetra, grad, izlazak, zalazak sunca, moon_phase, moon_icon, bar_read, bar_desc)
self.current_conditions.append (current_conditions_data)

# prikuplja podatke o prognozama
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 ('dan')

za dan u day_nodes:
day_of_week = day.getAttribute ('t')
day_of_year = day.getAttribute ('dt')
high_temp_n = day.getElementsByTagName ('hi') [0]
high_temp = self.getText (high_temp_n.childNodes)
low_temp_n = day.getElementsByTagName ('nisko') [0]
low_temp = self.getText (low_temp_n.childNodes)

sunrise_n = day.getElementsByTagName ('sunr') [0]
izlazak sunca = self.getText (sunrise_n.childNodes)
sunset_n = day.getElementsByTagName ('sunca') [0]
zalazak sunca = self.getText (sunset_n.childNodes)

Podaci za # dnevnu prognozu
daytime_n = day.getElementsByTagName ('dio') [0] # dan
condition_code_n = daytime_n.getElementsByTagName ('ikona') [0]
uvjet_koda = samo.getText (uvjet_kod_n.childNodes)
condition_n = daytime_n.getElementsByTagName ('t') [0]
uvjet = self.getText (uvjet_n.childNodes)
precip_n = daytime_n.getElementsByTagName ('ppcp') [0]
precip = self.getText (precip_n.childNodes)
vlažnost_n = dnevno_n.getElementsByTagName ('hmid') [0]
vlaga = self.getText (vlažnost_n.dijetl čvorovi)
wind_n = daytime_n.getElementsByTagName ('vjetar') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
brzina vjetra = self.getText (brzina_vjeta_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
smjer vjetra = samo.getText (smjer_puta_n.childNodes)
wind_gusts_n = wind_n.getElementsByTagName ('nalet') [0]
udari vjetra = self.getText (udari_vjetra_n.childNodes)
day_forecast_data = Vremenski podaci (day_week, low_temp, high_temp, condition_code, condition, precip, Vlažnost, Smjer vjetra, Brzina vjetra, Udari vjetra, grad, izlazak sunca, zalazak sunca, moon_phase, moon_icon, bar_read, bar_desc)
self.day_forecast.append (day_forecast_data)

# specifični podaci za noćnu prognozu
daytime_n = day.getElementsByTagName ('part') [1] # noć
condition_code_n = daytime_n.getElementsByTagName ('ikona') [0]
uvjet_koda = samo.getText (uvjet_kod_n.childNodes)
condition_n = daytime_n.getElementsByTagName ('t') [0]
uvjet = self.getText (uvjet_n.childNodes)
precip_n = daytime_n.getElementsByTagName ('ppcp') [0]
precip = self.getText (precip_n.childNodes)
vlažnost_n = dnevno_n.getElementsByTagName ('hmid') [0]
vlaga = self.getText (vlažnost_n.dijetl čvorovi)
wind_n = daytime_n.getElementsByTagName ('vjetar') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
brzina vjetra = self.getText (brzina_vjeta_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
smjer vjetra = samo.getText (smjer_puta_n.childNodes)
wind_gusts_n = wind_n.getElementsByTagName ('nalet') [0]
udari vjetra = self.getText (udari_vjetra_n.childNodes)
noćni_prognozi_podataka = Vremenski podaci (dan_tjedna, niska_temp, visoka_temp, uvjet_kod, stanje, precipitat, vlaga, smjer vjetra, brzina vjetra, udari vjetra, grad, izlazak sunca, zalazak sunca, mjesečeva faza, mjesec_ikona, bar_read, bar_desc)
self.night_forecast.append (night_forecast_data)

# kiseli podatke za sljedeći put!
fileoutput = otvoren (file_path_current, 'w')
pickle.dump (self.current_conditions, fileoutput)
fileoutput.close ()

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

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

osim:
ispis "fetchData: Neočekivana pogreška:", sys.exc_info () [0]
print "Nije moguće ispitati vremenske podatke"

else: # dohvaćanje vremenskih podataka iz ukiseljenih datoteka razreda
ako self.options.verbose == True:
ispis >> sys.stdout, «dohvaćanje vremenskih podataka iz datoteke:«, file_path_current

fileinput = otvoren (file_path_current, 'r')
self.current_conditions = pickle.load (unos datoteke)
fileinput.close ()

ako self.options.verbose == True:
ispis >> sys.stdout, "dohvaćanje podataka o dnevnoj prognozi iz datoteka:", file_path_dayforecast, file_path_nightforecast

fileinput = otvoren (file_path_dayforecast, 'r')
self.day_forecast = pickle.load (unos datoteke)
fileinput.close ()

ako self.options.verbose == True:
ispis >> sys.stdout, «dohvaćanje podataka o predviđanju dana iz datoteka:«, datoteka_put_noćne prognoze, datoteka_puta_noćna prognoza

fileinput = otvoren (file_path_nightforecast, 'r')
self.night_forecast = pickle.load (unos datoteke)
fileinput.close ()

def outputData (self):
#probati:

if self.options.template! = Ništa:

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

drugo:

output = self.getOutputText (self.options.datatype, self.options.startday, self.options.endday, self.options.night, self.options.shortweekday, self.options.imperial, self.options.hideunits, self. opcije.prostori)

ispis izlaza.encode ("utf-8")

#osim:
#print «outputData: Neočekivana pogreška:«, sys.exc_info () [0]

ako je __name__ == "__glavno__":

parser = CommandLineParser ()
(opcije, argumenti) = parser.parse_args ()

ako options.verbose == True:
ispis >> sys.stdout, "location:", options.location
ispis >> sys.stdout, "imperial:", options.imperial
ispis >> sys.stdout, "tip podataka:", options.datatype
ispis >> sys.stdout, "night:", options.night
ispis >> sys.stdout, "start day:", options.startday
ispis >> sys.stdout, "end day:", options.endday
ispis >> sys.stdout, "razmaci:", options.spaces
ispis >> sys.stdout, "opširno:", options.verbose
ispis >> sys.stdout, "refetch:", options.refetch

# stvoriti novi globalni vremenski objekt
vrijeme = GlobalWeather (opcije)
weather.fetchData ()
weather.outputData ()

Izrađujemo datoteku ~ / Conky / scripts / myweather.template

gedit ~ / Conky / scripts / myweather.template

unutra zalijepimo sljedeće:

{–Datatype = DW –startday = 1}: {–datatype = CC –startday = 1}
{–Datatype = HT –startday = 1} / {–datatype = LT –startday = 1} Vjetar iz {–datatype = WD –startday = 1} u {–datatype = WS –startday = 1}
Vlažnost: {–datatype = HM –startday = 1} Oborine: {–datatype = PC –startday = 1}
Izlazak sunca: {–datatype = SR –startday = 1} Zalazak sunca: {–datatype = SS –startday = 1}
----------------
{–Datatype = DW –startday = 2}: {–datatype = CC –startday = 2}
{–Datatype = HT –startday = 2} / {–datatype = LT –startday = 2} Vjetar iz {–datatype = WD –startday = 2} u {–datatype = WS –startday = 2}
Vlažnost: {–datatype = HM –startday = 2} Oborine: {–datatype = PC –startday = 2}
Izlazak sunca: {–datatype = SR –startday = 2} Zalazak sunca: {–datatype = SS –startday = 2}
----------------
{–Datatype = DW –startday = 3}: {–datatype = CC –startday = 3}
{–Datatype = HT –startday = 3} / {–datatype = LT –startday = 3} Vjetar iz {–datatype = WD –startday = 3} u {–datatype = WS –startday = 3}
Vlažnost: {–datatype = HM –startday = 3} Oborine: {–datatype = PC –startday = 3}
Izlazak sunca: {–datatype = SR –startday = 3} Zalazak sunca: {–datatype = SS –startday = 3}
----------------
{–Datatype = DW –startday = 4}: {–datatype = CC –startday = 4}
{–Datatype = HT –startday = 4} / {–datatype = LT –startday = 4} Vjetar iz {–datatype = WD –startday = 4} u {–datatype = WS –startday = 4}
Vlažnost: {–datatype = HM –startday = 4} Oborine: {–datatype = PC –startday = 4}
Izlazak sunca: {–datatype = SR –startday = 4} Zalazak sunca: {–datatype = SS –startday = 4}

Stvaramo datoteku ~ / Conky / scripts / mail / conkyEmail.py (moramo stvoriti mapu pošte)

gedit ~ / Conky / skripte / pošta / conkyEmail.py

i zalijepite sljedeće:

uvezi te
uvozni niz

# Unesite svoje korisničko ime i lozinku ispod dvostrukih navodnika
# npr. korisničko ime = »korisničko ime» i lozinka = »lozinka»
korisničko ime = »VAŠI_USUARIO_SINARROBA«
lozinka = »VAŠ_KLJUČ«

com = »wget -O - https: //» + korisničko ime + »:» + lozinka + »@ mail.google.com / mail / feed / atom –no-check-certificate»

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

ako je fc == 0:
ispis "0 novih"
drugo:
ispis str (fc) + »novo»

Dakle, sada imate 7 datoteka:

U mapi: ~
-> .startconky << - napraviti izvršnu datoteku

U mapi: ~ / Conky
-> conkymain
-> conkyforecast
-> conkymail

a u mapi: ~ / Conky / skripte
-> conkyForecast.py << - napraviti izvršnu datoteku
-> myweather.template

a u mapi: ~ / Conky / scripts / mail
conkyEmail.py << - napraviti izvršnu datoteku

I to je to, pojašnjenja, tamo gdje stoji / dom / korisnik / ... ide vaše korisničko ime, a u dijelu gdje idu podaci s Gmaila istaknuo sam bojama gdje morate staviti svoje podatke.

da ubijete konkični proces napišite na konzolu

ubiti klinca

za pokretanje conky pisanja na konzolu

./.startconky

nakon što sve prilagodite, ako želite da conky započne svaku sesiju

Sustav -> Postavke -> Sjednice i u programima za pokretanje dodajemo ga

U Name možemo napisati Conky, a u Order ./.startconky započet će svaki put kad uključite računalo.

To je to, nadam se da će vam pomoći.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.