weather fixed
This commit is contained in:
parent
b038a574d0
commit
b9a1316a0e
@ -343,9 +343,6 @@ def updateWeather():
|
||||
|
||||
for location in all_locations:
|
||||
loc = gn.geocode(location)
|
||||
|
||||
|
||||
|
||||
current_weather = {}
|
||||
|
||||
lat = loc.latitude
|
||||
@ -370,8 +367,8 @@ def updateWeather():
|
||||
current_weather['rain_chance'] = r.json()['hourly'][0]['pop']
|
||||
|
||||
|
||||
|
||||
current_weathers[location] = current_weather
|
||||
if location in current_locations:
|
||||
current_weathers[location] = current_weather
|
||||
|
||||
daily_weather = []
|
||||
daily = r.json()['daily']
|
||||
@ -383,10 +380,20 @@ def updateWeather():
|
||||
dct['min_temp'] = day['temp']['min']
|
||||
dct['max_temp'] = day['temp']['max']
|
||||
daily_weather.append(dct)
|
||||
|
||||
#add relevant urrent information to first day in daily
|
||||
daily_weather[0]['temp'] = weather['temp']
|
||||
daily_weather[0]['rain_chance'] = current_weather['rain_chance']
|
||||
daily_weather[0]['humidity'] = current_weather['humidity']
|
||||
daily_weather[0]['wind_speed'] = current_weather['wind_speed']
|
||||
daily_weather[0]['uv'] = current_weather['uv']
|
||||
daily_weather[0]['clouds'] = current_weather['clouds']
|
||||
daily_weather[0]['wind_speed'] = current_weather['wind_speed']
|
||||
daily_weather[0]['wind_direction'] = current_weather['wind_direction']
|
||||
daily_weather[0]['visibility'] = current_weather['visibility']
|
||||
|
||||
|
||||
|
||||
daily_weathers[location] = daily_weather
|
||||
if location in daily_locations:
|
||||
daily_weathers[location] = daily_weather
|
||||
|
||||
|
||||
|
||||
|
@ -414,9 +414,12 @@ def save_trade_settings(input_settings):
|
||||
api_caller.sendline('f')
|
||||
|
||||
def save_weather_settings(input_settings):
|
||||
|
||||
print(input_settings)
|
||||
|
||||
|
||||
filename = 'current_weather.json' if input_settings['feature'] == 'Current Weather' else 'daily_weather.json'
|
||||
print(filename)
|
||||
|
||||
current_settings = json.load(open('csv/' + filename, 'r'))
|
||||
|
||||
@ -431,8 +434,10 @@ def save_weather_settings(input_settings):
|
||||
if input_settings['feature'] == 'Daily Forecast':
|
||||
current_settings['current_weather'] = input_settings['current_weather']
|
||||
|
||||
|
||||
current_settings = combine_dict(current_settings, input_settings['locations'], 'locations')
|
||||
locations = {}
|
||||
for key in input_settings['locations']:
|
||||
locations[key] = []
|
||||
current_settings['locations'] = locations
|
||||
|
||||
json.dump(current_settings, open('csv/' + filename, 'w+'))
|
||||
|
||||
|
@ -973,7 +973,7 @@ function saveSettings() {
|
||||
s = getMessageSettings(page);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
settings = { ...settings, ...s }; // merge both sets of settings
|
||||
|
||||
fetch("/feature_settings", {
|
||||
|
@ -2063,7 +2063,7 @@ class StockTicker():
|
||||
else:
|
||||
imgs = []
|
||||
|
||||
current_weathers = json.load(open('csv/current_weather.json', 'r'))
|
||||
|
||||
|
||||
daily_weathers = json.load(open('csv/daily_weather.json', 'r'))
|
||||
|
||||
@ -2072,7 +2072,7 @@ class StockTicker():
|
||||
for i, location in enumerate(locations):
|
||||
img = Image.new('RGB', (1000, 32))
|
||||
|
||||
current_weather = current_weathers['locations'][location]
|
||||
|
||||
daily_weather = daily_weathers['locations'][location]
|
||||
|
||||
small_font = ImageFont.load("./fonts/5x7.pil")
|
||||
@ -2081,12 +2081,9 @@ class StockTicker():
|
||||
|
||||
|
||||
location_img = self.textImage(location.upper(), extra_small_font, r = 255, g = 255, b = 0)
|
||||
|
||||
|
||||
|
||||
main = current_weather['main_weather']
|
||||
main = daily_weather[0]['main_weather']
|
||||
if main == 'Clouds':
|
||||
main = current_weather['description']
|
||||
main = daily_weather['description']
|
||||
weather_ids = {'Clear': '01', 'few clouds': '02', 'scattered clouds': '03', 'broken clouds':'04', 'overcast clouds':'04', 'Drizzle':'09',
|
||||
'Rain':'10', 'Thunderstorm':'11', 'Snow':'13', 'Mist': '50', 'Smoke': '50', 'Haze': '50', 'Dust': '50', 'Fog': '50',
|
||||
'Sand': '50', 'Ash': '50', 'Squall': '50', 'Tornado': '50'}
|
||||
@ -2094,12 +2091,12 @@ class StockTicker():
|
||||
weather_dir = './logos/weather_icons'
|
||||
|
||||
weather_img = Image.open(weather_dir + '/weather_type_icons/' + weather_ids[main] + '.png')
|
||||
temp_img = self.textImage(str("{0:.0f}".format(current_weather['temp'])), large_font)
|
||||
temp_img = self.textImage(str("{0:.0f}".format(daily_weather[0]['temp'])), large_font)
|
||||
deg_img = self.textImage('o', small_font)
|
||||
|
||||
min_img = self.textImage( "{0:.0f}".format(current_weather['min_temp']), small_font, r=0, g=0, b=255)
|
||||
max_img = self.textImage( "{0:.0f}".format(current_weather['max_temp']), small_font, r=255, g=0, b=0)
|
||||
main = current_weather['main_weather']
|
||||
min_img = self.textImage( "{0:.0f}".format(daily_weather[0]['min_temp']), small_font, r=0, g=0, b=255)
|
||||
max_img = self.textImage( "{0:.0f}".format(daily_weather[0]['max_temp']), small_font, r=255, g=0, b=0)
|
||||
main = daily_weather[0]['main_weather']
|
||||
main_img = self.textImage(main.upper(), small_font)
|
||||
|
||||
weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
|
||||
@ -2109,21 +2106,23 @@ class StockTicker():
|
||||
date = str(int(datetime.now().strftime('%d')))
|
||||
weekday = weekdays[datetime.today().weekday()]
|
||||
date_img = self.textImage((month + ' ' + date + ',' + weekday).upper(), extra_small_font)
|
||||
|
||||
|
||||
rain_img = Image.open(weather_dir + '/rain-chance.png')
|
||||
rtext_img = self.textImage(str(int(current_weather['rain_chance']*100)) + '%', extra_small_font)
|
||||
rtext_img = self.textImage(str(int(daily_weather[0]['rain_chance']*100)) + '%', extra_small_font)
|
||||
hum_img = Image.open(weather_dir + '/humidity.png')
|
||||
htext_img = self.textImage(str(current_weather['humidity']) + '%', extra_small_font)
|
||||
htext_img = self.textImage(str(daily_weather[0]['humidity']) + '%', extra_small_font)
|
||||
wind_img = Image.open(weather_dir + '/wind.png')
|
||||
wtext_img = self.textImage(str(current_weather['wind_speed']) + 'm/s'.upper(), extra_small_font)
|
||||
wtext_img = self.textImage(str(daily_weather[0]['wind_speed']) + 'm/s'.upper(), extra_small_font)
|
||||
uv_img = Image.open(weather_dir + '/uv.png')
|
||||
utext_img = self.textImage(str(round(current_weather['uv'], 1)) , small_font)
|
||||
utext_img = self.textImage(str(round(daily_weather[0]['uv'], 1)) , small_font)
|
||||
cloud_img = Image.open(weather_dir + '/clouds.png')
|
||||
ctext_img = self.textImage(str(current_weather['clouds']) + '%', small_font)
|
||||
ctext_img = self.textImage(str(daily_weather[0]['clouds']) + '%', small_font)
|
||||
wind_img = Image.open(weather_dir + '/wind.png')
|
||||
wtext_img = self.textImage("{0:.0f}".format(current_weather['wind_speed']) + 'm/s'.upper(), small_font)
|
||||
wdir_img = self.textImage(self.degreesToCompass(current_weather['wind_direction']), small_font)
|
||||
wtext_img = self.textImage("{0:.0f}".format(daily_weather[0]['wind_speed']) + 'm/s'.upper(), small_font)
|
||||
wdir_img = self.textImage(self.degreesToCompass(daily_weather[0]['wind_direction']), small_font)
|
||||
vis_img = Image.open(weather_dir + '/visibility.png')
|
||||
vtext_img = self.textImage(str(round(current_weather['visibility']/1000, 1)) + 'km'.upper(), small_font)
|
||||
vtext_img = self.textImage(str(round(daily_weather[0]['visibility']/1000, 1)) + 'km'.upper(), small_font)
|
||||
|
||||
|
||||
img.paste(location_img, (0,0))
|
||||
@ -2434,7 +2433,7 @@ class StockTicker():
|
||||
#userSettings = ['crypto', 'stocks'] # these wil be read from csv, just for demo
|
||||
#userSettings = [ 'display_image', 'news'] # these wil be read from csv, just for demo
|
||||
userSettings = json.load(open('csv/display_settings.json'))
|
||||
if len(userSettings[1][0])>0 and len(userSettings[1][1])>0 and 'Professional'==userSettings[0] : #if professional display
|
||||
if 'Professional'==userSettings[0] and len(userSettings[1][0])>0 and len(userSettings[1][1])>0: #if professional display
|
||||
self.scrollProfessionalAnimated(userSettings[1])
|
||||
elif len(userSettings[1])>0 and 'Standard'==userSettings[0]:
|
||||
self.scrollFunctionsAnimated(userSettings[1], animation = 'down')
|
||||
@ -2473,7 +2472,7 @@ if __name__ == '__main__':
|
||||
#stock_ticker.process_msg('G')
|
||||
#stock_ticker.process_msg('f')
|
||||
#stock_ticker.process_msg('W')
|
||||
stock_ticker.process_msg('A')
|
||||
#stock_ticker.process_msg('A')
|
||||
|
||||
while True:
|
||||
msg = getInput()
|
||||
|
Loading…
Reference in New Issue
Block a user