Conky, मेरा सेटअप

Fecfactor ने मुझसे कल नीचे स्क्रीनशॉट में दिखाए गए शंकु के विन्यास को प्रकाशित करने के लिए कहा

जैसा कि आप देख सकते हैं कि 3 शंकियां हैं, जो एक स्क्रिप्ट के माध्यम से निष्पादित की जाती हैं, उसी का कॉन्फ़िगरेशन आधारित है इस संदेश के मंचों में उपयोगकर्ता ब्रूस एम द्वारा पोस्ट किया गया उबंटू-अर मेल कॉन्की में कुछ संशोधनों के साथ, जो मेरे मामले में जीमेल के लिए है।

संदर्भ पोस्ट में इसे ब्रूस द्वारा बहुत अच्छी तरह से समझाया गया है, लेकिन मेरे लिए एक स्मृति सहायता के रूप में, मैं अनुसरण करने के लिए चरणों की प्रतिलिपि बनाने जा रहा हूं और जो भी इसके पास है उसके लिए मेरे शंकुओं के कोड।

ठीक है, निश्चित रूप से हमें शंकु, कर्ल और अजगर स्थापित करने की आवश्यकता है ताकि हम एक कंसोल में टाइप करें:

sudo apt-get install कॉंकी कर्ल पायथन

Weather.ttf और तीरों का स्रोत ।ttf यहाँ है। चाँद का स्रोत यहाँ है एक बार डाउनलोड करने के बाद आपको उन्हें / usr / शेयर / फोंट पर कॉपी करना होगा

चलो अब हमारी स्क्रिप्ट बनाते हैं जिसे ~। / Startconky कहा जाता है

gksudo gedit ~ / .startconky

खाली फ़ाइल के अंदर हम निम्नलिखित पेस्ट करते हैं

#! / Bin / bash
नींद 0 & # 0 Xfce के लिए अच्छा है - सूक्ति के लिए 20 से 30 का उपयोग करें
शंकु-सी ~ / शंकु / शंकुधारी और
# स्लीप 0 और # 0 Xfce के लिए अच्छा है - सूक्ति के लिए 1 का उपयोग करें
conky -c ~ / Conky / conkyforecast और
# स्लीप 0 और # 0 Xfce के लिए अच्छा है - सूक्ति के लिए 1 का उपयोग करें
शंकु -सी ~

अब हम ~ / Conky फ़ोल्डर में conkymain फ़ाइल बनाते हैं, अन्यथा हमारे पास Conky फ़ोल्डर है, हमें इसे बनाना होगा।

gedit ~ / Conky / conkymain

मैं कैलीबरी फॉन्ट का उपयोग करता हूं, यदि आपके पास यह नहीं है, तो इसे आप जो चाहें उसके साथ बदल दें।

हम इस प्रकार हैं कि क्या होता है

बैकग्राउंड नं
खुद_विवेक हाँ
own_window_transparent हाँ
स्वयं_विवेक_हिन्नी अघोषित, नीचे, चिपचिपा, Skip_taskbar, Skip_pager
खुद_विवाह_कोले काले
double_buffer हाँ
use_spacer छोड़ दिया
use_xft हाँ
फ़ॉन्ट कैलिबरी: आकार = 9
xftfont कैलिब्री: आकार = 9
xftalpha 0.5
अद्यतन_अंतराल 5.0
यदि आप चाहते हैं कि सभी पाठ अपरकेस में हों
स्टिपल्ड_बॉर्डर्स 3
सीमा_मारिन ५
सीमा_परिवर्तन १
डिफ़ॉल्ट सफेद रंग
default_outline_color काला
default_shade_color काला
color0 सियान
रंग1 हल्का नीला
रंग 2 नारंगी
रंग 3 पीला
color4 गेहूं
color5 सफेद
color6 सफेद
color7 सफेद
color8 सफेद
color9 सफेद
संरेखण top_right # या top_left, bottom_left, bottom_right
गैप_x 10
गैप_y 35
पूर्वानुमान के लिए text_buffer_size 128 # 1024 का उपयोग करें
no_buffers हां # उपयोग की गई मेमोरी से फाइल सिस्टम बफर को घटाएं?
ड्रा_ बॉर्डर्स नं
ड्रा_आउटलाइन हां # यदि हां में पाठ को बढ़ाता है
draw_shades हां # shadecolor ब्लैक

पाठ
$ {फ़ॉन्ट कैलिबर: आकार = 12} $ {संरेखित करें} $ {color1} $ sysname $ कर्नेल $ मशीन पर} $ रंग $ फ़ॉन्ट
$ {font calibri: size = 12} $ {alignc} $ {color2} $ {निष्पादन whoami} @ $ nodename $ color $ font
$ {color0} $ {hr 1} $ रंग
$ {फ़ॉन्ट कैलिबर: आकार = 20} $ {संरेखित} $ {समय% H:% M} $ फ़ॉन्ट
$ {फ़ॉन्ट कैलिबर: आकार = 12} $ {color1} $ {alignc} $ {समय% A,% d% b। % Y} $ रंग $ फ़ॉन्ट
$ {color3} UpTime: $ {alignr 2} $ uptime $ रंग
$ {color0} $ {hr 1} $ रंग
$ {voffset 5} $ {color2} CPU: $ {alignc} $ रंग $ चल_प्रोसेस $ {color1} / $ रंग $ प्रक्रियाएं $ {alignr 2} $ {color2} $ {cpubar cpu 0} $ रंग
$ {color1} $ {voffset -16} $ {alignr 5} $ cpu% $ रंग
$ {voffset 2} $ {color1} लोड औसत ($ {color3} Min $ {color1}): $ {alignr 2} $ {color3} 1: $ रंग $ {loadavg 1} $ {color3} 5: $ color $ {लोडवाग २} $ {रंग ३} १५: $ रंग $ {लोडावग ३}
$ {voffset 5} $ {color2} RAM: $ color $ मेम $ {color2} / $ रंग $ memmax $ {alignr 2} $ {color2} $ {membar 14,80} $ रंग
$ {color1} $ {voffset -16} $ {alignr 5} $ memperc% $ रंग
$ {voffset 2} $ {color1} बफ़र्ड: $ रंग $ {बफ़र्स} $ {alignr 2} $ {color1} कैश्ड: $ कलर $ {कैशेड}
$ {voffset 5} $ {color2} SWAP: $ रंग $ स्वैप $ {color2} / $ रंग $ {swapmax} $ {alignr 2} $ {color2} $ {swapbar 14,80} $ रंग
$ {color1} $ {voffset -16} $ {alignr 5} $ swapperc%
$ {color0} $ {hr 1} $ रंग
$ {voffset 5} $ {color2} HD जानकारी $ {color1} - $ रंग नि: शुल्क $ {color1} - प्रयुक्त - $ {color2} कुल
$ {voffset 5} $ {color1} रूट: $ रंग $ {fs_free_perc /}% $ {alignr 2} $ {fs_free /} $ {color2} / $ {color1} $ {fs_used /} $ रंग / $ {color2} $ {fs_size /} $ रंग
$ {color1} घर: $ रंग $ {fs_free_perc / home / user}% $ {alignr 2} $ {fs_free / home / user} $ {color2} / $ {color1} $ {ls_used / home / उपयोगकर्ता} $ रंग / $ {color2} $ {fs_size / home / उपयोगकर्ता} $ रंग
$ {color0} $ {hr 1} $ रंग
$ {color1} से: $ रंग ब्यूनस आयर्स, अर्जेंटीना
$ {color1} Lat: $ {color2} 34 ° 35'S $ {color1} लंबा: $ {color2} 58 ° 21'W $ {color1} Alt: $ {color2} 25 मीटर $ रंग
$ {voffset 5} $ {color2} $ {font calibri: size = 12} आज: $ फ़ॉन्ट $ {color3} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location = ARBA0009 –datatype = CC} $} रंग $ {संरेखित 2} $ {color1} ST: $ {color2} $ {निष्पादित 3600 अजगर ~ / Conky / लिपियों / conkyForecast.py -location = ARBA0009 –datatype - LT +
$ {color3} $ {फ़ॉन्ट मौसम: आकार = 50} $ {निष्पादित 3600 अजगर ~ / Conky / लिपियों / conkyForecast.py -location = ARBA0009 –datatype = WF} $ फ़ॉन्ट $ रंग
$ {alignr 50} $ {voffset -55} $ {font calibri: size = 25} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location = ARBA0009 -datatype = HT} $ फ़ॉन्ट
$ {alignc 20} $ {voffset -30} $ {font Arrows: size = 20} $ {color4} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location - ARBA0009 –datatype = BF} $ रंग $ फ़ॉन्ट
$ {alignc 10} $ {voffset 5} $ {color4} हवा: $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location = ARBA0009 –datatype / WS} $ रंग
$ {color1} आर्द्रता: $ {color3} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location = ARBA0009 –datatype = HM} $ {संरेखित 2}: $ {color1} वर्षा: $ {color3} $ { निष्पादन 3600 अजगर ~ / Conky / लिपियों / conkyForecast.py -location = ARBA0009 –datatype = PC} $ रंग
$ {alignc} $ {color1} दबाव: $ {color3} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location = ARBA0009 –datatype = BR}, $ {color3} $ {execi 3600 python ~ / Conky /scripts/conkyForecast.py -location = ARBA0009 –datatype = BD} $ रंग
$ {color4} $ {hr} $ रंग
$ {color1} Sunrise: $ {color3} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location = ARBA0009 –datatype = SR} $ {{2} $ {color1} Sunset: $ {color3} $ { फांसी 3600 अजगर ~ / Conky / लिपियों / conkyForecast.py -location = ARBA0009 –datatype = SS} $ रंग
$ {voffset 15} $ {color1} चंद्रमा: $ {color4} $ {alignr 2} $ {color3} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location - ARBA0009 –datatype = MP} $ रंग
$ {voffset -20} $ {ऑफसेट 80} $ {color4} $ {फ़ॉन्ट चंद्रमा चरण: आकार = 20} $ {निष्पादित 3600 python ~ / Conky / स्क्रिप्ट / conkyForecast.py -location - ARBA0009 –datatype = MF} $ फ़ॉन्ट $ रंग
$ {color0} $ {hr} $ रंग
$ {voffset 5} $ {color2} IP: $ {alignc} $ रंग $ {addr eth0}
$ {color1} नीचे: $ रंग $ {downspeed eth0} k / s $ {alignr 2} $ {color1} ऊपर: $ color $ {upspeed eth0} k / s
$ {color1} कुल: $ रंग $ {totaldown eth0} $ {alignr 2} $ {color1} कुल: $ रंग $ {totalup eth0}
$ {color1} इनबाउंड: $ color $ {tcp_portmon 1 32767 count} $ {color1} आउटबाउंड: $ color $ {tcp_portmon 32768 61000 count} $ {alignr 2} $ [color1} कुल: $ रंग $ {tcp_portmon 1 65535 गिनती}
$ {voffset 5} $ {color2} कनेक्शन: $ रंग $ {tcp_portmon 32768 61000 गिनती} $ {alignr 2} $ {color2} सेवा / पोर्ट $ रंग
$ {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} $ रंग

