Conky, Ang pag-set up ko

Tinanong ako ng Fecfactor kahapon na mai-publish ang pagsasaayos ng conky na ipinakita ko sa screenshot sa ibaba

Tulad ng nakikita mo mayroong 3 conkys, na kung saan ay naisakatuparan sa pamamagitan ng isang script, ang pagsasaayos nito ay batay sa ang post na ito nai-post ng gumagamit Bruce M. sa mga forum ng Ang Ubuntu-Ar na may ilang mga pagbabago sa mailap na mail, na sa aking kaso ay para sa Gmail.

Sa post ng sanggunian napakahusay na ipinaliwanag ni Bruce, ngunit bilang isang tulong sa memorya para sa akin, kokopyahin ko ang mga hakbang na susundan at ang code ng aking mga conkys para sa kung sino man ang mayroon nito.

Kaya, syempre kailangan nating magkaroon ng naka-install na conky, curl at python upang mag-type kami sa isang console:

sudo apt-get install conky curl python

Ang pinagmulan ng panahon.ttf at arrow.ttf Nandito. Ang pinagmulan ng buwan.ttf Nandito sa sandaling na-download kailangan mong kopyahin ang mga ito sa / usr / share / font

Lumikha tayo ngayon ng ating script na tinatawag na ~. / Startconky

gksudo gedit ~ / .startconky

sa loob ng walang laman na file ay inilalagay namin ang sumusunod

#! / bin / bash
tulog 0 & # 0 mabuti para sa Xfce - gumamit ng 20 hanggang 30 para sa Gnome
conky -c ~ / Conky / conkymain &
#sulog 0 & # 0 mabuti para sa Xfce - gamitin ang 1 para sa Gnome
conky -c ~ / Conky / conkyforecast at
#sulog 0 & # 0 mabuti para sa Xfce - gamitin ang 1 para sa Gnome
conky -c ~ / Conky / conkymail at

Nilikha namin ang conkymain file sa ~ / Conky folder, kung hindi man mayroon kaming Conky folder, kakailanganin namin itong likhain.

gedit ~ / Conky / conkymain

Ginagamit ko ang Calibri font, kung wala ka nito, palitan ito ng kahit anong gusto mo.

Dumidikit kami sa loob ng sumusunod

background no
sariling_window oo
sariling_window_transparent oo
sariling_window_hints undecorated, sa ibaba, malagkit, skip_taskbar, skip_pager
sariling_window_colour itim
doble_buffer oo
natira ang use_spacer
use_xft oo
font calibri: laki = 9
xftfont calibri: laki = 9
xftalpha 0.5
update_interval 5.0
uppercase no # itakda sa oo kung nais mong ang lahat ng teksto ay nasa uppercase
stippled_border 3
border_margin 9
hangganan_lapad 10
default_color puti
default_outline_color itim
default_shade_color itim
kulay0 cyan
kulay 1 mapusyaw na asul
kulay2 kahel
kulay3 dilaw
kulay4 trigo
kulay5 puti
kulay6 puti
kulay7 puti
kulay8 puti
kulay9 puti
pagkakahanay sa tuktok ng kanan # o sa tuktok ng kaliwa, sa ibaba ng kaliwa, sa ilalim ng kanan
gap_x 10
gap_y 35
text_buffer_size 128 # use 1024 para sa pagtataya
no_buffers oo # Ibawas ang mga buffer ng file system mula sa ginamit na memorya?
draw_border blg
draw_outline oo # nagpapalakas ng teksto kung oo
draw_shades oo # shadecolor itim

TEXT
$ {font calibri: size = 12} $ {alignc} $ {color1} $ sysname $ kernel sa $ machine} $ color $ font
$ {font calibri: size = 12} $ {alignc} $ {color2} $ {exec whoami} @ $ nodename $ color $ font
$ {color0} $ {hr 1} $ kulay
$ {font calibri: size = 20} $ {alignc} $ {time% H:% M} $ font
$ {font calibri: size = 12} $ {color1} $ {alignc} $ {time% A,% d% b. % Y} $ color $ font
$ {color3} UpTime: $ {alignr 2} $ uptime na $ color
$ {color0} $ {hr 1} $ kulay
$ {voffset 5} $ {color2} CPU: $ {alignc} $ color $ running_processes $ {color1} / $ color $ proseso $ {alignr 2} $ {color2} $ {cpubar cpu0 14,80} $ kulay
$ {color1} $ {voffset -16} $ {alignr 5} $ cpu% $ color
$ {voffset 2} $ {color1} Load Avg ($ {color3} Min $ {color1}): $ {alignr 2} $ {color3} 1: $ color $ {loadavg 1} $ {color3} 5: $ color $ {loadavg 2} $ {color3} 15: $ kulay $ {loadavg 3}
$ {voffset 5} $ {color2} RAM: $ color $ mem $ {color2} / $ color $ memmax $ {alignr 2} $ {color2} $ {membar 14,80} $ kulay
$ {color1} $ {voffset -16} $ {alignr 5} $ memperc% $ color
$ {voffset 2} $ {color1} Buffered: $ color $ {buffers} $ {alignr 2} $ {color1} Naka-cache: $ color $ {naka-cache}
$ {voffset 5} $ {color2} SWAP: $ color $ swap $ {color2} / $ color $ {swapmax} $ {alignr 2} $ {color2} $ {swapbar 14,80} $ kulay
$ {color1} $ {voffset -16} $ {alignr 5} $ swapperc%
$ {color0} $ {hr 1} $ kulay
$ {voffset 5} $ {color2} Impormasyon sa HD $ {color1} - $ kulay Libreng $ {color1} - Ginamit - $ {color2} Kabuuan
$ {voffset 5} $ {color1} Root: $ color $ {fs_free_perc /}% $ {alignr 2} $ {fs_free /} $ {color2} / $ {color1} $ {fs_used /} $ color / $ {color2} Kulay na $ {fs_size /} $
$ {color1} Home: $ color $ {fs_free_perc / home / user}% $ {alignr 2} $ {fs_free / home / user} $ {color2} / $ {color1} $ {fs_used / home / user} $ color / $ {color2} $ {fs_size / home / user} $ kulay
$ {color0} $ {hr 1} $ kulay
$ {color1} Mula sa: $ kulay Buenos Aires, Argentina
$ {color1} Lat: $ {color2} 34 ° 35'S $ {color1} Long: $ {color2} 58 ° 21'W $ {color1} Alt: $ {color2} 25 m $ color
$ {voffset 5} $ {color2} $ {font calibri: size = 12} ngayon: $ font $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = CC} $ kulay $ {alignr 2} $ {color1} ST: $ {color2} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = LT}
$ {color3} $ {font Weather: size = 50} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = WF} Kulay ng $ font $
$ {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 Mga arrow: size = 20} $ {color4} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = BF} $ color $ font
$ {alignc 10} $ {voffset 5} $ {color4} Hangin: $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = WS} Kulay na $
$ {color1} Humidity: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = HM} $ {alignr 2} $ {color1} Precipitation: $ {color3} $ { execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = PC} $ kulay
$ {alignc} $ {color1} Presyon: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = BR} - $ {color3} $ {execi 3600 python ~ / Conky /scripts/conkyForecast.py –location = ARBA0009 –datatype = BD} $ kulay
$ {color4} $ {hr} $ kulay
$ {color1} Sunrise: $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SR} $ {alignr 2} $ {color1} Sunset: $ {color3} $ { execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = SS} $ kulay
$ {voffset 15} $ {color1} Buwan: $ {color4} $ {alignr 2} $ {color3} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = MP} Kulay ng $
$ {voffset -20} $ {offset 80} $ {color4} $ {font moon phases: size = 20} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –datatype = MF} $ font $ kulay
$ {color0} $ {hr} $ kulay
$ {voffset 5} $ {color2} IP: $ {alignc} $ color $ {addr eth0}
$ {color1} Pababa: $ color $ {downspeed eth0} k / s $ {alignr 2} $ {color1} Pataas: $ color $ {upspeed eth0} k / s
$ {color1} Kabuuan: $ kulay $ {totaldown eth0} $ {alignr 2} $ {color1} Kabuuan: $ kulay $ {totalup eth0}
$ {color1} Inbound: $ color $ {tcp_portmon 1 32767 count} $ {color1} Outbound: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ {color1} Total: $ color $ {tcp_portmon 1 65535 count}
$ {voffset 5} $ {color2} Mga Koneksyon: $ kulay $ {tcp_portmon 32768 61000 bilang} $ {alignr 2} $ {color2} Kulay ng Serbisyo / Port $
$ {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 rservice 1}
$ {tcp_portmon 32768 61000 rhost 2} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 2}
$ {tcp_portmon 32768 61000 rhost 3} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 3}
$ {tcp_portmon 32768 61000 rhost 4} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 4}
$ {tcp_portmon 32768 61000 rhost 5} $ {alignr 2} $ {tcp_portmon 32768 61000 rservice 5} $ kulay

