User Tools

Site Tools


weatherbot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
weatherbot [2014/08/30 10:42]
sekula [Talking to WeatherBot]
weatherbot [2014/08/30 23:23] (current)
sekula [Talking to WeatherBot]
Line 45: Line 45:
 import subprocess ​ import subprocess ​
 import os import os
 +import unicodedata
  
 from datetime import datetime from datetime import datetime
Line 122: Line 123:
 def CelsiusToFarenheit(temp_celsius):​ def CelsiusToFarenheit(temp_celsius):​
     return temp_celsius*1.8 + 32.0     return temp_celsius*1.8 + 32.0
 +
 +def FarenheitToCelsius(temp_farenheit):​
 +    return (temp_farenheit - 32.0)/1.8
  
 def KPHToMPH(speed_kph):​ def KPHToMPH(speed_kph):​
Line 135: Line 139:
     wind_speed_kmh = weather_data['​wind'​]['​speed'​]     wind_speed_kmh = weather_data['​wind'​]['​speed'​]
     wind_speed_mph = KPHToMPH(wind_speed_kmh)     wind_speed_mph = KPHToMPH(wind_speed_kmh)
 +    ​
 +    heat_index_farenheit = -42.379 + 2.04901523*temp_farenheit + 10.14333127*humidity - .22475541*temp_farenheit*humidity - .00683783*temp_farenheit*temp_farenheit - .05481717*humidity*humidity + .00122874*temp_farenheit*temp_farenheit*humidity + .00085282*temp_farenheit*humidity*humidity - .00000199*temp_farenheit*temp_farenheit*humidity*humidity
 +    heat_index_celsius = FarenheitToCelsius(heat_index_farenheit)
     ​     ​
     response = ""​     response = ""​
Line 143: Line 150:
     response += "<​li>​ Temperature:​ %0.1fC (%0.1fF) </​li>​\n"​ % (temp_celsius,​ temp_farenheit)     response += "<​li>​ Temperature:​ %0.1fC (%0.1fF) </​li>​\n"​ % (temp_celsius,​ temp_farenheit)
     response += "<​li>​ Humidity: %0.1f%% </li> \n" % (humidity)     response += "<​li>​ Humidity: %0.1f%% </li> \n" % (humidity)
 +    response += "<​li>​ Heat Index: %0.1fC (%0.1fF) </​li>​\n"​ % (heat_index_celsius,​heat_index_farenheit) ​   ​
     response += "<​li>​ Wind Speed: %.1fkm/h (%.1fmph) </​li>​\n"​ % (wind_speed_kmh,​wind_speed_mph)     response += "<​li>​ Wind Speed: %.1fkm/h (%.1fmph) </​li>​\n"​ % (wind_speed_kmh,​wind_speed_mph)
     response += "<​li>​ Conditions: %s - %s</​li>​ \n" % (weather_data['​weather'​][0]['​main'​],​ weather_data['​weather'​][0]['​description'​])     response += "<​li>​ Conditions: %s - %s</​li>​ \n" % (weather_data['​weather'​][0]['​main'​],​ weather_data['​weather'​][0]['​description'​])
Line 276: Line 284:
                             pass                             pass
                         ​                         ​
-                        print "%s sent a weather request for the %s for %s, which I will now process..."​ % (activity.obj.author, query_type, cityrequest)+                        ​author = ""​ 
 +                        if type(activity.obj.author) == Person: 
 +                            author = activity.obj.author.display_name 
 +                        elif type(activity.obj.author) == unicode: 
 +                            author = unicodedata.normalize('​NFKD',​ activity.obj.author).encode('​ascii','​ignore'​) 
 +                        else: 
 +                            author = activity.obj.author 
 +                            pass 
 +                                                 
 +                        ​print "%s sent a weather request for the %s for %s, which I will now process..."​ % (author, query_type, cityrequest)
                         ​                         ​
                         # clean up poor formatting in content                         # clean up poor formatting in content
Line 388: Line 405:
 ===== Talking to WeatherBot ===== ===== Talking to WeatherBot =====
  
-WeatherBot (e,g[[https://​hub.polari.us/​weather]]) can now take various request forms. Sending these:+WeatherBot (e.g[[https://​hub.polari.us/​weather]]) can now take various request forms. Sending these:
  
 <​code>​ <​code>​
 New York,NY,US New York,NY,US
 or or
-New York,US+Stockholm,SE
 </​code>​ </​code>​
  
weatherbot.1409409748.txt.gz · Last modified: 2014/08/30 10:42 by sekula