हम फ़ाइल बनाते हैं ~ / Conky / conkyforecast

gedit ~ / Conky / conkyforecast

और हम निम्नलिखित को पेस्ट करते हैं

बैकग्राउंड नं
खुद_विवेक हाँ
own_window_transparent हाँ
स्वयं_विवेक_हिन्नी अघोषित, नीचे, चिपचिपा, Skip_taskbar, Skip_pager
खुद_विवाह_कोले काले
double_buffer हाँ
use_spacer छोड़ दिया
use_xft हाँ
फ़ॉन्ट कैलिबरी: आकार = 8
xftfont कैलिब्री: आकार = 8
xftalpha 0.5
अद्यतन_अंतराल 5.0
यदि आप चाहते हैं कि सभी पाठ अपरकेस में हों
स्टिपल्ड_बॉर्डर्स 3
सीमा_मारिन ५
सीमा_परिवर्तन १
डिफ़ॉल्ट सफेद रंग
default_outline_color काला
default_shade_color काला
color0 सियान
रंग1 हल्का नीला
रंग 2 नारंगी
रंग 3 पीला
color4 गेहूं
color5 सफेद
color6 सफेद
color7 सफेद
color8 सफेद
color9 सफेद
संरेखण bottom_left # या top_left, bottom_left, bottom_right
गैप_x 10
गैप_y 35
पूर्वानुमान के लिए text_buffer_size 1024 # 1024 का उपयोग करें
no_buffers हां # उपयोग की गई मेमोरी से फाइल सिस्टम बफर को घटाएं?
ड्रा_ बॉर्डर्स नं
ड्रा_आउटलाइन हां # यदि हां में पाठ को बढ़ाता है
draw_shades हां # shadecolor ब्लैक

पाठ
$ {color4} $ {font calibri: size = 11} विस्तारित पूर्वानुमान $ फ़ॉन्ट $ रंग
$ {color0} $ {hr} $ रंग
$ {color4} $ {font calibri: size = 9} $ {execi 3600 python ~ / Conky / script / conkyForecast.py -location = ARBA0009 –template = / home / उपयोगकर्ता / Conky / लिपियों / myweather.template} $ फ़ॉन्ट $ रंग

हम फ़ाइल बनाते हैं ~ / Conky / conkymail

gedit ~ / Conky / conkymail

हम फ़ाइल में निम्नलिखित पेस्ट करते हैं

बैकग्राउंड नं
खुद_विवेक हाँ
own_window_transparent हाँ
स्वयं_विवेक_हिन्नी अघोषित, नीचे, चिपचिपा, Skip_taskbar, Skip_pager
खुद_विवाह_कोले काले
double_buffer हाँ
use_spacer छोड़ दिया
use_xft हाँ
फ़ॉन्ट कैलिबरी: आकार = 8
xftfont कैलिब्री: आकार = 8
xftalpha 0.5
अद्यतन_अंतराल 5.0
यदि आप चाहते हैं कि सभी पाठ अपरकेस में हों
स्टिपल्ड_बॉर्डर्स 3
सीमा_मारिन ५
सीमा_परिवर्तन १
डिफ़ॉल्ट सफेद रंग
default_outline_color काला
default_shade_color काला
color0 सियान
रंग1 हल्का नीला
रंग 2 नारंगी
रंग 3 पीला
color4 गेहूं
color5 सफेद
color6 सफेद
color7 सफेद
color8 सफेद
color9 सफेद
संरेखण bottom_left # या top_left, bottom_left, bottom_right
गैप_x 565
गैप_y 35
पूर्वानुमान के लिए text_buffer_size 128 # 1024 का उपयोग करें
no_buffers हां # उपयोग की गई मेमोरी से फाइल सिस्टम बफर को घटाएं?
ड्रा_ बॉर्डर्स नं
ड्रा_आउटलाइन हां # यदि हां में पाठ को बढ़ाता है
draw_shades हां # shadecolor ब्लैक

पाठ
$ {फ़ॉन्ट कैलिबर: आकार = 11} $ {संरेखित} $ {color4} जीमेल
$ {color0} $ {hr} $ रंग
$ {font calibri: size = 11} $ {color4} हमारे पास $ {color3} $ {execi 300 python ~ / Conky / script / mail / conkyEmail.py} $ {color4} ईमेल (s) $ फॉन्ट है

हम ~ / Conky / script / conkyForecast.py में एक फ़ाइल बनाते हैं (हमें स्क्रिप्ट फ़ोल्डर बनाना होगा)

gedit ~ / Conky / script / conkyForecast.py

#! / usr / बिन / अजगर
# - * - कोडिंग: utf-8 - * -
############################################### ############################
# conkyForecast.py इकट्ठा करने के लिए एक (ऐसा नहीं है) सरल (अब) अजगर स्क्रिप्ट है
# शंकु में उपयोग के लिए वर्तमान मौसम का विवरण।
#
# लेखक: कैवलगी
# बनाया गया: 13/04/2008
# संशोधन:
# 14/04/2008 पूर्वानुमान डेटा के लिए दिन की सीमाओं की अनुमति दें
# 14/04/2008 xoap सेवा से कनेक्टिविटी के लिए जाँच करें
# 18/04/2008 रंगीन आउटपुट के लिए रिक्त स्थान सेट करने की अनुमति दें
# 18/04/2008 रात और दिन पूर्वानुमान उत्पादन की अनुमति दें
# 18/04/2008 हालत कोड पाठ «सीसी» विकल्प के लिए समर्थन लोकेल, स्पेनिश भाषा अनुवाद का इंतजार कर रहा है
# 18/04/2008 xml खोलने के बजाय वर्ग डेटा के लिए अचार का उपयोग करें, यह कैश्ड डेटा को पूछताछ करने की आवश्यकता को दरकिनार कर देता है
# 19/04/2008 स्पेनिश हालत पाठ जोड़ा गया - धन्यवाद ब्रूस एम
# 19/04/2008 यूनिट प्रत्यय के साथ सभी संख्यात्मक आउटपुट पर इस्नुमेरिक चेक जोड़ा गया
# 19/04/2008 स्थान कोड शामिल करने के लिए नामांकित अचार फ़ाइल नामांकित
# 19/04/2008 लोकेल के माध्यम से स्पेनिश सप्ताह के दिनों में रूपांतरण जोड़ा गया
# 20/04/2008 सभ्य कमांड तर्क पार्सर जोड़ा गया
# ०४/२०/२०१ 20 जोड़ा गया –शॉर्टवाइकडे विकल्प, यदि सप्ताह का दिन दिया जाए तो डेटा टाइप ३ अक्षरों में छोटा हो जाता है
# 21/04/2008 पूर्वानुमान उत्पादन के लिए निश्चित स्थानीय विकल्प
# ०४/२१/२०० option / जोड़ा गया- एक ही निष्पादन कॉल using का उपयोग करके कस्टम आउटपुट की अनुमति देने का विकल्प
# ०४/२१/२०० 21 जोड़ा गया -हिंडुनिट्स विकल्प, उदाहरण के लिए, आउटपुट से mph और C
# 23/04/2008 टेम्पलेट से हटाए गए -imperial विकल्प, यह MUST स्क्रिप्ट कॉल पर एक मानक विकल्प के रूप में सेट किया जाना चाहिए और टेम्पलेट फ़ाइल में उपयोग नहीं किया जाएगा।
# 23/04/2008 डायटाइप प्रति मीट्रिक या शाही मूल्यों को सक्षम करने के लिए टेम्पलेट के लिए रीडिमेड-वैकल्पिक विकल्प। टेम्प्लेट कमांड लाइन विकल्प का उपयोग करते समय ध्यान दें काम नहीं करेगा।
# 23/04/2008 आउटपुट दिया गया उपयोगकर्ता को सूचित करता है यदि दिया गया स्थान खराब है
# 24/04/2008 बिना किसी कनेक्टिविटी के जोड़ा गया, अब कैश्ड डेटा पर वापस आ जाएगा (यदि कैश मौजूद नहीं है) Xoap.weather.com खोलने की कोशिश करके टेस्ट
# 24/04/2008 फ़ारेनहाइट रूपांतरण के लिए निश्चित तापमान
# 06/05/2008 webservice अपडेट होने के बाद अपडेट किया गया url
# 09/05/2008 समेकित वर्तमान स्थिति और पूर्वानुमान डेटा एक कॉल में
# 09/05/2008 ने सूर्योदय और सूर्यास्त को डेटैटिप में जोड़ा, ये वर्तमान परिस्थितियों और पूर्वानुमान डेटा दोनों के लिए विशिष्ट हैं
# 09/05/2008 डेटासिप में चंद्रमा चरण, बैरोमीटर रीडिंग और बैरोमीटर विवरण जोड़ा गया, ये केवल वर्तमान परिस्थितियों के लिए विशिष्ट हैं और इसलिए पूर्वानुमानित आउटपुट में एन / ए हैं
# 09/05/2008 बैरोमीटर से इंच तक इंच (शाही) के लिए इकाई रूपांतरण जोड़ा
# 09/05/2008 अद्यतित स्पेनिश स्थिति पाठ - धन्यवाद ब्रूस एम
# 10/05/2008 फ्रेंच लोकेल डेटा जोड़ा गया - धन्यवाद बेनापका
# 12/05/2008 में WD (हवा की दिशा) से NSEW आउटपुट के बजाय एक तीर वर्ण (Arrow.ttf फ़ॉन्ट के साथ उपयोग) प्रदान करने के लिए नया BF (असर फ़ॉन्ट) डेटाटाइप जोड़ा गया
# 12/05/2008 अपडेट किया गया WD आउटपुट लोकल विशिष्ट है, वर्तमान में डिफ़ॉल्ट अंग्रेजी और स्पेनिश का समर्थन करता है - धन्यवाद ब्रूस एम
# 18/05/2008 एक चाँद फ़ॉन्ट चरित्र (वर्ण गलत और अभी तक कोई समर्पित फ़ॉन्ट नहीं) प्रदान करने के लिए नया म्यूचुअल फंड (चंद्रमा फ़ॉन्ट) डेटाटाइप जोड़ा गया।
# 21/05/2008 वर्तमान परिस्थितियों के लिए –डैटाइप = एलटी विकल्प अब प्रदर्शित करता है «ऐसा लगता है कि" वर्तमान तापमान के बजाय तापमान »
#
# हर एक चीज़:
# एक फ़ाइल / कक्षा में pkl फ़ाइलें संकलित करें
# चंद्रमा आइकन डेटा के आधार पर चंद्रमा चरण आउटपुट के आधार पर एक मौसम फ़ॉन्ट जोड़ें
# ??? वहाँ किसी भी अधिक आवश्यकताओं?