nilikha namin ang file ~ / Conky / conkyforecast

gedit ~ / Conky / conkyforecast

at i-paste namin ang sumusunod sa loob

background no
sariling_window oo
sariling_window_transparent oo
sariling_window_hints undecorated, sa ibaba, malagkit, skip_taskbar, skip_pager
sariling_window_colour itim
doble_buffer oo
natira ang use_spacer
use_xft oo
font calibri: laki = 8
xftfont calibri: laki = 8
xftalpha 0.5
update_interval 5.0
uppercase no # itakda sa oo kung nais mong ang lahat ng teksto ay nasa uppercase
stippled_border 3
border_margin 9
hangganan_lapad 10
default_color puti
default_outline_color itim
default_shade_color itim
kulay0 cyan
kulay 1 mapusyaw na asul
kulay2 kahel
kulay3 dilaw
kulay4 trigo
kulay5 puti
kulay6 puti
kulay7 puti
kulay8 puti
kulay9 puti
pagkakahanay sa ibaba_kaliwang # o sa tuktok ng kaliwa, sa ilalim ng kaliwa, sa ilalim ng kanan
gap_x 10
gap_y 35
text_buffer_size 1024 # use 1024 para sa pagtataya
no_buffers oo # Ibawas ang mga buffer ng file system mula sa ginamit na memorya?
draw_border blg
draw_outline oo # nagpapalakas ng teksto kung oo
draw_shades oo # shadecolor itim

TEXT
$ {color4} $ {font calibri: size = 11} Pinalawak na Pagtataya ng $ font $ color
$ {color0} $ {hr} $ kulay
$ {color4} $ {font calibri: size = 9} $ {execi 3600 python ~ / Conky / scripts / conkyForecast.py –location = ARBA0009 –template = / home / user / Conky / script / myweather.template} $ font $ kulay

nililikha namin ang file ~ / Conky / conkymail

gedit ~ / Conky / conkymail

i-paste namin ang sumusunod sa file

background no
sariling_window oo
sariling_window_transparent oo
sariling_window_hints undecorated, sa ibaba, malagkit, skip_taskbar, skip_pager
sariling_window_colour itim
doble_buffer oo
natira ang use_spacer
use_xft oo
font calibri: laki = 8
xftfont calibri: laki = 8
xftalpha 0.5
update_interval 5.0
uppercase no # itakda sa oo kung nais mong ang lahat ng teksto ay nasa uppercase
stippled_border 3
border_margin 9
hangganan_lapad 10
default_color puti
default_outline_color itim
default_shade_color itim
kulay0 cyan
kulay 1 mapusyaw na asul
kulay2 kahel
kulay3 dilaw
kulay4 trigo
kulay5 puti
kulay6 puti
kulay7 puti
kulay8 puti
kulay9 puti
pagkakahanay sa ibaba_kaliwang # o sa tuktok ng kaliwa, sa ilalim ng kaliwa, sa ilalim ng kanan
gap_x 565
gap_y 35
text_buffer_size 128 # use 1024 para sa pagtataya
no_buffers oo # Ibawas ang mga buffer ng file system mula sa ginamit na memorya?
draw_border blg
draw_outline oo # nagpapalakas ng teksto kung oo
draw_shades oo # shadecolor itim

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

Lumilikha kami ng isang file sa ~ / Conky / script / conkyForecast.py (dapat nating likhain ang folder ng mga script)

gedit ~ / Conky / script / conkyForecast.py

#! / usr / bin / python
# - * - coding: utf-8 - * -
###Oooooooooooooooo ####
Ang # conkyForecast.py ay isang (hindi ganon) simple (ngayon) script ng sawa na tipunin
# mga detalye ng kasalukuyang panahon para magamit sa conky.
#
# May-akda: Kaivalagi
# Nilikha: 13/04/2008
# Pagbabago:
# 14/04/2008 Payagan ang mga saklaw ng araw para sa data ng forecast
# 14/04/2008 Suriin ang pagkakakonekta sa serbisyo ng xoap
# 18/04/2008 Payagan ang setting ng mga puwang para sa saklaw na output
# 18/04/2008 Payagan ang kinalabasan ng Night at Day na output
# 18/04/2008 Suportahan ang lokal para sa kondisyon ng teksto ng code ng kundisyon na «CC», naghihintay sa pagsasalin ng wikang espanyol
# 18/04/2008 Gumamit ng pag-atsara para sa data ng klase sa halip na magbukas ng xml, nilalampasan nito ang pangangailangan na magtanong sa cache ng data
# 19/04/2008 Nagdagdag ng teksto sa kundisyon ng kastila - Salamat Bruce M
# 19/04/2008 Nagdagdag ng isnumeric na tseke sa lahat ng output na bilang na may mga panlapi ng mga unit
# 19/04/2008 Binago ang pagpapangalan ng pickle file upang isama ang code ng lokasyon
# 19/04/2008 Nagdagdag ng espanyol na linggong araw na conversion sa pamamagitan ng lokal
# 20/04/2008 Nagdagdag ng disenteng utos na parser ng utos
# 20/04/2008 Idinagdag –shortweekday na pagpipilian, kung bibigyan ang araw ng linggong uri ng data ay pinaikling sa 3 mga character
# 21/04/2008 Naayos ang mga pagpipilian sa lokal para sa output ng forecast
# 21/04/2008 Idinagdag –pagpipilitan ang pagpipilian upang payagan ang pasadyang output gamit ang isang solong tawag sa exec 🙂
# 21/04/2008 Idinagdag ang –hideunits na pagpipilian upang alisin, halimbawa, mph at C mula sa output
# 23/04/2008 Inalis ang –imperial na pagpipilian mula sa template, DAPAT itakda bilang isang pamantayang pagpipilian sa script call at hindi ginagamit sa template file.
# 23/04/2008 Readded –imperial na pagpipilian upang mag-template, pagpapagana ng mga halaga ng sukatan o imperyal bawat datatype. Tandaan kapag hindi gagana ang pagpipiliang linya ng utos ng mga template.
# 23/04/2008 Nagdagdag ng output na nag-aabiso sa gumagamit kung ang lokasyong ibinigay ay hindi maganda
# 24/04/2008 Idinagdag ang paghawak para sa walang pagkakakonekta, ibabalik sa naka-cache na data ngayon (error kung walang cache). Mga pagsubok sa pamamagitan ng pagsubok na buksan ang xoap.weather.com
# 24/04/2008 Naayos ang Celsius sa fahrenheit na conversion
# 06/05/2008 Nai-update na url na ginamit matapos ang pag-update sa webservice
# 09/05/2008 Pinagsama kasalukuyang kalagayan at tinatayang pagkuha ng data sa isang tawag
# 09/05/2008 Idinagdag Sunrise at paglubog ng araw sa mga datatypes, tukoy ito sa parehong kasalukuyang mga kundisyon at data ng pagtataya
# 09/05/2008 Nagdagdag ng yugto ng buwan, pagbabasa ng barometer at paglalarawan ng barometer sa mga datatypes, tukoy lamang ito sa mga kasalukuyang kondisyon at ganoon din ang N / A sa tinatayang output
# 09/05/2008 Nagdagdag ng mga conversion ng yunit para sa barometer mula mb hanggang pulgada (imperyal)
# 09/05/2008 Nai-update na teksto sa kundisyon ng kastila - Salamat Bruce M
# 10/05/2008 Nagdagdag ng data ng lokal na pransya - Salamat sa benpaka
# 12/05/2008 Nagdagdag ng bagong BF (tindig na font) datatype upang magbigay ng isang arrow character (gamitin sa Arrow.ttf font) sa halip na output ng NSEW mula sa WD (direksyon ng hangin)
# 12/05/2008 Nai-update na output ng WD upang maging tiyak sa lokal, kasalukuyang sumusuporta sa default na ingles at espanyol - Salamat Bruce M
# 18/05/2008 Nagdagdag ng bagong MF (moon font) datatype upang magbigay ng isang character na font ng buwan (mga character na hindi tama at wala pang nakatuong font).
# 21/05/2008 Para sa kasalukuyang mga kundisyon ang –datatype = LT na pagpipilian ay ipinapakita ngayon «nararamdaman» ang temperatura kaysa sa kasalukuyang temperatura
#
# LAHAT NG LAHAT:
# Pagsamahin ang mga file ng pkl sa isang file / klase
# Magdagdag ng isang font ng panahon batay sa output ng phase ng buwan batay sa data ng icon ng buwan
# ??? Mayroon pa bang mga kinakailangan sa labas?

