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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
# -*- coding: utf-8 -*-
import sys
import xbmc
__language__ = sys.modules[ "__main__" ].__language__
#http://www.wunderground.com/weather/api/d/docs?d=language-support
# xbmc lang name # wu code
LANG = { 'afrikaans' : 'AF',
'arabic' : 'AR',
'basque' : 'EU',
'belarusian' : 'BY',
'bosnian' : 'CR', # BS is n/a, use CR or SR?
'bulgarian' : 'BU',
'catalan' : 'CA',
'chinese (simple)' : 'CN',
'chinese (traditional)' : 'TW',
'croatian' : 'CR',
'czech' : 'CZ',
'danish' : 'DK',
'dutch' : 'NL',
'english' : 'LI',
'english (us)' : 'EN',
'esperanto' : 'EO',
'estonian' : 'ET',
'finnish' : 'FI',
'french' : 'FR',
'galician' : 'GZ',
'german' : 'DL',
'greek' : 'GR',
'hebrew' : 'IL',
'hindi (devanagiri)' : 'HI',
'hungarian' : 'HU',
'icelandic' : 'IS',
'indonesian' : 'ID',
'italian' : 'IT',
'japanese' : 'JP',
'korean' : 'KR',
'lithuanian' : 'LT',
'macedonian' : 'MK',
'maltese' : 'MT',
'norwegian' : 'NO',
'polish' : 'PL',
'portuguese' : 'BR',
'portuguese (brazil)' : 'BR',
'romanian' : 'RO',
'russian' : 'RU',
'serbian' : 'SR',
'serbian (cyrillic)' : 'SR',
'slovak' : 'SK',
'slovenian' : 'SL',
'spanish' : 'SP',
'spanish (argentina)' : 'SP',
'spanish (mexico)' : 'SP',
'swedish' : 'SW',
'thai' : 'TH',
'turkish' : 'TU',
'ukrainian' : 'UA'}
WEATHER_CODES = { 'chanceflurries' : '41',
'chancerain' : '39',
'chancesleet' : '6',
'chancesnow' : '41',
'chancetstorms' : '38',
'clear' : '32',
'cloudy' : '26',
'flurries' : '13',
'fog' : '20',
'hazy' : '21',
'mostlycloudy' : '28',
'mostlysunny' : '34',
'partlycloudy' : '30',
'partlysunny' : '34',
'sleet' : '18',
'rain' : '11',
'snow' : '42',
'sunny' : '32',
'tstorms' : '35',
'unknown' : 'na',
'' : 'na',
'nt_chanceflurries' : '46',
'nt_chancerain' : '45',
'nt_chancesleet' : '45',
'nt_chancesnow' : '46',
'nt_chancetstorms' : '47',
'nt_clear' : '31',
'nt_cloudy' : '27',
'nt_flurries' : '46',
'nt_fog' : '20',
'nt_hazy' : '21',
'nt_mostlycloudy' : '27',
'nt_mostlysunny' : '33',
'nt_partlycloudy' : '29',
'nt_partlysunny' : '33',
'nt_sleet' : '45',
'nt_rain' : '45',
'nt_snow' : '46',
'nt_sunny' : '31',
'nt_tstorms' : '47',
'nt_unknown' : 'na',
'nt_' : 'na'}
MONTH = { 1 : xbmc.getLocalizedString(51),
2 : xbmc.getLocalizedString(52),
3 : xbmc.getLocalizedString(53),
4 : xbmc.getLocalizedString(54),
5 : xbmc.getLocalizedString(55),
6 : xbmc.getLocalizedString(56),
7 : xbmc.getLocalizedString(57),
8 : xbmc.getLocalizedString(58),
9 : xbmc.getLocalizedString(59),
10 : xbmc.getLocalizedString(60),
11 : xbmc.getLocalizedString(61),
12 : xbmc.getLocalizedString(62)}
WEEKDAY = { 0 : xbmc.getLocalizedString(41),
1 : xbmc.getLocalizedString(42),
2 : xbmc.getLocalizedString(43),
3 : xbmc.getLocalizedString(44),
4 : xbmc.getLocalizedString(45),
5 : xbmc.getLocalizedString(46),
6 : xbmc.getLocalizedString(47)}
SEVERITY = { 'W' : __language__(32510),
'A' : __language__(32511),
'Y' : __language__(32512),
'S' : __language__(32513),
'O' : __language__(32514),
'F' : __language__(32515),
'N' : __language__(32516),
'L' :'', # no idea
'' : ''}
def MOONPHASE(age, percent):
if (percent == 0) and (age == 0):
phase = __language__(32501)
elif (age < 17) and (age > 0) and (percent > 0) and (percent < 50):
phase = __language__(32502)
elif (age < 17) and (age > 0) and (percent == 50):
phase = __language__(32503)
elif (age < 17) and (age > 0) and (percent > 50) and (percent < 100):
phase = __language__(32504)
elif (age > 0) and (percent == 100):
phase = __language__(32505)
elif (age > 15) and (percent < 100) and (percent > 50):
phase = __language__(32506)
elif (age > 15) and (percent == 50):
phase = __language__(32507)
elif (age > 15) and (percent < 50) and (percent > 0):
phase = __language__(32508)
else:
phase = ''
return phase
def KPHTOBFT(spd):
if (spd < 1.0):
bft = '0'
elif (spd >= 1.0) and (spd < 5.6):
bft = '1'
elif (spd >= 5.6) and (spd < 12.0):
bft = '2'
elif (spd >= 12.0) and (spd < 20.0):
bft = '3'
elif (spd >= 20.0) and (spd < 29.0):
bft = '4'
elif (spd >= 29.0) and (spd < 39.0):
bft = '5'
elif (spd >= 39.0) and (spd < 50.0):
bft = '6'
elif (spd >= 50.0) and (spd < 62.0):
bft = '7'
elif (spd >= 62.0) and (spd < 75.0):
bft = '8'
elif (spd >= 75.0) and (spd < 89.0):
bft = '9'
elif (spd >= 89.0) and (spd < 103.0):
bft = '10'
elif (spd >= 103.0) and (spd < 118.0):
bft = '11'
elif (spd >= 118.0):
bft = '12'
else:
bft = ''
return bft
|