आयात sys, os, socket, urllib2, datetime, time
xml.dom से आयात मिनीडोम
स्टेट इम्पोर्ट से *
ऑप्टपर्स इम्पोर्ट ऑप्शनपार्सर से
आयात स्थानीय
आयात मिलता है
आयात अचार
गणित आयात से *

एपीपी = »conkyForecast.py»
DIR = os.path.dirname (__file__) + '/ लोकेल'
gettext.bindtextdomain (APP, DIR)
gettext.textdomain (APP)
_ = gettext.gettext

वर्ग कमांडलाइनरसर:

पार्सर = कोई नहीं

def __init __ (स्व):

self.parser = OptionParser ()
self.parser.add_option («- l», »- स्थान», गंतव्य = »स्थान», डिफ़ॉल्ट = »UKXX0103 ″, प्रकार =» स्ट्रिंग », मेटावार =» कोड », मदद = यू = मौसम डेटा के लिए कोड» डिफ़ॉल्ट:% डिफ़ॉल्ट], शहर के नाम से अपना स्थान कोड निर्धारित करने के लिए निम्न url का उपयोग करें: http://xoap.weather.com/search/search?where=Norwich »)
self.parser.add_option ("- d", "- datatype", dest = "datatype", default = "HT", type = "string", metavar = "DATATYPE", मदद "u" [डिफ़ॉल्ट:% डिफ़ॉल्ट] डेटा प्रकार के विकल्प हैं: डीडब्ल्यू (सप्ताह का दिन), डब्ल्यूएफ (वेदर फॉन्ट आउटपुट), एलटी (फोरकास्ट: लो टेम्प, करंट: लगता है जैसे टेम्प), एचटी (फोरकास्ट: हाई टेम्प, करंट: करंट टेम्प), CC (करंट) स्थितियां), सीटी (शर्तें पाठ), पीसी (वर्षा की संभावना), एचएम (आर्द्रता), डब्ल्यूडी (पवन दिशा), डब्ल्यूएस (विंड स्पीड), डब्ल्यूजी (विंड गस्ट), सीएन (शहर का नाम), एसआर (सूर्योदय), एसएस (सूर्यास्त), एमपी (चंद्रमा चरण), एमएफ (चंद्रमा फ़ॉन्ट), बीआर (बैरोमीटर रीडिंग), बीडी (बैटरेटर विवरण)। टेम्पलेट का उपयोग करते समय कमांड लाइन पर लागू नहीं होता है। »
self.parser.add_option («- s», »- startday», dest = »startday», type = »int», metavar = »NUMBER», help = u »शुरू होने वाले दिन को परिभाषित करते हैं, यदि लोप की गई शर्तें आउटपुट हैं टेम्पलेट का उपयोग करते समय कमांड लाइन पर लागू नहीं होता है। »)
self.parser.add_option ("- e", "- endday", dest = "endday", type = "int", metavar = "NUMBER", help = u "समाप्त होने वाले दिन की संख्या को परिभाषित करते हैं, यदि दिन के शुरुआती डेटा को छोड़ दिया जाए तो" आउटपुट है। टेम्पलेट का उपयोग करते समय कमांड लाइन पर लागू नहीं होता है। »)
self.parser.add_option («- S», »- स्थान», गंतव्य = »रिक्त स्थान», प्रकार = »int», डिफ़ॉल्ट = 1, मेटावर = »NUMBER», मदद = u »[डिफ़ॉल्ट:% डिफ़ॉल्ट] परिभाषित करता है रेंज किए गए आउटपुट के बीच रिक्त स्थान की संख्या। टेम्पलेट का उपयोग करते समय कमांड लाइन पर लागू नहीं। »)
self.parser.add_option («- t», »- टेम्पलेट», गंतव्य = »टेम्पलेट», प्रकार = »स्ट्रिंग», मेटावर = »फ़ाइल», मदद = यू »एक कॉल में आउटपुट उत्पन्न करने के लिए एक टेम्पलेट फ़ाइल को परिभाषित करता है। फ़ाइल में प्रदर्शन योग्य आइटम फॉर्म में है - –डेटाटाइप = HT –startday = 1}। प्रत्येक आइटम के भीतर निम्नलिखित संभव विकल्प हैं: -datatype, -startday, –endday, –night, –shortekekday, –imperial, –hideunits, -Spaces। ध्यान दें कि विकल्पों के संक्षिप्त रूप वर्तमान में समर्थित नहीं हैं (इनमें से कोई भी विकल्प टेम्पलेट का उपयोग करते समय कमांड लाइन पर लागू नहीं होता है।)
self.parser.add_option («- L», »- लोकेल», भाग्य = »लोकेल», प्रकार = »स्ट्रिंग», मदद = u »भाषा आउटपुट के लिए सिस्टम लोकेल को ओवरराइड करता है (en = english, es = spanish, fr = फ्रेंच, अधिक आने के लिए) »)
self.parser.add_option ("- i", "- शाही", भाग्य = "शाही", डिफ़ॉल्ट = गलत, कार्रवाई = "store_true", मदद = यू "शाही इकाइयों से अनुरोध करें, यदि लोप किया गया आउटपुट मीट्रिक में लागू नहीं है। टेम्प्लेट का उपयोग करते समय कमांड लाइन। »)
self.parser.add_option («- n», »- रात», भाग्य = »रात», डिफ़ॉल्ट = गलत, कार्रवाई = »store_true», मदद = यू »रात के डेटा पर स्विच करें, यदि छोड़ा गया दिन आउटपुट आउटपुट होगा। टेम्पलेट का उपयोग करते समय कमांड लाइन पर लागू नहीं। »:
self.parser.add_option («- w», »- shortweekday», dest = »shortweekday», डिफ़ॉल्ट = गलत, कार्रवाई = »store_true», help = u »सप्ताह डेटा प्रकार के दिन को 3 वर्णों तक छोटा करें। टेम्प्लेट का उपयोग करते समय कमांड लाइन। »)
self.parser.add_option («- u», »- Hideunits», dest = »hideunits», default = False, action = »store_true», help = u »इकाइयों को mph या C, डिग्री सिंबल (°) के रूप में छिपाते हैं। अभी भी दिखाया गया है। टेम्पलेट का उपयोग करते समय कमांड लाइन पर लागू नहीं। »)
self.parser.add_option ("- v", "- क्रिया", भाग्य = "क्रिया", डिफ़ॉल्ट = गलत, क्रिया = "store_true", help = u "verbose आउटपुट का अनुरोध करें, शंकु के माध्यम से चलने पर कोई अच्छा विचार नहीं!" )
self.parser.add_option ("- r", "- refetch", dest = "refetch", default = False, action = "store_true", help = u "data expiry की परवाह किए बिना डेटा प्राप्त करना")

def parse_args (स्व):
(विकल्प, args) = self.parser.parse_args ()
वापसी (विकल्प, args)

def Print_help (स्व):
स्व।

क्लास वेदरडेटा:
def __init __ (स्वयं, day_of_week, low, high, condition_code, condition_text, precip, आर्द्रता, wind_dir, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_read, bar_desc):
self.day_of_week = u »» + day_of_week
self.low = u »» + कम
self.high = u »» + उच्च
self.condition_code = u »» + condition_code
self.condition_text = u »» + condition_text
self.precip = u »» + precip
self.humidity = u »» + आर्द्रता
self.wind_dir = u »» + wind_dir
self.wind_speed = u »» + wind_speed
self.wind_gusts = u »» + wind_gusts
self.city = u »» + शहर
self.sunrise = u »» + सूर्योदय
self.sunset = u »» + सूर्यास्त
self.moon_phase = u »» + moon_phase
self.moon_icon = u »» + Moon_icon
self.bar_read = u »» + bar_read
self.bar_desc = u »» + bar_desc

मौसम

शर्तें_टेक्स्ट = {
«0»: _ (यू »बवंडर»),
«1»: _ (यू »उष्णकटिबंधीय तूफान»),
«2»: _ (यू »तूफान»),
«3»: _ (यू »गंभीर थंडरस्टॉर्म»),
«4»: _ (यू »थंडरस्टॉर्म»),
«5»: _ (यू »मिश्रित वर्षा और हिमपात»),
«6»: _ (यू »मिश्रित बारिश और नींद»),
«7»: _ (यू »मिश्रित वर्षा»),
«8»: _ (यू »बर्फ़ीली बूंदा बांदी»),
«9»: _ (यू »बूंदा बांदी»),
«10»: _ (यू »बर्फ़ीली बारिश»),
«11»: _ (यू »वर्षा»),
«12»: _ (यू »वर्षा»),
«13»: _ (यू »हिम प्रवाह»),
«14»: _ (यू »लाइट हिमपात वर्षा»),
«15»: _ (यू »आंधी बर्फ»),
«16»: _ (यू »हिमपात»),
«17»: _ (यू »जय हो»),
«18»: _ (यू »स्लीट»),
«19»: _ (यू »धूल»),
«20»: _ (यू »कोहरा»),
«21»: _ (यू »धुंध»),
«22»: _ (यू »धुआँ»),
«23»: _ (यू »ब्लास्टरी»),
«24»: _ (यू »विंडी»),
«25»: _ (यू »कोल्ड»),
«26»: _ (यू »बादल»),
«27»: _ (यू »ज्यादातर बादल»),
«28»: _ (यू »ज्यादातर बादल»),
«29»: _ (यू »आंशिक रूप से बादल»),
«30»: _ (यू »आंशिक रूप से बादल»),
«31»: _ (यू »स्पष्ट»),
«32»: _ (यू »स्पष्ट»),
«33»: _ (यू »मेला»),
«34»: _ (यू »मेला»),
«35»: _ (यू »मिश्रित बारिश और ओलावृष्टि),
«36»: _ (यू »हॉट»),
«37»: _ (यू »पृथक थंडरस्टॉर्म»),
«38»: _ (यू »बिखरे हुए तूफान»),
«39»: _ (यू »बिखरे हुए तूफान»),
«40»: _ (यू »बिखरे हुए शो»),
«41»: _ (यू »भारी हिमपात»),
«42»: _ (यू »बिखरे हुए हिमपात वर्षा»),
«43»: _ (यू »भारी हिमपात»),
«44»: _ (यू »आंशिक रूप से बादल»),
«45»: _ (यू »थंडर वर्षा»),
«46»: _ (यू »हिमपात वर्षा»),
«47»: _ (यू »पृथक थंडरस्टॉर्म»),
«ना»: _ (यू »एन / ए»),
"-": _(ए")
}

शर्तें_टेक्स्ट_से = {
«0»: _ (यू »बवंडर»),
«1»: _ (यू »उष्णकटिबंधीय तूफान»),
«2»: _ (यू »हुराकैन»),
«3»: _ (यू »मजबूत तूफान»),
«4»: _ (यू »तूफान»),
«5»: _ (यू »मिश्रित वर्षा और हिमपात»),
«6»: _ (यू »मिश्रित बारिश और नींद»),
«7»: _ (यू »स्लीट»),
«8»: _ (यू »बर्फ़ीली बूंदा बांदी»),
«9»: _ (यू »बूंदा बांदी»),
«10»: _ (यू »बर्फ़ीली बारिश»), # या बर्फ़ीली बारिश
«11»: _ (यू »वर्षा»),
«12»: _ (यू »वर्षा»),
«13»: _ (यू »लाइट स्नो»),
«14»: _ (यू »लाइट स्नो»),
«15»: _ (यू »हिमपात बर्फ़ीला तूफ़ान),
«16»: _ (यू »हिमपात»),
«17»: _ (यू »जय हो»),
«18»: _ (यू »स्लीट»),
«19»: _ (यू »पाउडर»),
«20»: _ (यू »कोहरा»),
«21»: _ (यू »धुंध»),
«22»: _ (यू »धुआँ»),
«23»: _ (यू »अस्थायी»),
«24»: _ (यू »विंडी»),
«25»: _ (u »Fráo»),
«26»: _ (यू »बहुत बादल»),
«27»: _ (यू »ज्यादातर बादल»),
«28»: _ (यू »ज्यादातर बादल»),
«29»: _ (यू »आंशिक रूप से बादल»),
«30»: _ (यू »आंशिक रूप से बादल»),
«31»: _ (यू »स्पष्ट»),
«32»: _ (यू »स्पष्ट»),
«33»: _ (यू »समथिंग क्लाउड»),
«34»: _ (यू »समथिंग क्लाउड»),
«35»: _ (यू »वर्षा के साथ जय हो»),
«36»: _ (यू »हीट»),
«37»: _ (यू »पृथक तूफान»),
«38»: _ (यू »बिखरे हुए तूफान»),
«39»: _ (यू »बिखरे हुए तूफान»),
«40»: _ (यू »बिखरे हुए शो»),
«41»: _ (यू »भारी हिमपात»),
«42»: _ (यू »कमजोर और बिखरे हुए हिमपात»),
«43»: _ (यू »तीव्र नेवादा»),
«44»: _ (यू »बिखरे हुए बादल»),
«45»: _ (यू »तूफान»),
«46»: _ (या »बिखरे हुए हिमपात»),
«47»: _ (यू »पृथक तूफान»),
«ना»: _ (यू »एन / ए»),
"-": _(ए")
}

स्थितियां
«0»: _ (यू »बवंडर»),
«1»: _ (यू »टेम्पेट ट्रॉपिकल»),
«2»: _ (या »Ouragan»),
«3»: _ (या »हिंसा उल्लंघन»),
«4»: _ (या »ऑरेजक्स»),
«5»: _ (यू »प्लूई एट नेगी»),
«6»: _ (यू »प्लूई एट नीगे मौइली»),
«7»: _ (यू »परिवर्तनीय एवीसी» »)
«8»: _ (यू »ब्रुइन ग्रिवंटे»),
«9»: _ (यू »ब्रुइन»),
«10»: _ (यू »प्लूई ग्लेनटेंट»),
«11»: _ (यू »एवेरेस»),
«12»: _ (यू »एवेरेस»),
«13»: _ (यू »लेगे नीगे»),
«14»: _ (यू »फोर्ट नीगे»),
«15»: _ (यू »टेम्पपेट डे नीगे»),
«16»: _ (यू »नेगी»),
«17»: _ (यू »ग्रेले»),
«18»: _ (यू »प्लूई / नेगी»),
«19»: _ (यू »नुज दे पूसियेरे»),
«20»: _ (यू »ब्रोइलार्ड»),
«21»: _ (यू »ब्रूम»),
«22»: _ (यू »फूमी»),
«23»: _ (यू »ट्रेस वेंटडेक्स»),
«24»: _ (यू »वेंटकैम»),
«25»: _ (u »Froid»),
«26»: _ (यू »Nuageux»),
«27»: _ (यू »ट्रेस नुएग्यूक्स»),
«28»: _ (यू »ट्रेस नुएग्यूक्स»),
«29»: _ (यू »Nuages ​​Disséminés»),
«30»: _ (यू »Nuages ​​Disséminés»),
«31»: _ (यू »ब्यू»),
«32»: _ (यू »ब्यू»),
«33»: _ (यू »बेल्स cclaircies»),
«34»: _ (यू »बेल्स cclaircies»),
«35»: _ (यू »प्लू एवेसी ग्रैले»),
«36»: _ (यू »चेलूर»),
«37»: _ (या »आइज़ोलिस»),
«38»: _ (या »स्थानीय लोगों»),
«39»: _ (या »स्थानीय लोगों»),
«40»: _ (यू »एवेर्सिस लोकलिजेस»),
«41»: _ (यू »नीज़ लूर्ड»),
«42»: _ (यू »टेम्पपेट डे नीगे लोकलिजेस»),
«43»: _ (यू »नीज़ लूर्ड»),
«44»: _ (यू »Nuages ​​Disséminés»),
«45»: _ (या »Orages»),
«46»: _ (यू »टेम्पपेट डे नीगे»),
«47»: _ (या »आइज़ोलिस»),
«ना»: _ (यू »एन / ए»),
"-": _(ए")
}

स्थितियां
«0»: _ (यू »डब्ल्यू»),
«1»: _ (यू »वी»),
«2»: _ (यू »डब्ल्यू»),
«3»: _ (यू »एस»),
«4»: _ (यू »पी»),
«5»: _ (यू »के»),
«6»: _ (यू »के»),
«7»: _ (यू »जी»),
«8»: _ (यू »जी»),
«9»: _ (यू »जी»),
«10»: _ (यू »एच»),
«11»: _ (यू »जी»),
«12»: _ (यू »जी»),
«13»: _ (यू »के»),
«14»: _ (यू »के»),
«15»: _ (यू »के»),
«16»: _ (यू »के»),
«17»: _ (यू »के»),
«18»: _ (यू »के»),
«19»: _ (यू »ई»),
«20»: _ (यू »ई»),
«21»: _ (यू »ए»),
«22»: _ (यू »डी»),
«23»: _ (यू »डी»),
«24»: _ (यू »डी»),
«25»: _ (यू »डी»),
«26»: _ (यू »ई»),
«27»: _ (यू »ई»),
«28»: _ (यू »ई»),
«29»: _ (यू »सी»),
«30»: _ (यू »सी»),
«31»: _ (यू »ए»),
«32»: _ (यू »ए»),
«33»: _ (यू »बी»),
«34»: _ (यू »बी»),
«35»: _ (यू »के»),
«36»: _ (यू »ए»),
«37»: _ (यू »एफ»),
«38»: _ (यू »एफ»),
«39»: _ (यू »एफ»),
«40»: _ (यू »जी»),
«41»: _ (यू »के»),
«42»: _ (यू »के»),
«43»: _ (यू »के»),
«44»: _ (यू »बी»),
«45»: _ (यू »जी»),
«46»: _ (यू »के»),
«47»: _ (यू »एफ»),
«ना»: _ (यू »»),
"-": _ (या "")
}

स्थितियां_मून_फोंट = {
«0»: _ (यू »1»),
«1»: _ (यू »एन»),
«2»: _ (यू »ओ»),
«3»: _ (यू »पी»),
«4»: _ (यू »क्यू»),
«5»: _ (यू »आर»),
«6»: _ (यू »एस»),
«7»: _ (यू »टी»),
«8»: _ (यू »यू»),
«9»: _ (यू »वी»),
«10»: _ (यू »डब्ल्यू»),
«11»: _ (यू »एक्स»),
«12»: _ (यू »वाई»),
«13»: _ (यू »जेड»),
«14»: _ (यू »0»),
«15»: _ (यू »0»),
«16»: _ (यू »ए»),
«17»: _ (यू »बी»),
«18»: _ (यू »सी»),
«19»: _ (यू »डी»),
«20»: _ (यू »ई»),
«21»: _ (यू »एफ»),
«22»: _ (यू »जी»),
«23»: _ (यू »एच»),
«24»: _ (यू »मैं»),
«25»: _ (यू »जे»),
«26»: _ (यू »के»),
«27»: _ (यू »एल»),
«28»: _ (यू »एम»),
«29»: _ (यू »1»),
«ना»: _ (यू »»),
"-": _ (या "")
}

दिन_ऑफ_सप्ताह = {
"आज": _ (या "आज"),
«सोमवार»: _ (यू »सोमवार»),
«मंगलवार»: _ (यू »मंगलवार»),
«बुधवार»: _ (यू »बुधवार»),
«गुरुवार»: _ (यू »गुरुवार»),
"शुक्रवार": _ (यू "शुक्रवार"),
"शनिवार": _ (यू "शनिवार"),
"संडे": _ (यू "संडे")
}

दिन_ऑफ_सप्ताह_शॉर्ट = {
"आज": _ (यू "अब"),
«सोमवार»: _ (यू »सोम»),
«मंगलवार»: _ (यू »मंगल»),
«बुधवार»: _ (यू »बुध»),
«गुरुवार»: _ (यू »थू»),
«शुक्रवार»: _ (यू »शुक्र»),
"शनिवार": _ (यू "सत"),
"रविवार": _ (यू "सन")
}

day_of_week_en = {
"आज": _ (यू "आज"),
«सोमवार»: _ (यू »सोमवार»),
«मंगलवार»: _ (या »मंगलवार»),
«बुधवार»: _ (यू »बुधवार»),
«गुरुवार»: _ (यू »गुरुवार»),
«शुक्रवार»: _ (यू »शुक्रवार»),
"शनिवार": _ (यू "शनिवार"),
"संडे": _ (यू "संडे")
}

day_of_week_short_en = {
"आज": _ (यू "आज"),
"सोमवार": _ (यू "सोम"),
«मंगलवार»: _ (यू »समुद्र»),
«बुधवार»: _ (यू »वेद»),
«गुरुवार»: _ (यू »गुरुवार»),
"शुक्रवार": _ (यू "फ्रिल"),
"शनिवार": _ (यू "शनि"),
"रविवार": _ (यू "डोम")
}

सप्ताह_का दिन = {
«आज»: _ (u »Aujourd'hui»),
«सोमवार»: _ (यू »लुंडी»),
«मंगलवार»: _ (यू »मार्डी»),
«बुधवार»: _ (यू »मर्सेडी»),
«गुरुवार»: _ (यू »जेउदी»),
«शुक्रवार»: _ (यू »वेंडीरेड्डी»),
"शनिवार": _ (यू "सामेदी"),
"रविवार": _ (यू "डिमंच")
}

सप्ताह_का दिन_छोटा_fr = {
«आज»: _ (यू »औज»),
"सोमवार": _ (यू "सोम"),
«मंगलवार»: _ (यू »मार्च»),
"बुधवार": _ (यू "मेर"),
«गुरुवार»: _ (u »Jeu»),
«शुक्रवार»: _ (यू »आओ»),
"शनिवार": _ (यू "सैम"),
"रविवार": _ (यू "डिम")
}

असर_अरो_फोंट = {
«एन»: _ (यू »मैं»),
«NNE»: _ (u »j»),
«एनई»: _ (यू »के»),
«ENE»: _ (u »l»),
«ई»: _ (यू »एम»),
«ईएसई»: _ (यू »एन»),
"एसई": _ (यू "ओ"),
«एसएसई»: _ (यू »पी»),
«एस»: _ (यू »ए»),
«एसएसडब्ल्यू»: _ (यू »बी»),
«SW»: _ (u »c»),
"डब्ल्यूएसडब्ल्यू": _ (यू "डी"),
«डब्ल्यू»: _ (यू »ई»),
"WNW": _ (u "f"),
«एनडब्ल्यू»: _ (यू »जी»),
«एनएनडब्ल्यू»: _ (यू »एच»),
«एन / ए»: _ (यू »«)
}

असर_टेक्स्ट_से = {
«एन»: _ (यू »एन»),
«NNE»: _ (u »NNE»),
«NE»: _ (u »NE»),
«ENE»: _ (u »ENE»),
"यूरोपीय संघ के ई"),
«ईएसई»: _ (यू »ईएसई»),
«एसई»: _ (यू »एसई»),
"एसएसई": _ (यू "एसएसई"),
"जो अपने"),
"एसएसडब्ल्यू": _ (यू "एसएसओ"),
«SW»: _ (u »SO»),
"डब्ल्यूएसडब्ल्यू": _ (यू "वाह"),
«डब्ल्यू»: _ (यू »ओ»),
«WNW»: _ (u »ONO»),
«एनडब्ल्यू»: _ (यू »सं»),
«एनएनडब्ल्यू»: _ (यू »एनएनओ»),
«एन / ए»: _ (यू »एन \ ए»)
}

असर_टेक्स्ट_फ्रेंड = {
«एन»: _ (यू »एन»),
«NNE»: _ (u »NNE»),
«NE»: _ (u »NE»),
«ENE»: _ (u »ENE»),
"यूरोपीय संघ के ई"),
«ईएसई»: _ (यू »ईएसई»),
«एसई»: _ (यू »एसई»),
"एसएसई": _ (यू "एसएसई"),
"जो अपने"),
"एसएसडब्ल्यू": _ (यू "एसएसओ"),
«SW»: _ (u »SO»),
"डब्ल्यूएसडब्ल्यू": _ (यू "वाह"),
«डब्ल्यू»: _ (यू »ओ»),
«WNW»: _ (u »ONO»),
«एनडब्ल्यू»: _ (यू »सं»),
«एनएनडब्ल्यू»: _ (यू »एनएनओ»),
«एन / ए»: _ (यू »एन \ ए»)
}

