tfw: add meV unit support
parent
08e8c8c6c6
commit
c866b75f88
|
@ -4,13 +4,11 @@ tfw.py - the fucking weather module
|
|||
author: mutantmonkey <mutantmonkey@gmail.com>
|
||||
"""
|
||||
|
||||
import random
|
||||
|
||||
from urllib import quote as urlquote
|
||||
from urllib2 import urlopen, HTTPError
|
||||
import lxml.html
|
||||
|
||||
def tfw(phenny, input, celsius=False):
|
||||
def tfw(phenny, input, fahrenheit=False, celsius=False):
|
||||
""".tfw <city/zip> - Show the fucking weather at the specified location."""
|
||||
|
||||
zipcode = input.group(2)
|
||||
|
@ -18,10 +16,10 @@ def tfw(phenny, input, celsius=False):
|
|||
# default to Blacksburg, VA
|
||||
zipcode = "24060"
|
||||
|
||||
if celsius:
|
||||
celsius_param = "&CELSIUS=yes"
|
||||
else:
|
||||
if fahrenheit:
|
||||
celsius_param = ""
|
||||
else:
|
||||
celsius_param = "&CELSIUS=yes"
|
||||
|
||||
try:
|
||||
req = urlopen("http://thefuckingweather.com/?zipcode=%s%s" % (urlquote(zipcode), celsius_param))
|
||||
|
@ -42,7 +40,21 @@ def tfw(phenny, input, celsius=False):
|
|||
main = weather.find_class('large')
|
||||
|
||||
# temperature is everything up to first <br />
|
||||
temp = main[0].text
|
||||
tempt = ""
|
||||
for c in main[0].text:
|
||||
if c.isdigit():
|
||||
tempt += c
|
||||
temp = int(tempt)
|
||||
deg = unichr(176).encode('latin-1')
|
||||
|
||||
# add units and convert if necessary
|
||||
if fahrenheit:
|
||||
temp = "%d%cF?!" % (temp, deg)
|
||||
elif celsius:
|
||||
temp = "%d%cC?!" % (temp, deg)
|
||||
else:
|
||||
tempev = (temp + 273.15) * 8.617343e-5 * 1000
|
||||
temp = "%f meV?!" % tempev
|
||||
|
||||
# parse comment (broken by <br />, so we have do it this way)
|
||||
comments = main[0].xpath('text()')
|
||||
|
@ -58,9 +70,14 @@ def tfw(phenny, input, celsius=False):
|
|||
phenny.say(response)
|
||||
tfw.rule = (['tfw'], r'(.*)')
|
||||
|
||||
def tfwf(phenny, input):
|
||||
""".tfwf <city/zip> - The fucking weather, in fucking degrees Fahrenheit."""
|
||||
return tfw(phenny, input, fahrenheit=True)
|
||||
tfwf.rule = (['tfwf'], r'(.*)')
|
||||
|
||||
def tfwc(phenny, input):
|
||||
""".tfwc <city/zip> - The fucking weather, in fucking celsius."""
|
||||
return tfw(phenny, input, True)
|
||||
""".tfwc <city/zip> - The fucking weather, in fucking degrees celsius."""
|
||||
return tfw(phenny, input, celsius=True)
|
||||
tfwc.rule = (['tfwc'], r'(.*)')
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
Loading…
Reference in New Issue