import sys, os, socket, urllib2, datime, oras
mula sa xml.dom import minidom
mula sa stat import *
mula sa optparse import OptionParser
mag-import ng lokal
mag-import ng gettext
mag-import ng atsara
mula sa pag-import ng matematika *

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

klase CommandLineParser:

parser = Wala

def __init __ (sarili):

self.parser = OptionParser ()
self.parser.add_option («- l», »- lokasyon», dest = »lokasyon», default = »UKXX0103 ″, type =» string », metavar =» CODE », help = u» code ng lokasyon para sa data ng panahon [ default:% default], Gamitin ang sumusunod na url upang matukoy ang iyong code ng lokasyon sa pamamagitan ng pangalan ng lungsod: http://xoap.weather.com/search/search? saan=Norwich »)
self.parser.add_option ("- d", "- datatype", dest = "datatype", default = "HT", type = "string", metavar = "DATATYPE", help = u "[default:% default] Ang mga pagpipilian sa uri ng data ay: DW (Araw Ng Linggo), WF (Output ng Font ng Panahon), LT (Pagtataya: Mababang Temp, Kasalukuyang: Feeling Tulad ng Temp), HT (Pagtataya: Mataas na Temp, Kasalukuyang: Kasalukuyang Temp), CC (Kasalukuyang Mga Kundisyon), CT (Text ng Mga Kundisyon), PC (Precipitation Chance), HM (Humidity), WD (Wind Direction), WS (Bilis ng Hangin), WG (Wind Gusts), CN (City Name), SR (pagsikat ng araw), SS (paglubog ng araw), MP (phase ng buwan), MF (font ng buwan), BR (pagbabasa ng barometro), BD (paglalarawan ng barometro). Hindi naaangkop sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option («- s», »- startday», dest = »startday», type = »int», metavar = »NUMBER», help = u »tukuyin ang bilang ng panimulang araw, kung ang tinanggal na kasalukuyang mga kundisyon ay output . Hindi nalalapat sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option ("- e", "- endday", dest = "endday", type = "int", metavar = "NUMBER", help = u "tukuyin ang numero ng pagtatapos ng araw, kung tinanggal lamang ang pagsisimula ng data ng araw ay output. Hindi nalalapat sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option («- S», »- puwang», dest = »puwang», type = »int», default = 1, metavar = »BILANG», help = u »[default:% default] Tinutukoy ang bilang ng mga puwang sa pagitan ng saklaw na output. Hindi nalalapat sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option («- t», »- template», dest = »template», type = »string», metavar = »FILE», help = u »tumutukoy sa isang template file upang makabuo ng output sa isang tawag. A maipapakita ang item sa file ay nasa form na {–datatype = HT –startday = 1}. Ang mga sumusunod ay posibleng pagpipilian sa loob ng bawat item: –datatype, –startday, –endday, –night, –shortweekday, –imperial, –hideunits, –Spaces. Tandaan na ang mga maikling form ng mga pagpipilian ay hindi kasalukuyang sinusuportahan! Wala sa mga pagpipiliang ito ang naaangkop sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option («- L», »- lokal», dest = »lokal», type = »string», help = u »i-override ang lokal na system para sa output ng wika (en = ingles, es = espanyol, fr = pranses, higit na darating) »)
self.parser.add_option ("- i", "- imperial", dest = "imperial", default = Mali, action = "store_true", help = u "humiling ng mga imperial unit, kung ang tinanggal na output ay nasa sukatan. Hindi nalalapat sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option («- n», »- gabi», dest = »gabi», default = Mali, aksyon = »store_true», tulong = u »ilipat ang output sa data ng gabi, kung ang tinanggal na output sa araw ay magiging output. Hindi nalalapat sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option («- w», »- shortweekday», dest = »shortweekday», default = Mali, aksyon = »store_true», help = u »Paikliin ang uri ng data ng araw ng linggo sa 3 character. Hindi nalalapat sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option («- u», »- hideunits», dest = »hideunits», default = Mali, aksyon = »store_true», help = u »Itago ang mga unit tulad ng mph o C, mga simbolo ng degree (°) ay ipinakita pa rin. Hindi nalalapat sa linya ng utos kapag gumagamit ng mga template. »)
self.parser.add_option ("- v", "- verbose", dest = "verbose", default = Mali, aksyon = "store_true", help = u "humiling ng output ng verbose, walang magandang ideya kapag tumatakbo sa pamamagitan ng conky!" )
self.parser.add_option ("- r", "- refetch", dest = "refetch", default = Mali, aksyon = "store_true", help = u "kumuha ng data anuman ang pag-expire ng data")

def parse_args (sarili):
(options, args) = self.parser.parse_args ()
bumalik (mga pagpipilian, args)

def print_help (sarili):
ibalik ang sarili.parser.print_help ()

klase WeatherData:
def __init __ (sarili, day_of_week, mababa, mataas, kondisyon_code, kondisyon_text, bangin, kahalumigmigan, wind_dir, wind_speed, wind_gusts, lungsod, pagsikat ng araw, paglubog ng araw, moon_phase, moon_icon, bar_read, bar_desc):
self.day_of_week = u »» + day_of_week
self.low = u »» + mababa
sarili.taas = u »» + mataas
self.condition_code = u »» + kondisyon_code
self.condition_text = u »» + kondisyon_text
self.precip = u »» + bangin
sarili.humidity = u »» + kahalumigmigan
self.wind_dir = u »» + wind_dir
self.wind_speed = u »» + wind_speed
self.wind_gust = u »» + wind_gust
self.city = u »» + lungsod
sarili.sunrise = u »» + pagsikat ng araw
sarili.sunset = u »» + paglubog ng araw
self.moon_phase = u »» + moon_phase
self.moon_icon = u »» + moon_icon
self.bar_read = u »» + bar_read
self.bar_desc = u »» + bar_desc

klase WeatherText:

kondisyon_text = {
«0»: _ (u »Buhawi»),
«1»: _ (u »Tropical Storm»),
«2»: _ (u »Hurricane»),
«3»: _ (u »Malubhang Mga Bagyo»),
«4»: _ (u »Mga bagyo»),
«5»: _ (u »Mixed Rain and Snow»),
«6»: _ (u »Mixed Rain and Sleet»),
«7»: _ (u »Mixed Precipitation»),
«8»: _ (u »Nagyeyelong Drizzle»),
«9»: _ (u »Drizzle»),
«10»: _ (u »Nagyeyelong Ulan»),
«11»: _ (u »Mga Pag-ulan»),
«12»: _ (u »Mga Pag-ulan»),
«13»: _ (u »Snow Flurries»),
«14»: _ (u »Light Snow Showers»),
«15»: _ (u »Pagbuga ng Niyebe»),
«16»: _ (u »Snow»),
«17»: _ (u »Pagbati»),
«18»: _ (u »Sleet»),
«19»: _ (u »Alikabok»),
«20»: _ (u »Fog»),
«21»: _ (u »Haze»),
«22»: _ (u »Usok»),
«23»: _ (u »Blustery»),
«24»: _ (u »Mahangin»),
«25»: _ (u »Cold»),
«26»: _ (u »Maulap»),
«27»: _ (u »Mostly Cloudy»),
«28»: _ (u »Mostly Cloudy»),
«29»: _ (u »Bahagyang Maulap»),
«30»: _ (u »Bahagyang Maulap»),
«31»: _ (u »I-clear»),
«32»: _ (u »I-clear»),
«33»: _ (u »Makatarungang»),
«34»: _ (u »Makatarungang»),
«35»: _ (u »Mixed Rain and Hail»),
«36»: _ (u »Mainit»),
«37»: _ (u »Isolated Thunderstorms»),
«38»: _ (u »Nagkalat na Mga Bagyo»),
«39»: _ (u »Nagkalat na Mga Bagyo»),
«40»: _ (u »Nagkalat na Mga Pag-ulan»),
«41»: _ (u »Malakas na Niyebe»),
«42»: _ (u »Nagkalat na Mga Pag-ulan ng Niyebe»),
«43»: _ (u »Malakas na Niyebe»),
«44»: _ (u »Bahagyang Maulap»),
«45»: _ (u »Thunder Showers»),
«46»: _ (u »Mga Pag-ulan ng Niyebe»),
«47»: _ (u »Isolated Thunderstorms»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

kondisyon_text_es = {
«0»: _ (u »Buhawi»),
«1»: _ (u »Tropical Storm»),
«2»: _ (u »Huracá¡n»),
«3»: _ (u »Malakas na Bagyo»),
«4»: _ (u »Mga Bagyo»),
«5»: _ (u »Mixed Rain and Snow»),
«6»: _ (u »Mixed Rain and Sleet»),
«7»: _ (u »Sleet»),
«8»: _ (u »Nagyeyelong Drizzle»),
«9»: _ (u »Drizzle»),
«10»: _ (u »Nagyeyelong Ulan»), # o nagyeyelong ulan
«11»: _ (u »Mga Pag-ulan»),
«12»: _ (u »Mga Pag-ulan»),
«13»: _ (u »Light Snow»),
«14»: _ (u »Light Snow»),
«15»: _ (u »Snow Blizzard»),
«16»: _ (u »Niyebe»),
«17»: _ (u »Pagbati»),
«18»: _ (u »Sleet»),
«19»: _ (u »Powder»),
«20»: _ (u »Fog»),
«21»: _ (u »Haze»),
«22»: _ (u »Usok»),
«23»: _ (u »Bagyo»),
«24»: _ (u »Mahangin»),
«25»: _ (u »Fráo»),
«26»: _ (u »Labis Maulap»),
«27»: _ (u »Mostly Cloudy»),
«28»: _ (u »Mostly Cloudy»),
«29»: _ (u »Bahagyang Maulap»),
«30»: _ (u »Bahagyang Maulap»),
«31»: _ (u »I-clear»),
«32»: _ (u »I-clear»),
«33»: _ (u »Something Cloudy»),
«34»: _ (u »Something Cloudy»),
«35»: _ (u »Ulan na may Pagbati»),
«36»: _ (u »Init»),
«37»: _ (u »Isolated Storms»),
«38»: _ (u »Nagkalat na Mga Bagyo»),
«39»: _ (u »Nagkalat na Mga Bagyo»),
«40»: _ (u »Nagkalat na Mga Pag-ulan»),
«41»: _ (u »Malakas na Niyebe»),
«42»: _ (u »Mahina at Nagkalat na mga Snowfalls»),
«43»: _ (u »Matinding Nevada»),
«44»: _ (u »Nagkalat na Mga Ulap»),
«45»: _ (u »Mga Bagyo»),
«46»: _ (u »Nagkalat ang mga Snowfalls»),
«47»: _ (u »Isolated Storms»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

kondisyon_text_fr = {
«0»: _ (u »Tornade»),
«1»: _ (u »Tempête Tropicale»),
«2»: _ (o »Ouragan»),
«3»: _ (o »Mga Bayolenteng Orages»),
«4»: _ (o »Orageux»),
«5»: _ (u »Pluie et Neige»),
«6»: _ (u »Pluie et Neige Mouillée»),
«7»: _ (u »Variable avec averses»),
«8»: _ (u »Tunay na Givrante»),
«9»: _ (u »Tunay»),
«10»: _ (u »Pluie Glacante»),
«11»: _ (u »Averses»),
«12»: _ (u »Averses»),
«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 »Nuage de poussière»),
«20»: _ (u »Brouillard»),
«21»: _ (u »Brume»),
«22»: _ (u »Fumée»),
«23»: _ (u »Tres Venteux»),
«24»: _ (u »Venteux»),
«25»: _ (u »Froid»),
«26»: _ (u »Nuageux»),
«27»: _ (u »Tres Nuageux»),
«28»: _ (u »Tres Nuageux»),
«29»: _ (u »Nuages ​​Disséminés»),
«30»: _ (u »Nuages ​​Disséminés»),
«31»: _ (u »Beau»),
«32»: _ (u »Beau»),
«33»: _ (u »Belles Éclaircies»),
«34»: _ (u »Belles Éclaircies»),
«35»: _ (u »Pluie avec Grêle»),
«36»: _ (u »Chaleur»),
«37»: _ (o »Orages Isolés»),
«38»: _ (o »Orages Localisés»),
«39»: _ (o »Orages Localisés»),
«40»: _ (u »Averses Localisées»),
«41»: _ (u »Neige Lourde»),
«42»: _ (u »Tempête de Neige Localisées»),
«43»: _ (u »Neige Lourde»),
«44»: _ (u »Nuages ​​Disséminés»),
«45»: _ (o »Mga Orages»),
«46»: _ (u »Tempête de Neige»),
«47»: _ (o »Orages Isolés»),
«Na»: _ (u »N / A»),
"-": _ (a ")
}

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

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

araw_ng_linggo = {
"Ngayon": _ (o "Ngayon"),
«Lunes»: _ (u »Lunes»),
«Martes»: _ (u »Martes»),
«Miyerkules»: _ (u »Miyerkules»),
«Huwebes»: _ (u »Huwebes»),
"Biyernes": _ (u "Biyernes"),
"Saturday": _ (u "Saturday"),
"Sunday": _ (u "Sunday")
}

day_of_week_short = {
"Ngayon": _ (u "Ngayon"),
«Lunes»: _ (u »Lun»),
«Martes»: _ (u »Tue»),
«Miyerkules»: _ (u »Wed»),
«Huwebes»: _ (u »Thu»),
«Biyernes»: _ (u »Fri»),
"Sabado": _ (u "Sat"),
"Linggo": _ (u "Sun")
}

araw_ng_linggo_es = {
"Ngayon": _ (u "ngayon"),
"Lunes": _ (u "Lunes"),
«Martes»: _ (o »Martes»),
«Miyerkules»: _ (u »Miyerkules»),
«Huwebes»: _ (u »Huwebes»),
«Biyernes»: _ (u »Biyernes»),
"Saturday": _ (u "Saturday"),
"Sunday": _ (u "Sunday")
}

day_of_week_short_en = {
"Ngayon": _ (u "ngayon"),
"Lunes": _ (u "mon"),
«Martes»: _ (u »dagat»),
«Miyerkules»: _ (u »wed»),
«Huwebes»: _ (u »Hu»),
«Biyernes»: _ (u »pray»),
"Saturday": _ (u "sat"),
"Linggo": _ (u "dom")
}

araw_ng_linggo_fr = {
«Ngayon»: _ (u »Aujourd'hui»),
«Lunes»: _ (u »Lundi»),
«Martes»: _ (u »Mardi»),
«Miyerkules»: _ (u »Mercredi»),
«Huwebes»: _ (u »Jeudi»),
«Biyernes»: _ (u »Vendredi»),
"Sabado": _ (u "Samedi"),
"Linggo": _ (u "Dimanche")
}

day_of_week_short_fr = {
«Ngayon»: _ (u »Auj»),
"Lunes": _ (u "Lun"),
«Martes»: _ (u »Mar»),
"Miyerkules": _ (u "Mer"),
«Huwebes»: _ (u »Jeu»),
«Biyernes»: _ (u »Halika»),
"Sabado": _ (u "Sam"),
"Linggo": _ (u "Dim")
}

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

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

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

klase GlobalWeather:

kasalukuyang_kondisyon = []
day_forecast = []
night_forecast = []

lokal = "sa"

mga pagpipilian = Wala
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"
EXPIRY_MINUTES = 30
DEFAULT_SPACING = u »«

def __init __ (sarili, mga pagpipilian):

self.options = mga pagpipilian

kung self.options.locale == Wala:
subukan:
# self.locale = locale.getdefaultlocale () [0] [0: 2]
self.locale = «es» #uncomment ang linyang ito upang pilitin ang lokal na Espanya
# self.locale = "fr" #uncomment ang linyang ito upang pilitin ang lokal na Pransya
maliban sa:
i-print ang "lokal na hindi nakatakda"
kung hindi:
# self.locale = self.options.locale
self.locale = «es» #uncomment ang linyang ito upang pilitin ang lokal na Espanya
# self.locale = "fr" #uncomment ang linyang ito upang pilitin ang lokal na Pransya

kung sa sarili.options.verbose == Totoo:
i-print >> sys.stdout, "lokal na itinakda sa", self.locale

def getText (sarili, nodelist):
rc = "»
para sa node sa nodelist:
kung node.nodeType == node.TEXT_NODE:
rc = rc + node.data
ibalik ang rc

def getSpaces (sarili, puwang):
string = u »»
kung puwang == Wala:
string = sarili.DEFAULT_SPACING
kung hindi:
para sa ako sa saklaw (0, mga puwang + 1):
string = string + u »«
ibalik ang string

def isNumeric (sarili, string):
subukan:
dummy = float (string)
ibalik ang Totoo
maliban sa:
ibalik ang Mali

def isConnectionA magagamit (sarili):
# tiyakin na ma-access natin ang server ng Weather.com sa pamamagitan ng pagbubukas ng url
subukan:
Usock = urllib2.urlopen ('http://xoap.weather.com')
Usock.close ()
ibalik ang Totoo
maliban sa:
ibalik ang Mali

def getBearingText (sarili, tindig):
tindig = float (tindig)
kung nagdadala <11.25:
bumalik ka »N»
tindig ng elif <33.75:
bumalik ka »NNE»
tindig ng elif <56.25:
bumalik ka »NE»
tindig ng elif <78.75:
bumalik ka »JAN»
tindig ng elif <101.25:
bumalik ka »E»
tindig ng elif <123.75:
bumalik ka »ESE»
tindig ng elif <146.25:
bumalik ka »SE»
tindig ng elif <168.75:
ibalik ka »SSE»
tindig ng elif <191.25:
bumalik ka »S»
tindig ng elif <213.75:
ibalik ka »SSW»
tindig ng elif <236.25:
bumalik ka »SW»
tindig ng elif <258.75:
bumalik ka »WSW»
tindig ng elif <281.25:
bumalik ka »W»
tindig ng elif <303.75:
bumalik ka »WNW»
tindig ng elif <326.25:
bumalik ka »NW»
tindig ng elif <348.75:
bumalik ka »NNW»
kung hindi:
ibalik «N / A»

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

def convertKilometresToMiles (sarili, dist):
ibalik ang str (int (sahig (float (dist) * 0.621371192)))

def convertMillibarsToInches (sarili, mb):
return str (int (sahig (float (mb) /33.8582)))

def getTemplateList (sarili, template):

templatelist = []

para sa template_part sa template.split («{«):
kung template_part! = «»:
para sa template_part sa template_part.split ("}"):
kung template_part! = «»:
templatelist.append (u »» + template_part)

ibalik ang templatelist

def getOutputText (sarili, datatype, startday, endday, gabi, shortweekday, imperial, hideunits, puwang):
#subukan:
output = u »»

# tukuyin ang kasalukuyang mga yunit para sa output
kung hideunits == Mali:
kung imperyal == Mali:
tempunit = u »° C»
speedunit = u »kph»
pressureunit = u »mb»
kung hindi:
tempunit = u »° F»
speedunit = u »mph»
pressureunit = u »in»
kung hindi:
tempunit = u »°»
speedunit = u »»
pressureunit = u »»

kung startday == Wala: # kasalukuyang mga kundisyon

kung datatype == "DW":
kung self.locale == "ay":
kung shortweekday == Totoo:
output = WeatherText.day_of_week_short_es [self.current_conditions [0] .day_of_week]
kung hindi:
output = WeatherText.day_of_week_es [self.current_conditions [0] .day_of_week]
elif self.locale == "fr":
kung shortweekday == Totoo:
output = WeatherText.day_of_week_short_fr [self.current_conditions [0] .day_of_week]
kung hindi:
output = WeatherText.day_of_week_fr [self.current_conditions [0] .day_of_week]
kung hindi:
kung shortweekday == Totoo:
output = WeatherText.day_of_week_short [self.current_conditions [0] .day_of_week]
kung hindi:
output = WeatherText.day_of_week [self.current_conditions [0] .day_of_week]
elif datatype == "WF": # lagay ng panahon
output = WeatherText.conditions_weather_font [self.current_conditions [0] .condition_code]
elif datatype == "LT":
string = self.current_conditions [0]. mahinang
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertCelsiusToFahrenheit (string)
string = string + tempunit
output = string
elif datatype == "HT":
string = self.current_conditions [0]. mataas
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertCelsiusToFahrenheit (string)
string = string + tempunit
output = string
elif datatype == "CC":
kung self.locale == "ay":
output = WeatherText.conditions_text_es [self.current_conditions [0] .condition_code]
elif self.locale == "fr":
output = WeatherText.conditions_text_fr [self.current_conditions [0] .condition_code]
kung hindi:
output = WeatherText.conditions_text [self.current_conditions [0] .condition_code]
elif datatype == "CT":
output = self.current_conditions [0] .condition_text
elif datatype == "PC":
string = self.current_conditions [0] .precip
kung self.isNumeric (string) == Totoo:
string = string + u »%»
output = string
elif datatype == "HM":
string = self.current_conditions [0] .humidity
kung self.isNumeric (string) == Totoo:
string = string + u »%»
output = string
elif datatype == "WD":
string = self.current_conditions [0] .wind_dir
kung self.isNumeric (string) == Totoo:
string = self.getBearingText (string)

kung self.locale == "ay":
output = WeatherText.bearing_text_es [string]
elif self.locale == "fr":
output = WeatherText.bearing_text_fr [string]
kung hindi:
output = string

elif datatype == "BF":
string = self.current_conditions [0] .wind_dir
kung self.isNumeric (string) == Totoo:
string = WeatherText.bearing_arrow_font [self.getBearingText (string)]
output = string
elif datatype == "WS":
string = self.current_conditions [0] .wind_speed
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertKilometresToMiles (string)
string = string + speedunit
output = string
elif datatype == "WG":
string = self.current_conditions [0] .wind_gust
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertKilometresToMiles (string)
string = string + speedunit
output = string
elif datatype == "CN":
output = self.current_conditions [0] .city
elif datatype == "SR":
output = self.current_conditions [0] .sunrise
elif datatype == "SS":
output = self.current_conditions [0] .sunset
elif datatype == "MP":
output = self.current_conditions [0] .moon_phase
elif datatype == "MF":
output = WeatherText.conditions_moon_font [self.current_conditions [0] .moon_icon]
elif datatype == "BR":
string = self.current_conditions [0] .bar_read
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertMillibarsToInches (string)
string = string + pressure unit
output = string
elif datatype == "BD":
output = self.current_conditions [0] .bar_desc
kung hindi:
output = "\ nERROR: Hiniling ang hindi kilalang uri ng data"

iba pa: # data ng pagtataya

kung endday == Wala: # kung walang endday ay nakatakda gamitin ang startday
endday = simula

kung night == True: # night forecast kinakailangan

para sa day_number sa saklaw (startday, endday + 1):

kung datatype == "DW":
kung self.locale == "ay":
kung shortweekday == Totoo:
output = output + self.getSpaces (puwang) + WeatherText.day_of_week_short_es [self.night_forecast [day_number] .day_of_week]
kung hindi:
output = output + self.getSpaces (mga puwang) + WeatherText.day_of_week_es [self.night_forecast [day_number] .day_of_week]
elif self.locale == "fr":
kung shortweekday == Totoo:
output = output + self.getSpaces (mga puwang) + WeatherText.day_of_week_short_fr [self.night_forecast [day_number] .day_of_week]
kung hindi:
output = output + self.getSpaces (puwang) + WeatherText.day_of_week_fr [self.night_forecast [day_number] .day_of_week]
kung hindi:
kung shortweekday == Totoo:
output = output + self.getSpaces (puwang) + WeatherText.day_of_week_short [self.night_forecast [day_number] .day_of_week]
kung hindi:
output = output + self.getSpaces (mga puwang) + WeatherText.day_of_week [self.night_forecast [day_number] .day_of_week]
elif datatype == "WF": # lagay ng panahon
output = output + self.getSpaces (mga puwang) + WeatherText.conditions_weather_font [self.night_forecast [day_number] .condition_code]
elif datatype == "LT":
string = self.night_forecast [day_number]. mababa
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertCelsiusToFahrenheit (string)
string = string + tempunit
output = output + self.getSpaces (mga puwang) + string

elif datatype == "HT":
string = self.night_forecast [day_number]. mataas
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertCelsiusToFahrenheit (string)
string = string + tempunit
output = output + self.getSpaces (mga puwang) + string
elif datatype == "CC":
kung self.locale == "ay":
output = output + self.getSpaces (puwang) + WeatherText.conditions_text_es [self.night_forecast [day_number] .condition_code]
elif self.locale == "fr":
output = output + self.getSpaces (mga puwang) + WeatherText.conditions_text_fr [self.night_forecast [day_number] .condition_code]
kung hindi:
output = output + self.getSpaces (mga puwang) + WeatherText.conditions_text [self.night_forecast [day_number] .condition_code]
elif datatype == "CT":
output = output + self.getSpaces (space) + self.night_forecast [day_number] .condition_text
elif datatype == "PC":
string = self.night_forecast [day_number] .precip
kung self.isNumeric (string) == Totoo:
string = string + u »%»
output = output + self.getSpaces (mga puwang) + string
elif datatype == "HM":
string = self.night_forecast [day_number] .humidity
kung self.isNumeric (string) == Totoo:
string = string + u »%»
output = output + self.getSpaces (mga puwang) + string
elif datatype == "WD":
string = self.night_forecast [day_number] .wind_dir
kung self.locale == "ay":
output = output + self.getSpaces (mga puwang) + WeatherText.bearing_text_es [string]
elif self.locale == "fr":
output = output + self.getSpaces (puwang) + WeatherText.bearing_text_fr [string]
kung hindi:
output = output + self.getSpaces (mga puwang) + string

elif datatype == "BF":
output = output + self.getSpaces (mga puwang) + WeatherText.bearing_arrow_font [self.night_forecast [day_number] .wind_dir]
elif datatype == "WS":
string = self.night_forecast [day_number] .wind_speed
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertKilometresToMiles (string)
string = string + speedunit
output = output + self.getSpaces (mga puwang) + string
elif datatype == "WG":
string = self.night_forecast [day_number] .wind_gust
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertKilometresToMiles (string)
string = string + speedunit
output = output + self.getSpaces (mga puwang) + string
elif datatype == "CN":
output = output + self.getSpaces (puwang) + self.night_forecast [day_number] .city
elif datatype == "SR":
output = output + self.getSpaces (puwang) + self.night_forecast [day_number] .sunrise
elif datatype == "SS":
output = output + self.getSpaces (puwang) + self.night_forecast [day_number] .sunset
elif datatype == "MP":
output = output + self.getSpaces (puwang) + self.night_forecast [day_number] .moon_phase
elif datatype == "MF":
output = output + self.getSpaces (puwang) + WeatherText.conditions_moon_best [self.night_forecast [day_number] .moon_icon]
elif datatype == "BR":
output = output + self.getSpaces (mga puwang) + self.night_forecast [day_number] .bar_read
elif datatype == "BD":
output = output + self.getSpaces (mga puwang) + self.night_forecast [day_number] .bar_desc
kung hindi:
output = "\ nERROR: Hiniling ang hindi kilalang uri ng data"
masira

kung hindi man: # araw na hinahangad na ginustong

para sa day_number sa saklaw (startday, endday + 1):

kung datatype == "DW":
kung self.locale == "ay":
kung shortweekday == Totoo:
output = output + self.getSpaces (puwang) + WeatherText.day_of_week_short_es [self.day_forecast [day_number] .day_of_week]
kung hindi:
output = output + self.getSpaces (mga puwang) + WeatherText.day_of_week_es [self.day_forecast [day_number] .day_of_week]
elif self.locale == "fr":
kung shortweekday == Totoo:
output = output + self.getSpaces (puwang) + WeatherText.day_of_week_short_fr [self.day_forecast [day_number] .day_of_week]
kung hindi:
output = output + self.getSpaces (mga puwang) + WeatherText.day_of_week_fr [self.day_forecast [day_number] .day_of_week]
kung hindi:
kung shortweekday == Totoo:
output = output + self.getSpaces (puwang) + WeatherText.day_of_week_short [self.day_forecast [day_number] .day_of_week]
kung hindi:
output = output + self.getSpaces (puwang) + WeatherText.day_of_week [self.day_forecast [day_number] .day_of_week]
elif datatype == "WF": # lagay ng panahon
output = output + self.getSpaces (mga puwang) + WeatherText.conditions_weather_font [self.day_forecast [day_number] .condition_code]
elif datatype == "LT":
string = self.day_forecast [day_number]. mababa
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertCelsiusToFahrenheit (string)
string = string + tempunit
output = output + self.getSpaces (mga puwang) + string
elif datatype == "HT":
string = self.day_forecast [day_number]. mataas
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertCelsiusToFahrenheit (string)
string = string + tempunit
output = output + self.getSpaces (mga puwang) + string
elif datatype == "CC":
kung self.locale == "ay":
output = output + self.getSpaces (mga puwang) + WeatherText.conditions_text_es [self.day_forecast [day_number] .condition_code]
elif self.locale == "fr":
output = output + self.getSpaces (mga puwang) + WeatherText.conditions_text_fr [self.day_forecast [day_number] .condition_code]
kung hindi:
output = output + self.getSpaces (puwang) + WeatherText.conditions_text [self.day_forecast [day_number] .condition_code]
elif datatype == "CT":
output = output + self.getSpaces (puwang) + self.day_forecast [day_number] .condition_text
elif datatype == "PC":
string = self.day_forecast [day_number] .precip
kung self.isNumeric (string) == Totoo:
string = string + u »%»
output = output + self.getSpaces (mga puwang) + string
elif datatype == "HM":
string = self.day_forecast [day_number] .humidity
kung self.isNumeric (string) == Totoo:
string = string + u »%»
output = output + self.getSpaces (mga puwang) + string
elif datatype == "WD":
string = self.day_forecast [day_number] .wind_dir

kung self.locale == "ay":
output = output + self.getSpaces (mga puwang) + WeatherText.bearing_text_es [string]
elif self.locale == "fr":
output = output + self.getSpaces (puwang) + WeatherText.bearing_text_fr [string]
kung hindi:
output = output + self.getSpaces (mga puwang) + string

elif datatype == "BF":
output = output + self.getSpaces (puwang) + WeatherText.bearing_arrow_ font [self.day_forecast [day_number] .wind_dir]
elif datatype == "WS":
string = self.day_forecast [day_number] .wind_speed
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertKilometresToMiles (string)
string = string + speedunit
output = output + self.getSpaces (mga puwang) + string
elif datatype == "WG":
string = self.day_forecast [day_number] .wind_gust
kung self.isNumeric (string) == Totoo:
kung imperyal == Totoo:
string = self.convertKilometresToMiles (string)
string = string + speedunit
output = output + self.getSpaces (mga puwang) + string
elif datatype == "CN":
output = output + self.getSpaces (puwang) + self.day_forecast [day_number] .city
elif datatype == "SR":
output = output + self.getSpaces (puwang) + self.day_forecast [day_number] .sunrise
elif datatype == "SS":
output = output + self.getSpaces (puwang) + self.day_forecast [day_number] .sunset
elif datatype == "MP":
output = output + self.getSpaces (puwang) + self.day_forecast [day_number] .moon_phase
elif datatype == "MF":
output = output + self.getSpaces (mga puwang) + WeatherText.conditions_moon_font [self.day_forecast [day_number] .moon_icon]
elif datatype == "BR":
output = output + self.getSpaces (puwang) + self.day_forecast [day_number] .bar_read
elif datatype == "BD":
output = output + self.getSpaces (puwang) + self.day_forecast [day_number] .bar_desc
kung hindi:
output = u »\ nERROR: Hindi kilalang uri ng data ang hiniling»
masira

output = u »» + output.strip (u »«) # mawala ang mga nangungunang / sumunod na puwang
pagbalik output

#maliban:
#print "getOutputText: Hindi inaasahang error:", sys.exc_info () [0]

def getOutputTextFromTemplate (sarili, template):
#subukan:

# mga susi sa data ng template
DATATYPE_KEY = "–datatype ="
StartDAY_KEY = "–startday ="
ENDDAY_KEY = "–endday ="
NIGHT_KEY = "–night"
SHORTWEEKDAY_KEY = "–shortweekday"
IMPERIAL_KEY = "–imperial"
HIDEUNITS_KEY = "–hideunits"
SPACES_KEY = "–spaces ="

output = u »»

opsyonfound = Mali

#load ang file
subukan:
fileinput = bukas (self.options.template)
template = fileinput.read ()
fileinput.close ()
maliban sa:
output = u »Hindi nahanap ang file ng template!»

templatelist = self.getTemplateList (template)

# Hinahayaan maglakad sa listahan ng template at matukoy ang output para sa bawat item na nahanap
para sa ako sa saklaw (0, len (templatelist) -1):

pos = templatelist [i] .find (DATATYPE_KEY)
kung pos! = -1:
opsyonfound = Tama
pos = pos + len (DATATYPE_KEY)
datatype = templatelist [i] [pos: pos + 4] .strip («}»). strip («{«). strip («-«). strip (»«)
kung hindi:
datatype = Wala

pos = templatelist [i] .find (StartDAY_KEY)
kung pos! = -1:
opsyonfound = Tama
pos = pos + len (StartDAY_KEY)
startday = int (templatelist [i] [pos: pos + 4] .strip ("}"). strip ("{"). strip ("-"). strip (""))
kung hindi:
startday = Wala

pos = templatelist [i] .find (ENDDAY_KEY)
kung pos! = -1:
opsyonfound = Tama
pos = pos + len (ENDDAY_KEY)
endday = int (templatelist [i] [pos: pos + 4] .strip ("}"). strip ("{"). strip ("-"). strip (""))
kung hindi:
endday = Wala

pos = templatelist [i] .find (NIGHT_KEY)
kung pos! = -1:
opsyonfound = Tama
gabi = Totoo
kung hindi:
gabi = Mali

pos = templatelist [i] .find (SHORTWEEKDAY_KEY)
kung pos! = -1:
opsyonfound = Tama
shortweekday = Totoo
kung hindi:
shortweekday = Mali

pos = templatelist [i] .find (IMPERIAL_KEY)
kung pos! = -1:
opsyonfound = Tama
imperyal = Totoo
kung hindi:
imperyal = Mali

pos = templatelist [i] .find (HIDEUNITS_KEY)
kung pos! = -1:
opsyonfound = Tama
hideunits = Totoo
kung hindi:
hideunits = Mali

pos = templatelist [i] .find (SPACES_KEY)
kung pos! = -1:
opsyonfound = Tama
pos = pos + len (SPACES_KEY)
space = int (templatelist [i] [pos: pos + 4] .strip («}»). strip («{«). strip («-«). strip (»«))
kung hindi:
puwang = 1

kung optionsfound == True:
templatelist [i] = self.getOutputText (datatype, startday, endday, night, shortweekday, imperial, hideunits, space)
opsyonfound = Mali

# dumaan sa listahan na nag-uugnay sa output ngayon na na-populate ito
para sa item sa templatelist:
output = output + item

pagbalik output

#maliban:
#print "getOutputTextFromTemplate: Hindi inaasahang error:", sys.exc_info () [0]

def fetchData (sarili):

# laging kumukuha ng data ng sukatan, gumamit ng mga pag-andar sa pag-uusap sa data na ito
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)

kung self.isConnectionAvailable () == Mali:
kung os.path.exists (file_path_current):
RefetchData = Mali
iba pa: # walang koneksyon, walang cache, bang!
i-print na "Walang koneksyon sa internet ay magagamit at walang naka-cache na data ng panahon."
elif self.options.refetch == Totoo:
RefetchData = Tama
kung hindi:
# Kailangan ba ng data ng muling pagkuha?
kung os.path.exists (file_path_current):
lastmodDate = time.localtime (os.stat (file_path_current) [ST_MTIME])
expiryDate = (datetime.datetime.today () - datetime.timedelta (minuto = self.EXPIRY_MINUTES)). timetuple ()

kung expiryDate> lastmodDate:
RefetchData = Tama
kung hindi:
RefetchData = Mali
kung hindi:
RefetchData = Tama

# kunin ang kasalukuyang data ng mga kundisyon, alinman sa website o sa pamamagitan ng 'pag-unsick'
kung RefetchData == Totoo:

# kumuha ng kasalukuyang data ng mga kundisyon mula sa serbisyo ng xoap
subukan:

# 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 & unit = m '
kung sa sarili.options.verbose == Totoo:
print >> sys.stdout, «pagkuha ng data ng panahon mula sa«, url

Usock = urllib2.urlopen (url)
xml = usock.read ()
Usock.close ()
self.weatherxmldoc = minidom.parseString (xml)
maliban sa:
i-print ang "fetchData: Hindi inaasahang error:", sys.exc_info () [0]
i-print ang "Hindi makontak ang mapagkukunan ng panahon para sa kasalukuyang mga kundisyon"

# sabihin sa gumagamit kung ang lokasyon ay hindi maganda…
nahanap = xml.find ("Hindi wastong lokasyon na ibinigay")
kung natagpuan! = -1:
i-print ang "Di-wastong lokasyon na ibinigay"

# magtanong ng data ng panahon, i-load sa istraktura ng klase at adobo ito
subukan:

# ihanda ang mga listahan ng data ng panahon
self.current_conditions = []
self.day_forecast = []
self.night_forecast = []

# mangolekta ng pangkalahatang data
panahon_n = sarili.weatherxmldoc.documentElement
location_n = weather_n.getE ElementByTagName ('loc') [0]
city_n = location_n.getE ElementByTagName ('dnam') [0]
lungsod = self.getText (city_n.childNodes)

# mangolekta ng kasalukuyang data ng mga kundisyon
day_of_week = u »Ngayon»
precip = u »N / A»
sunrise_n = location_n.getE ElementByTagName ('sunr') [0]
sunrise = self.getText (sunrise_n.childNodes)
paglubog ng araw_n = lokasyon_n.getE ElementByTagName ('suns') [0]
paglubog ng araw = self.getText (paglubog ng araw_n.childNodes)
current_condition_n = weather_n.getE ElementByTagName ('cc') [0]
current_desc_n = current_condition_n.getE ElementByTagName ('t') [0]
current_desc = self.getText (current_desc_n.childNodes)
current_code_n = current_condition_n.getE ElementByTagName ('icon') [0]
current_code = self.getText (kasalukuyang_code_n.childNodes)
current_temp_n = current_condition_n.getE ElementByTagName ('tmp') [0]
current_temp = self.getText (kasalukuyang_temp_n.childNodes)
current_temp_feels_n = current_condition_n.getE ElementByTagName ('flik') [0]
current_temp_feels = self.getText (kasalukuyang_temp_feels_n.childNodes)
bar_n = current_condition_n.getE ElementByTagName ('bar') [0]
bar_read_n = bar_n.getE ElementByTagName ('r') [0]
bar_read = self.getText (bar_read_n.childNodes)
bar_desc_n = bar_n.getE ElementByTagName ('d') [0]
bar_desc = self.getText (bar_desc_n.childNodes)
wind_n = current_condition_n.getE ElementByTagName ('wind') [0]
wind_speed_n = wind_n.getE ElementByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_gust_n = wind_n.getE ElementByTagName ('gust') [0]
wind_gust = self.getText (wind_gust_n.childNodes)
wind_dir_n = wind_n.getE ElementByTagName ('d') [0]
wind_direction = self.getText (wind_dir_n.childNodes)
halumigmigan_n = kasalukuyang_condition_n.getE ElementByTagName ('hmid') [0]
halumigmig = sarili.getText (kahalumigmigan_n.childNodes)
moon_n = current_condition_n.getE ElementByTagName ('moon') [0]
moon_icon_n = moon_n.getE ElementByTagName ('icon') [0]
moon_icon = self.getText (moon_icon_n.childNodes)
moon_phase_n = moon_n.getE ElementByTagName ('t') [0]
moon_phase = self.getText (moon_phase_n.childNodes)
current_conditions_data = WeatherData (day_of_week, current_temp_feels, current_temp, current_code, current_desc, precip, halumigmig, wind_direction, wind_speed, wind_gusts, lungsod, pagsikat ng araw, paglubog ng araw, moon_phase, moon_icon, bar_read, bar_desc)
self.current_conditions.append (kasalukuyang_conditions_data)

# mangolekta ng data ng pagtataya
bar_read = u »N / A»
bar_desc = u »N / A»
moon_phase = u »N / A»
moon_icon = u »na»
forecast_n = weather_n.getE ElementByTagName ('dayf') [0]
day_nodes = forecast_n.getE ElementByTagName ('day')

para sa araw sa day_nodes:
day_of_week = day.getAttribut ('t')
day_of_year = day.getAttribut ('dt')
high_temp_n = day.getE ElementByTagName ('hi') [0]
high_temp = self.getText (high_temp_n.childNodes)
low_temp_n = day.getE ElementByTagName ('low') [0]
low_temp = self.getText (low_temp_n.childNodes)

sunrise_n = day.getE ElementByTagName ('sunr') [0]
sunrise = self.getText (sunrise_n.childNodes)
paglubog ng araw_n = day.getE ElementByTagName ('suns') [0]
paglubog ng araw = self.getText (paglubog ng araw_n.childNodes)

# na tukoy na data ng hula sa araw
daytime_n = day.getE ElementByTagName ('bahagi') [0] # araw
condition_code_n = daytime_n.getE ElementByTagName ('icon') [0]
condition_code = self.getText (condition_code_n.childNodes)
condition_n = daytime_n.getElementsByTagName ('t') [0]
kondisyon = self.getText (kondisyon_n.childNodes)
precip_n = daytime_n.getE ElementByTagName ('ppcp') [0]
precip = self.getText (precip_n.childNodes)
kahalumigmigan_n = daytime_n.getE ElementByTagName ('hmid') [0]
halumigmig = sarili.getText (kahalumigmigan_n.childNodes)
wind_n = daytime_n.getE ElementByTagName ('wind') [0]
wind_speed_n = wind_n.getE ElementByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getE ElementByTagName ('t') [0]
wind_direction = self.getText (wind_direction_n.childNodes)
wind_gust_n = wind_n.getE ElementByTagName ('gust') [0]
wind_gust = self.getText (wind_gust_n.childNodes)
day_forecast_data = WeatherData (day_of_week, low_temp, high_temp, condition_code, kondisyon, bangin, kahalumigmigan, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)
self.day_forecast.append (day_forecast_data)

# tukoy na data ng hula sa gabi
daytime_n = day.getE ElementByTagName ('part') [1] # gabi
condition_code_n = daytime_n.getE ElementByTagName ('icon') [0]
condition_code = self.getText (condition_code_n.childNodes)
condition_n = daytime_n.getElementsByTagName ('t') [0]
kondisyon = self.getText (kondisyon_n.childNodes)
precip_n = daytime_n.getE ElementByTagName ('ppcp') [0]
precip = self.getText (precip_n.childNodes)
kahalumigmigan_n = daytime_n.getE ElementByTagName ('hmid') [0]
halumigmig = sarili.getText (kahalumigmigan_n.childNodes)
wind_n = daytime_n.getE ElementByTagName ('wind') [0]
wind_speed_n = wind_n.getE ElementByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getE ElementByTagName ('t') [0]
wind_direction = self.getText (wind_direction_n.childNodes)
wind_gust_n = wind_n.getE ElementByTagName ('gust') [0]
wind_gust = self.getText (wind_gust_n.childNodes)
night_forecast_data = WeatherData (day_of_week, low_temp, high_temp, condition_code, kondisyon, bangin, kahalumigmigan, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc)
self.night_forecast.append (night_forecast_data)

# atsara ang data para sa susunod!
fileoutput = bukas (file_path_current, 'w')
pickle.dump (self.current_conditions, fileoutput)
fileoutput.close ()

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

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

maliban sa:
i-print ang "fetchData: Hindi inaasahang error:", sys.exc_info () [0]
i-print ang "Hindi maaring magtanong sa data ng panahon"

iba pa: # kunin ang data ng lagay ng panahon mula sa mga na-pick na file na klase
kung sa sarili.options.verbose == Totoo:
print >> sys.stdout, «pagkuha ng data ng panahon mula sa file:«, file_path_current

fileinput = bukas (file_path_current, 'r')
self.current_conditions = pickle.load (fileinput)
fileinput.close ()

kung sa sarili.options.verbose == Totoo:
print >> sys.stdout, "pagkuha ng data ng tinatayang araw mula sa mga file:", file_path_dayforecast, file_path_nightforecast

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

kung sa sarili.options.verbose == Totoo:
print >> sys.stdout, «pagkuha ng data ng tinatayang araw mula sa mga file:«, file_path_nightforecast, file_path_nightforecast

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

def outputData (sarili):
#subukan:

kung sa sarili. Mga Pagpipilian. halimbawa. = Wala:

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

kung hindi:

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. options.spaces)

print output.encode ("utf-8")

#maliban:
#print «outputData: Hindi inaasahang error:«, sys.exc_info () [0]

kung __name__ == "__main__":

parser = CommandLineParser ()
(options, args) = parser.parse_args ()

kung options.verbose == Totoo:
i-print >> sys.stdout, "lokasyon:", options.location
print >> sys.stdout, "imperial:", options.imperial
print >> sys.stdout, "datatype:", options.datatype
print >> sys.stdout, "night:", options.night
print >> sys.stdout, "start day:", options.startday
print >> sys.stdout, "end day:", options.endday
i-print >> sys.stdout, "mga puwang:", mga pagpipilian. puwang
print >> sys.stdout, "verbose:", options.verbose
print >> sys.stdout, "refetch:", options.refetch

# Lumikha ng bagong pandaigdigang bagay ng panahon
panahon = GlobalWeather (mga pagpipilian)
panahon.fetchData ()
panahon.outputData ()

Lumilikha kami ng file ~ / Conky / script / myweather.template

gedit ~ / Conky / script / myweather.tulad

i-paste namin ang sumusunod sa loob:

{–Datatype = DW –startday = 1}: {–datatype = CC –startday = 1}
{–Datatype = HT –startday = 1} / {–datatype = LT –startday = 1} Hangin mula sa {–datatype = WD –startday = 1} hanggang sa {–datatype = WS –startday = 1}
Humidity: {–datatype = HM –startday = 1} Presipitasyon: {–datatype = PC –startday = 1}
Pagsikat ng araw: {–datatype = SR –startday = 1} Sunset: {–datatype = SS –startday = 1}
——————————————
{–Datatype = DW –startday = 2}: {–datatype = CC –startday = 2}
{–Datatype = HT –startday = 2} / {–datatype = LT –startday = 2} Hangin mula sa {–datatype = WD –startday = 2} hanggang sa {–datatype = WS –startday = 2}
Humidity: {–datatype = HM –startday = 2} Presipitasyon: {–datatype = PC –startday = 2}
Pagsikat ng araw: {–datatype = SR –startday = 2} Sunset: {–datatype = SS –startday = 2}
——————————————
{–Datatype = DW –startday = 3}: {–datatype = CC –startday = 3}
{–Datatype = HT –startday = 3} / {–datatype = LT –startday = 3} Hangin mula sa {–datatype = WD –startday = 3} hanggang sa {–datatype = WS –startday = 3}
Humidity: {–datatype = HM –startday = 3} Presipitasyon: {–datatype = PC –startday = 3}
Pagsikat ng araw: {–datatype = SR –startday = 3} Sunset: {–datatype = SS –startday = 3}
——————————————
{–Datatype = DW –startday = 4}: {–datatype = CC –startday = 4}
{–Datatype = HT –startday = 4} / {–datatype = LT –startday = 4} Hangin mula sa {–datatype = WD –startday = 4} hanggang sa {–datatype = WS –startday = 4}
Humidity: {–datatype = HM –startday = 4} Presipitasyon: {–datatype = PC –startday = 4}
Pagsikat ng araw: {–datatype = SR –startday = 4} Sunset: {–datatype = SS –startday = 4}

Lumilikha kami ng file ~ / Conky / script / mail / conkyEmail.py (dapat nating likhain ang folder ng mail)

gedit ~ / Conky / script / mail / conkyEmail.py

at i-paste namin ang sumusunod sa loob:

i-import ka
mag-import ng string

# Ipasok ang iyong username at password sa ibaba sa loob ng dobleng mga quote
# hal. username = »username» at password = »password»
username = »IYONG_USUARIO_SINARROBA«
password = »IYONG_KEY«

com = »wget -O - https: //» + username + »:» + password + »@ 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 [index + 11: index2])

kung fc == 0:
i-print ang "0 bago"
kung hindi:
print str (fc) + »bago»

Kaya ngayon mayroon kang 7 mga file:

Sa folder: ~
-> .startconky << - maisagawa

Sa folder: ~ / Conky
-> conkymain
-> conkyforecast
-> conkymail

at sa folder: ~ / Conky / script
-> conkyForecast.py << - maipapatupad
-> myweather.template

at sa folder: ~ / Conky / script / mail
conkyEmail.py << - maipapatupad

At iyon lang, mga paglilinaw, kung saan sinasabi / home / user / ... napupunta ang iyong username at sa bahaging pupunta ang data ng Gmail, na-highlight ko sa mga kulay kung saan mo mailalagay ang iyong data.

upang patayin ang proseso ng alimusod sumulat sa isang console

patayin si conky

upang patakbuhin ang conky sumulat sa isang console

./.startconky

sa sandaling naayos mo na ang lahat, kung nais mong simulan ang bawat session

System—> Mga Kagustuhan—> Mga session at sa mga startup na programa idinagdag namin ito

Sa Pangalan maaari naming isulat ang Conky, sa Order ./.startconky na magsisimula ito sa tuwing bubuksan mo ang pc.

Iyon lang, sana makatulong ito sa iyo.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.