क्लास ग्लोबलवेदर:

वर्तमान_शर्तें = []
दिन_पूर्वानुमान = []
रात का पूर्वानुमान = []

लोकेल = "में"

विकल्प = कोई नहीं
वेदरएक्सएमएलडॉक = «»

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 __ (स्व, विकल्प):

self.options = विकल्प

अगर स्व।
प्रयास करें:
# स्व.लोकाले = लोकेल.गेटडेफॉल्टलोकेल () [0] [0: 2]
self.locale = «es» # इस स्थान पर स्पेनिश लोकेल को मजबूर करने के लिए
# self.locale = "fr" # फ्रेंच लोकेल को मजबूर करने के लिए इस लाइन को जोड़ दें
के सिवाय:
"लोकेल सेट नहीं" प्रिंट करें
अन्य:
# स्व.लोकाले = स्व। दत्तक.लोक
self.locale = «es» # इस स्थान पर स्पेनिश लोकेल को मजबूर करने के लिए
# self.locale = "fr" # फ्रेंच लोकेल को मजबूर करने के लिए इस लाइन को जोड़ दें

यदि स्व।
प्रिंट >> sys.stdout, "locale set to", self.locale

def getext (self, nodelist):
आरसी = «»
नोडेलिस्ट में नोड के लिए:
यदि नोड।
आरसी = आरसी + नोड.डेटा
वापसी आरसी

def getSpaces (स्वयं, स्थान):
स्ट्रिंग = यू »»
यदि रिक्त स्थान == कोई नहीं:
स्ट्रिंग = स्वयं.DEFAULT_SPACING
अन्य:
मैं सीमा में (0, रिक्त स्थान + 1):
string = string + u »«
वापसी स्ट्रिंग

डी। न्यूमेरिक (स्व, स्ट्रिंग):
प्रयास करें:
डमी = फ्लोट (स्ट्रिंग)
सच लौटाओ
के सिवाय:
विवरण झूठा है

बचाव
# सुनिश्चित करें कि हम url खोलकर weather.com के सर्वर तक पहुँच सकते हैं
प्रयास करें:
Usock = urllib2.urlopen ('http://xoap.weather.com')
Usock.close ()
सच लौटाओ
के सिवाय:
विवरण झूठा है

def getBearingText (स्व, असर):
असर = नाव (असर)
यदि असर <11.25:
वापसी यू »एन»
एलीफ असर <33.75:
वापसी यू »NNE»
एलीफ असर <56.25:
वापसी यू »एनई»
एलीफ असर <78.75:
वापसी यू »जन»
एलीफ असर <101.25:
वापसी यू »ई»
एलीफ असर <123.75:
वापसी यू »ईएसई»
एलीफ असर <146.25:
वापसी यू »एसई»
एलीफ असर <168.75:
वापसी यू »एसएसई»
एलीफ असर <191.25:
वापसी यू »एस»
एलीफ असर <213.75:
वापसी यू »एसएसडब्ल्यू»
एलीफ असर <236.25:
वापसी यू »एसडब्ल्यू»
एलीफ असर <258.75:
वापसी यू »WSW»
एलीफ असर <281.25:
वापसी यू »डब्ल्यू»
एलीफ असर <303.75:
वापसी यू »WNW»
एलीफ असर <326.25:
वापसी यू »एनडब्ल्यू»
एलीफ असर <348.75:
वापसी यू »एनएनडब्ल्यू»
अन्य:
वापसी «एन / ए»

डीईएफ़ कन्वर्ट सेल्सियस
वापसी str (int (फ्लोर (((अस्थायी)) * 9.0) / 5.0) +32))

डीईएफ़ कन्वर्टकिलोमीट्रेसटोमाइल्स (स्व, डिस्ट):
वापस लौट आना

धर्मान्तरित करें
वापसी str (int (फ़्लोट (mb) / 33.8582)))

def getTemplateList (स्वयं, टेम्प्लेट):

टेम्प्लेटलिस्ट = []

Template_part के लिए template.split («{«) में:
अगर template_part! = «»:
template_part के लिए template_part.split ("}") में:
अगर template_part! = «»:
templatelist.append (u »» + टेम्प्लेट_पार्ट)

टेम्पलटेलिस्ट लौटें

def getututput
#प्रयत्न:
आउटपुट = यू »»

# आउटपुट के लिए वर्तमान इकाइयों को परिभाषित करें
अगर ठिकाने == गलत:
यदि शाही == गलत:
tempunit = u »° C»
speedunit = u »kph»
pressureunit = u »mb»
अन्य:
tempunit = u »° F»
speedunit = u »mph»
दबाव »में»
अन्य:
tempunit = u »°»
speedunit = u »»
प्रेशुनिट = यू »»

if startday == कोई नहीं: # वर्तमान स्थितियां

यदि डेटापाइप == "डीडब्ल्यू":
यदि self.locale == "" है:
अगर शॉर्टवेकेड == ट्रू:
आउटपुट = WeatherText.day_of_week_short_es [self.current_conditions [0] .day_of_week]।
अन्य:
आउटपुट = WeatherText.day_of_week_es [self.current_conditions [0] .day_of_week]
एलिफ सेल्फ.लोकेल == "fr":
अगर शॉर्टवेकेड == ट्रू:
आउटपुट = WeatherText.day_of_week_short_fr [self.current_conditions [0] .day_of_week]।
अन्य:
आउटपुट = WeatherText.day_of_week_fr [self.current_conditions [0] .day_of_week]
अन्य:
अगर शॉर्टवेकेड == ट्रू:
आउटपुट = WeatherText.day_of_week_short [self.current_conditions [0] .day_of_week]
अन्य:
आउटपुट = WeatherText.day_of_week [self.current_conditions [0] .day_of_week]
elif datatype == "WF": # मौसम फ़ॉन्ट
आउटपुट = WeatherText.conditions_weather_font [self.current_conditions [0] .condition_code]
एलिफ डेटेटाइप == "एलटी":
string = self.current_conditions [0] .low
यदि स्व।
अगर शाही == सच:
string = self.convertC सेल्सियसToFahrenheit (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + टेम्पुनिट
आउटपुट = स्ट्रिंग
एलिफ डेटैटाइप == "HT":
string = self.current_conditions [0] .high
यदि स्व।
अगर शाही == सच:
string = self.convertC सेल्सियसToFahrenheit (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + टेम्पुनिट
आउटपुट = स्ट्रिंग
एलिफ डेटेटाइप == "सीसी":
यदि self.locale == "" है:
आउटपुट = WeatherText.conditions_text_es [self.current_conditions [0]। कॉन्डिशन_कोड]
एलिफ सेल्फ.लोकेल == "fr":
आउटपुट = WeatherText.conditions_text_fr [self.current_conditions [0]। कॉन्डिशन_कोड]
अन्य:
आउटपुट = WeatherText.conditions_text [self.current_conditions [0]। कॉन्डिशन_कोड]
एलिफ डेटेटाइप == "सीटी":
आउटपुट = self.current_conditions [0] .condition_text
एलीफ डेटाटाइप == "पीसी":
string = self.current_conditions [0] ।धर्म
यदि स्व।
string = string + u »%»
आउटपुट = स्ट्रिंग
एलिफ डेटेटाइप == "एचएम":
string = self.current_conditions [0]। अम्लता
यदि स्व।
string = string + u »%»
आउटपुट = स्ट्रिंग
एलिफ डेटेटाइप == "डब्ल्यूडी":
string = self.current_conditions [0] .wind_dir
यदि स्व।
string = self.getBearingText (string)

यदि self.locale == "" है:
आउटपुट = WeatherText.bearing_text_es [स्ट्रिंग]
एलिफ सेल्फ.लोकेल == "fr":
आउटपुट = WeatherText.bearing_text_fr [स्ट्रिंग]
अन्य:
आउटपुट = स्ट्रिंग

एलिफ डेटेटाइप == "बीएफ":
string = self.current_conditions [0] .wind_dir
यदि स्व।
string = WeatherText.bearing_arrow_font [self.getBearingText (string)]
आउटपुट = स्ट्रिंग
एलीफ डेटाटाइप == "डब्ल्यूएस":
string = self.current_conditions [0] .wind_speed
यदि स्व।
अगर शाही == सच:
string = self.convertKilometresToMiles (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + स्पीडयूनिट
आउटपुट = स्ट्रिंग
एलिफ डेटेटाइप == "डब्ल्यूजी":
string = self.current_conditions [0] .wind_gusts
यदि स्व।
अगर शाही == सच:
string = self.convertKilometresToMiles (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + स्पीडयूनिट
आउटपुट = स्ट्रिंग
एलिफ डेटेटाइप == "सीएन":
आउटपुट = self.current_conditions [0] .city
एलिफ डेटेटाइप == "एसआर":
आउटपुट = self.current_conditions [0] .sunrise
एलिफ डेटेटाइप == "एसएस":
आउटपुट = self.current_conditions [0]। सूर्यास्त
एलिफ डेटेटाइप == "एमपी":
आउटपुट = self.current_conditions [0] .moon_phase
एलीफ डेटाटाइप == "एमएफ":
आउटपुट = WeatherText.conditions_moon_font [self.current_conditions [0] .moon_icon]
एलिफ डेटेटाइप == "बीआर":
string = self.current_conditions [0] .bar_read
यदि स्व।
अगर शाही == सच:
string = self.convertMillibarsToInches (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + प्रेशरयूनिट
आउटपुट = स्ट्रिंग
एलिफ डेटेटाइप == "बीडी":
आउटपुट = self.current_conditions [0] .bar_desc
अन्य:
आउटपुट = "\ nERROR: अज्ञात डेटा प्रकार का अनुरोध"

और: # पूर्वानुमान डेटा

if endday == कोई नहीं: # यदि कोई endday सेट नहीं था तो startday का उपयोग करें
अंतिम दिन = प्रारंभ दिवस

अगर रात == सच: # रात पूर्वानुमान की आवश्यकता है

रेंज में day_number के लिए (शुरुआत, एंडडे + 1):

यदि डेटापाइप == "डीडब्ल्यू":
यदि self.locale == "" है:
अगर शॉर्टवेकेड == ट्रू:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_short_es [self.night_forecast [day_number] .day_of_week]।
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_es [self.night_forecast [day_number] .day_of_week]।
एलिफ सेल्फ.लोकेल == "fr":
अगर शॉर्टवेकेड == ट्रू:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_short_fr [self.night_forecast [day_number] .day_of_week]।
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_fr [self.night_forecast [day_number] .day_of_week]।
अन्य:
अगर शॉर्टवेकेड == ट्रू:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_short [self.night_forecast [day_number] .day_of_week]।
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week [self.night_forecast [day_number] .day_of_week]।
elif datatype == "WF": # मौसम फ़ॉन्ट
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_weather_font [self.night_forecast [day_number] .condition_code]।
एलिफ डेटेटाइप == "एलटी":
string = self.night_forecast [day_number] .low
यदि स्व।
अगर शाही == सच:
string = self.convertC सेल्सियसToFahrenheit (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + टेम्पुनिट
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग

एलिफ डेटैटाइप == "HT":
string = self.night_forecast [day_number] .high
यदि स्व।
अगर शाही == सच:
string = self.convertC सेल्सियसToFahrenheit (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + टेम्पुनिट
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "सीसी":
यदि self.locale == "" है:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_text_es [self.night_forecast [day_number] .condition_code]।
एलिफ सेल्फ.लोकेल == "fr":
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_text_fr [self.night_forecast [day_number] .condition_code]।
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_text [self.night_forecast [day_number] .condition_code]।
एलिफ डेटेटाइप == "सीटी":
output = output + self.getSpaces (रिक्त स्थान) + self.night_forecast [day_number] .condition_xtxt।
एलीफ डेटाटाइप == "पीसी":
string = self.night_forecast [day_number] .precip
यदि स्व।
string = string + u »%»
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "एचएम":
string = self.night_forecast [day_number] .humidity
यदि स्व।
string = string + u »%»
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "डब्ल्यूडी":
string = self.night_forecast [day_number] .wind_dir
यदि self.locale == "" है:
आउटपुट = आउटपुट + self.getSpaces (रिक्त स्थान) + WeatherText.bearing_text_es [string]
एलिफ सेल्फ.लोकेल == "fr":
आउटपुट = आउटपुट + self.getSpaces (रिक्त स्थान) + WeatherText.bearing_text_fr [string]
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग

एलिफ डेटेटाइप == "बीएफ":
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.bearing_arrow_font [self.night_forecast [day_number] .wind_dir]।
एलीफ डेटाटाइप == "डब्ल्यूएस":
string = self.night_forecast [day_number] .wind_speed
यदि स्व।
अगर शाही == सच:
string = self.convertKilometresToMiles (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + स्पीडयूनिट
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "डब्ल्यूजी":
string = self.night_forecast [day_number] .wind_gusts
यदि स्व।
अगर शाही == सच:
string = self.convertKilometresToMiles (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + स्पीडयूनिट
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "सीएन":
output = output + self.getSpaces (रिक्त स्थान) + self.night_forecast [day_number] .city
एलिफ डेटेटाइप == "एसआर":
output = output + self.getSpaces (रिक्त स्थान) + self.night_forecast [day_number] .sunrise
एलिफ डेटेटाइप == "एसएस":
output = output + self.getSpaces (रिक्त स्थान) + self.night_forecast [day_number] .sunset
एलिफ डेटेटाइप == "एमपी":
आउटपुट = आउटपुट + self.getSpaces (रिक्त स्थान) + self.night_forecast [day_number] .moon_phase
एलीफ डेटाटाइप == "एमएफ":
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_moon_font [self.night_forecast [day_number] .moon_icon]
एलिफ डेटेटाइप == "बीआर":
output = output + self.getSpaces (रिक्त स्थान) + self.night_forecast [day_number] .bar_read
एलिफ डेटेटाइप == "बीडी":
आउटपुट = आउटपुट + self.getSpaces (स्थान) + self.night_forecast [day_number] .bar_des।
अन्य:
आउटपुट = "\ nERROR: अज्ञात डेटा प्रकार का अनुरोध"
तोड़ना

और: # दिन पूर्वानुमान चाहता था

रेंज में day_number के लिए (शुरुआत, एंडडे + 1):

यदि डेटापाइप == "डीडब्ल्यू":
यदि self.locale == "" है:
अगर शॉर्टवेकेड == ट्रू:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_short_es [self.day_forecast [day_number] .day_of_week]।
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_es [self.day_forecast [day_number] .day_of_week]।
एलिफ सेल्फ.लोकेल == "fr":
अगर शॉर्टवेकेड == ट्रू:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_short_fr [self.day_forecast [day_number] .day_of_week]।
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_fr [self.day_forecast [day_number] .day_of_week]।
अन्य:
अगर शॉर्टवेकेड == ट्रू:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week_short [self.day_forecast [day_number] .day_of_week]।
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.day_of_week [self.day_forecast [day_number] .day_of_week]।
elif datatype == "WF": # मौसम फ़ॉन्ट
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_weather_font [self.day_forecast [day_number] .condition_code]।
एलिफ डेटेटाइप == "एलटी":
string = self.day_forecast [day_number] .low
यदि स्व।
अगर शाही == सच:
string = self.convertC सेल्सियसToFahrenheit (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + टेम्पुनिट
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटैटाइप == "HT":
string = self.day_forecast [day_number] .high
यदि स्व।
अगर शाही == सच:
string = self.convertC सेल्सियसToFahrenheit (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + टेम्पुनिट
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "सीसी":
यदि self.locale == "" है:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_text_es [self.day_forecast [day_number] .condition_code]।
एलिफ सेल्फ.लोकेल == "fr":
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_text_fr [self.day_forecast [day_number] .condition_code]।
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_text [self.day_forecast [day_number] .condition_code]।
एलिफ डेटेटाइप == "सीटी":
output = output + self.getSpaces (रिक्त स्थान) + self.day_forecast [day_number] .condition_xtxt।
एलीफ डेटाटाइप == "पीसी":
string = self.day_forecast [day_number] .precip
यदि स्व।
string = string + u »%»
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "एचएम":
string = self.day_forecast [day_number] .humidity
यदि स्व।
string = string + u »%»
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "डब्ल्यूडी":
string = self.day_forecast [day_number] .wind_dir

यदि self.locale == "" है:
आउटपुट = आउटपुट + self.getSpaces (रिक्त स्थान) + WeatherText.bearing_text_es [string]
एलिफ सेल्फ.लोकेल == "fr":
आउटपुट = आउटपुट + self.getSpaces (रिक्त स्थान) + WeatherText.bearing_text_fr [string]
अन्य:
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग

एलिफ डेटेटाइप == "बीएफ":
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.bearing_arrow_font [self.day_forecast [day_number] .wind_dir]।
एलीफ डेटाटाइप == "डब्ल्यूएस":
string = self.day_forecast [day_number] .wind_speed
यदि स्व।
अगर शाही == सच:
string = self.convertKilometresToMiles (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + स्पीडयूनिट
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "डब्ल्यूजी":
string = self.day_forecast [day_number] .wind_gusts
यदि स्व।
अगर शाही == सच:
string = self.convertKilometresToMiles (स्ट्रिंग)
स्ट्रिंग = स्ट्रिंग + स्पीडयूनिट
output = output + self.getSpaces (रिक्त स्थान) + स्ट्रिंग
एलिफ डेटेटाइप == "सीएन":
output = output + self.getSpaces (रिक्त स्थान) + self.day_forecast [day_number] .city
एलिफ डेटेटाइप == "एसआर":
output = output + self.getSpaces (रिक्त स्थान) + self.day_forecast [day_number] .sunrise
एलिफ डेटेटाइप == "एसएस":
output = output + self.getSpaces (रिक्त स्थान) + self.day_forecast [day_number] .sunset
एलिफ डेटेटाइप == "एमपी":
आउटपुट = आउटपुट + self.getSpaces (रिक्त स्थान) + self.day_forecast [day_number] .moon_phase
एलीफ डेटाटाइप == "एमएफ":
output = output + self.getSpaces (रिक्त स्थान) + WeatherText.conditions_moon_font [self.day_forecast [day_number] .moon_icon]
एलिफ डेटेटाइप == "बीआर":
output = output + self.getSpaces (रिक्त स्थान) + self.day_forecast [day_number] .bar_read
एलिफ डेटेटाइप == "बीडी":
आउटपुट = आउटपुट + self.getSpaces (स्थान) + self.day_forecast [day_number] .bar_des।
अन्य:
आउटपुट = u »\ nERROR: अज्ञात डेटा प्रकार का अनुरोध किया गया»
तोड़ना

output = u »» + output.strip (u »«) # प्रमुख / अनुगामी रिक्त स्थान खो देते हैं
वापसी उत्पादन

#के सिवाय:
#print "getOutputText: अनपेक्षित त्रुटि:", sys.exc_info () [0]

def getututputtextFromTemplate (स्वयं, टेम्पलेट):
#प्रयत्न:

# टेम्प्लेट डेटा की कुंजी
DATATYPE_KEY = "
STARTDAY_KEY = "-स्टार्टडे ="
ENDDAY_KEY = "-दिन ="
NIGHT_KEY = "रात"
SHORTWEEKDAY_KEY = "–शॉर्टवेकेडे"
IMPERIAL_KEY = "
HIDEUNITS_KEY = "-हाइड्यूनिट्स"
SPACES_KEY = "-spaces ="

आउटपुट = यू »»

पर्यायवाची = गलत

# फ़ाइल लोड करें
प्रयास करें:
fileinput = open (self.options.template)
टेम्पलेट = fileinput.read ()
fileinput.close ()
के सिवाय:
आउटपुट = u »टेम्प्लेट फ़ाइल नहीं मिली!»

templatelist = self.getTemplateList (टेम्पलेट)

# टेम्पलेट सूची के माध्यम से चलने देता है और प्रत्येक आइटम के लिए आउटपुट का निर्धारण करता है
मैं के लिए सीमा में (0, लेन (templatelist) -1):

pos = templatelist [i] .find (DATATYPE_KEY)
अगर पोज! = -1:
पर्यायवाची = सत्य
स्थिति = स्थिति + लेन (DATATYPE_KEY)
डेटाटाइप = टेम्पलटेलिस्ट [i] [पॉस: पॉस + 4] .स्ट्रिप ("}")। स्ट्रिप ("{")। स्ट्रिप ("-")। स्ट्रिप ("")
अन्य:
डाटापाइप = कोई नहीं

pos = templatelist [i] .find (STARTDAY_KEY)
अगर पोज! = -1:
पर्यायवाची = सत्य
स्थिति = स्थिति + लेन (STARTDAY_KEY)
startday = int (templatelist [i] [pos: pos + 4] .strip ("}")। strip ("{{")। strip ("-")। strip ("")।
अन्य:
शुरुआत = कोई नहीं

pos = templatelist [i] .find (ENDDAY_KEY)
अगर पोज! = -1:
पर्यायवाची = सत्य
स्थिति = स्थिति + लेन (ENDDAY_KEY)
endday = int (templatelist [i] [pos: pos + 4] .strip ("}")। strip ("{{")। strip ("-")। strip ("")।
अन्य:
endday = कोई नहीं

pos = templatelist [i] .find (NIGHT_KEY)
अगर पोज! = -1:
पर्यायवाची = सत्य
रात = सत्य
अन्य:
रात = झूठी

pos = templatelist [i] .find (SHORTWEEKDAY_KEY)
अगर पोज! = -1:
पर्यायवाची = सत्य
लघुवृक्ष = सत्य
अन्य:
shortweekday = मिथ्या

pos = templatelist [i] .find (IMPERIAL_KEY)
अगर पोज! = -1:
पर्यायवाची = सत्य
शाही = सच्चा
अन्य:
शाही = झूठी

pos = templatelist [i] .find (HIDEUNITS_KEY)
अगर पोज! = -1:
पर्यायवाची = सत्य
ठिकानेदार = सच्चा
अन्य:
ठिकाना = झूठ

pos = templatelist [i] .find (SPACES_KEY)
अगर पोज! = -1:
पर्यायवाची = सत्य
स्थिति = स्थिति + लेन (SPACES_KEY)
रिक्त स्थान = int (templatelist [i] [स्थिति: स्थिति + 4]। पट्टी («}»)। पट्टी («{«)। पट्टी («-«)। पट्टी (»«)।
अन्य:
रिक्त स्थान = 1

यदि विकल्पफल == सत्य:
templatelist [i] = self.getOutputText (datatype, startday, endday, night, shortweekday, imperial, hideunits, रिक्त स्थान)
पर्यायवाची = गलत

# सूची के माध्यम से जाने के लिए अब उत्पादन है कि यह आबाद किया गया है
टेम्पलटेलिस्ट में आइटम के लिए:
आउटपुट = आउटपुट + आइटम

वापसी उत्पादन

#के सिवाय:
#print "getOutputTextFromTemplate: अप्रत्याशित त्रुटि:", sys.exc_info () [0]

डीच भ्रूणदा (स्व):

# हमेशा मीट्रिक डेटा प्राप्त करें, इस डेटा पर वार्तालाप फ़ंक्शन का उपयोग करें
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)

अगर स्व।
यदि os.path.exists (file_path_current):
RefetchData = गलत
और: # नो कनेक्शन, नो कैश, बैंग!
प्रिंट "कोई इंटरनेट कनेक्शन उपलब्ध नहीं है और कोई कैशेड मौसम डेटा मौजूद नहीं है।"
elif self.options.refetch == सच:
RefetchData = सच
अन्य:
# क्या डेटा को फिर से प्राप्त करने की आवश्यकता है?
यदि os.path.exists (file_path_current):
अंतिम बार
समाप्ति

अगर समाप्ति
RefetchData = सच
अन्य:
RefetchData = गलत
अन्य:
RefetchData = सच

# मौजूदा स्थितियों का डेटा, वेबसाइट से या 'अनप्लिकिंग' द्वारा
अगर RefetchData == सच:

# xoap सेवा से वर्तमान स्थिति डेटा प्राप्त करें
प्रयास करें:

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

URL यूनिट = एम '
यदि स्व।
प्रिंट >> sys.stdout, ««, यूआरएल से मौसम डेटा प्राप्त करना

Usock = urllib2.urlopen (url)
xml = usock.read ()
Usock.close ()
self.weatherxmldoc = minidom.parseString (xml)
के सिवाय:
प्रिंट करें "fetchData: अनपेक्षित त्रुटि:", sys.exc_info () [0]
"वर्तमान परिस्थितियों के लिए मौसम स्रोत से संपर्क करने में असमर्थ"

# यदि स्थान खराब है तो उपयोगकर्ता को बताएं ...
पाया = xml.find ("अमान्य स्थान प्रदान किया गया")
अगर पाया जाता है! = -1:
"अमान्य स्थान प्रदान किया गया" प्रिंट करें

# मौसम डेटा से पूछताछ करें, कक्षा संरचना में लोड करें और इसे अचार करें
प्रयास करें:

# मौसम डेटा सूची तैयार करें
स्व.वर्तमान_शर्तें = []
स्व.दिन_पूर्वानुमान = []
स्व.रात_पूर्वानुमान = []

# सामान्य डेटा एकत्र करें
Weather_n = self.weatherxmldoc.documentElement
location_n = weather_n.getElementsByTagName ('स्थान') [0]
city_n = location_n.getElementsByTagName ('dnam') [0]
शहर = self.getText (city_n.childNodes)

# वर्तमान स्थिति डेटा एकत्र करें
day_of_week = u »आज»
precip = u »N / A»
sunrise_n = location_n.getElementsByTagName ('sunr') [0]
sunrise = self.getText (sunrise_n.childNodes)
sunset_n = location_n.getElementsByTagName ('suns') [0]
sunset = 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 ('आइकन') [0]
current_code = self.getText (current_code_n.childNodes)
current_temp_n = current_condition_n.getElementsByTagName ('tmp') []]
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 ('बार') [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 ('हवा') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_gust_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (wind_gust_n.childNodes)
wind_dir_n = wind_n.getElementsByTagName ('d') [0]
wind_direction = self.getText (wind_dir_n.childNodes)
आर्द्रता_ एन = करंट_कंडिशन_एन.गैस बाइट्सटैगनेम ('हमीद') [0]
आर्द्रता = self.getText (आर्द्रता_n.childNodes)
moon_n = current_condition_n.getElementsByTagName ('चंद्रमा') [0]
moon_icon_n = moon_n.getElementsByTagName ('आइकन') [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 = WeatherData (day_of_week, current_temp_feels, current_temp, current_desc, pre_desc, precip, आर्द्रता, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_phase, bar_read, bar_read)
self.current_conditions.append (current_conditions_data)

# पूर्वानुमान डेटा एकत्र करें
bar_read = u »N / A»
bar_desc = u »N / A»
चाँद_पसे = यू »एन / ए»
चाँद_कोण = यू »ना»
भविष्यवाणियां
day_nodes = पूर्वानुमान_n.getElementsByTagName ('दिन')

दिन के लिए दिन_दिनों में:
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 ('कम') [0]
low_temp = self.getText (low_temp_n.childNodes)

sunrise_n = day.getElementsByTagName ('sunr') [0]
sunrise = self.getText (sunrise_n.childNodes)
sunset_n = day.getElementsByTagName ('suns') [0]
sunset = self.getText (sunset_n.childNodes)

# दिन विशिष्ट डेटा का पूर्वानुमान
daytime_n = day.getElementsByTagName ('भाग') [0] # दिन
condition_code_n = daytime_n.getElementsByTagName ('आइकन') [0]
condition_code = self.getText (condition_code_n.childNodes)
condition_n = daytime_n.getElementsByTagName ('t') [0]
हालत = self.getText (कंडीशन_n.childNodes)
precip_n = daytime_n.getElementsByTagName ('ppcp') [0]
precip = self.getText (precip_n.childNodes)
आर्द्रता_ एन = daytime_n.getElementsByTagName ('hmid') [0]
आर्द्रता = self.getText (आर्द्रता_n.childNodes)
wind_n = daytime_n.getElementsByTagName ('हवा') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
wind_direction = self.getText (wind_direction_n.childNodes)
wind_gusts_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (wind_gusts_n.childNodes)
day_forecast_data = WeatherData (day_of_week, low_temp, high_temp, condition_code, condition, precip, आर्द्रता, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_readc, bar_desc)
self.day_forecast.append (day_forecast_data)

# रात का पूर्वानुमान विशिष्ट डेटा
daytime_n = day.getElementsByTagName ('भाग') [1] # रात
condition_code_n = daytime_n.getElementsByTagName ('आइकन') [0]
condition_code = self.getText (condition_code_n.childNodes)
condition_n = daytime_n.getElementsByTagName ('t') [0]
हालत = self.getText (कंडीशन_n.childNodes)
precip_n = daytime_n.getElementsByTagName ('ppcp') [0]
precip = self.getText (precip_n.childNodes)
आर्द्रता_ एन = daytime_n.getElementsByTagName ('hmid') [0]
आर्द्रता = self.getText (आर्द्रता_n.childNodes)
wind_n = daytime_n.getElementsByTagName ('हवा') [0]
wind_speed_n = wind_n.getElementsByTagName ('s') [0]
wind_speed = self.getText (wind_speed_n.childNodes)
wind_direction_n = wind_n.getElementsByTagName ('t') [0]
wind_direction = self.getText (wind_direction_n.childNodes)
wind_gusts_n = wind_n.getElementsByTagName ('gust') [0]
wind_gusts = self.getText (wind_gusts_n.childNodes)
night_forecast_data = WeatherData (day_of_week, low_temp, high_temp, condition_code, condition, precip, आर्द्रता, wind_direction, wind_speed, wind_gusts, city, sunrise, sunset, moon_phase, moon_icon, bar_readc, bar_desc)
self.night_forecast.append (night_forecast_data)

# अगली बार डेटा का अचार!
fileoutput = open (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 ()

के सिवाय:
प्रिंट करें "fetchData: अनपेक्षित त्रुटि:", sys.exc_info () [0]
"मौसम डेटा से पूछताछ करने में असमर्थ"

और: # अचार वाली क्लास फाइल्स से # वेदर वेदर डेटा
यदि स्व।
प्रिंट >> sys.stdout, «फ़ाइल से मौसम डेटा प्राप्त करना:«, file_path_current

fileinput = open (file_path_current, 'r')
self.current_conditions = अचार.लोड (फाइलइनपुट)
fileinput.close ()

यदि स्व।
>>

fileinput = open (file_path_dayforecast, 'r')
self.day_forecast = अचार .लोड (फाइलइनपुट)
fileinput.close ()

यदि स्व।
प्रिंट >> sys.stdout, «फाइलों से दिन का पूर्वानुमान डेटा प्राप्त करना:«, file_path_nightforecast, file_path_nightforecast

fileinput = open (file_path_nightforecast, 'r')
self.night_forecast = अचार ।लोड (फाइलइनपुट)
fileinput.close ()

डीईएफ आउटपुटडॉट (स्वयं):
#प्रयत्न:

अगर self.options.template! = कोई नहीं:

आउटपुट = self.getOutputTextFromTemplate (self.options.template)

अन्य:

आउटपुट = self.getOutputText (self.options.datatype, self.options.startday, self.options.endday, self.options.night, self.options.shortweekday, self.options.imperial, self.options.hideunits, स्व। विकल्प। स्थान)

प्रिंट आउटपुट .कोड ("utf-8")

#के सिवाय:
#print «outputData: अप्रत्याशित त्रुटि:«, sys.exc_info () [0]

अगर __name__ == "__main__":

parser = CommandLineParser ()
(विकल्प, args) = parser.parse_args ()

यदि विकल्प। क्रिया == सत्य:
प्रिंट >> sys.stdout, "स्थान:", options.location
प्रिंट >> sys.stdout, "imperial:", options.imperial
प्रिंट >> sys.stdout, "datatype:", options.datatype
प्रिंट >> sys.stdout, "night:", options.night
प्रिंट >> sys.stdout, "start day:", options.startday
प्रिंट >> sys.stdout, "अंत दिन:", विकल्प ।endday
प्रिंट >> sys.stdout, "रिक्त स्थान:", options.spaces
प्रिंट >> sys.stdout, "वर्बोज़:", विकल्प ।verbose
प्रिंट >> sys.stdout, "refetch:", options.refetch

# नई वैश्विक मौसम वस्तु बनाएं
मौसम = GlobalWeather (विकल्प)
weather.fetchData ()
weather.outputData ()

हम फ़ाइल बनाते हैं ~ / Conky / script / myweather.template

gedit ~ / Conky / script / myweather.template

हम निम्नलिखित को अंदर चिपकाते हैं:

{-डाटाइप = डीडब्ल्यूस्टार्टडे = १}: {–डॉटाइप = सीसी -स्टार्टडे = १}
{-डैप्टाइप = HT –startday = 1} / {-डेटाटाइप = LT –startday = 1} {-डाटाइप = WD -startday = 1} से {-डेटाडाइप ”= -स्टार्टडे = 1} से हवाएं
आर्द्रता: {–डैप्टाइप = एचएम -स्टार्टडे = 1} वर्षा: {-डैटाइप = पीसी -स्टार्टडे = 1}
सूर्योदय: {–दिनात = SR -startday = 1} सूर्यास्त: {–दिताप = SS -startday = 1}
----------------
{-डाटाइप = डीडब्ल्यूस्टार्टडे = १}: {–डॉटाइप = सीसी -स्टार्टडे = १}
{-डैप्टाइप = HT –startday = 2} / {-डेटाटाइप = LT –startday = 2} {-डाटाइप = WD -startday = 2} से {-डेटाडाइप ”= -स्टार्टडे = 2} से हवाएं
आर्द्रता: {–डैप्टाइप = एचएम -स्टार्टडे = 2} वर्षा: {-डैटाइप = पीसी -स्टार्टडे = 2}
सूर्योदय: {–दिनात = SR -startday = 2} सूर्यास्त: {–दिताप = SS -startday = 2}
----------------
{-डाटाइप = डीडब्ल्यूस्टार्टडे = १}: {–डॉटाइप = सीसी -स्टार्टडे = १}
{-डैप्टाइप = HT –startday = 3} / {-डेटाटाइप = LT –startday = 3} {-डाटाइप = WD -startday = 3} से {-डेटाडाइप ”= -स्टार्टडे = 3} से हवाएं
आर्द्रता: {–डैप्टाइप = एचएम -स्टार्टडे = 3} वर्षा: {-डैटाइप = पीसी -स्टार्टडे = 3}
सूर्योदय: {–दिनात = SR -startday = 3} सूर्यास्त: {–दिताप = SS -startday = 3}
----------------
{-डाटाइप = डीडब्ल्यूस्टार्टडे = १}: {–डॉटाइप = सीसी -स्टार्टडे = १}
{-डैप्टाइप = HT –startday = 4} / {-डेटाटाइप = LT –startday = 4} {-डाटाइप = WD -startday = 4} से {-डेटाडाइप ”= -स्टार्टडे = 4} से हवाएं
आर्द्रता: {–डैप्टाइप = एचएम -स्टार्टडे = 4} वर्षा: {-डैटाइप = पीसी -स्टार्टडे = 4}
सूर्योदय: {–दिनात = SR -startday = 4} सूर्यास्त: {–दिताप = SS -startday = 4}

हम फ़ाइल बनाते हैं ~ / Conky / script / mail / conkyEmail.py (हमें मेल फ़ोल्डर बनाना होगा)

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

और निम्नलिखित को अंदर चिपकाएँ:

आयात os
आयात स्ट्रिंग

# दोहरे उद्धरण चिह्नों के नीचे अपना उपयोगकर्ता नाम और पासवर्ड डालें
# उदा। उपयोगकर्ता नाम = »उपयोगकर्ता नाम» और पासवर्ड = »पासवर्ड»
उपयोगकर्ता नाम = »Your_USUARIO_SINARROBA«
पासवर्ड = »तुम्हारी चाबी«

com = »wget -O - https: //» + username + »:» पासवर्ड + »@ mail.google.com / mail / feed / atom –no-check-certificate»

temp = os.popen (com)
संदेश = temp.read ()
index = string.find (संदेश, » »)
index2 = string.find (संदेश, » »)
fc = int (msg [index + 11: index2])

अगर fc == 0:
"0 नया" प्रिंट करें
अन्य:
प्रिंट str (fc) + »नया»

तो अब आपके पास 7 फाइलें हैं:

फ़ोल्डर में: ~
-> .startconky << - निष्पादन योग्य बनाएं

फ़ोल्डर में: ~ / Conky
-> शंकुधारी
-> conkyforecast
-> शंखनाद

और फ़ोल्डर में: ~ / Conky / स्क्रिप्ट
-> conkyForecast.py << - निष्पादन योग्य बनाएं
-> myweather.template

और फ़ोल्डर में: ~ / Conky / लिपियों / मेल
conkyEmail.py << - निष्पादन योग्य बनाते हैं

और यह वह है, स्पष्टीकरण, जहां यह कहता है / घर / उपयोगकर्ता / ... आपका उपयोगकर्ता नाम जाता है और उस हिस्से में जहां जीमेल डेटा जाता है, मैंने उन रंगों पर प्रकाश डाला जहां आपको अपना डेटा डालना है।

एक सांत्वना को लिखने के लिए शंकु प्रक्रिया को मारने के लिए

मार डालना

कंसोल पर लिखने के लिए शंकु चलाने के लिए

./.startconky

एक बार जब आप सब कुछ समायोजित कर लेते हैं, यदि आप प्रत्येक सत्र शुरू करने के लिए शंकु चाहते हैं

सिस्टम-> प्राथमिकताएँ -> सत्र और स्टार्टअप कार्यक्रमों में हम इसे जोड़ते हैं

Name में हम Conky को, Order ./.startconky में लिख सकते हैं, इसके साथ ही यह हर बार जब आप पीसी को चालू करेंगे तब शुरू होगा।

यही है, मुझे आशा है कि यह आपकी मदद करता है।


लेख की सामग्री हमारे सिद्धांतों का पालन करती है संपादकीय नैतिकता। त्रुटि की रिपोर्ट करने के लिए क्लिक करें यहां.

पहली टिप्पणी करने के लिए

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।