summaryrefslogtreecommitdiff
path: root/tempconvertionbot.py
diff options
context:
space:
mode:
authorJesse Morgan <jesse@jesterpm.net>2013-12-16 20:29:20 -0800
committerJesse Morgan <jesse@jesterpm.net>2013-12-16 20:31:04 -0800
commite0fac4c6408b8fd95f4c36f3fcaabefc257362ca (patch)
treee499ad7cb18b160a9980ba120b3004cad7c27014 /tempconvertionbot.py
parentde9bcd2bd3f68fae407cfdbf55c1722d6bfdd456 (diff)
Adding temperature conversion bot
Diffstat (limited to 'tempconvertionbot.py')
-rw-r--r--tempconvertionbot.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tempconvertionbot.py b/tempconvertionbot.py
new file mode 100644
index 0000000..ca845c2
--- /dev/null
+++ b/tempconvertionbot.py
@@ -0,0 +1,25 @@
+#!/usr/bin/python
+import os
+import re
+import time
+
+
+class TempConvertionBot(object):
+ def __init__(self, expiry=1800):
+ self.__name__ = "TempConversion Bot"
+ self.__version__ = "0.0.1"
+ self.pattern = re.compile(r"([-+]?\d+|[-+]?\d*\.\d+)\s*(?:degrees?)?\s*(C|F)(?=\s|$)")
+
+ def onChanMsg(self, IRC, user, channel, targetprefix, msg):
+ matches = self.pattern.findall(msg)
+ for quantity, unit in matches:
+ quantity = float(quantity)
+ if unit == 'C':
+ quantityPrime = quantity * 9 / 5.0 + 32
+ unitPrime = 'F'
+
+ elif unit == 'F':
+ quantityPrime = (quantity - 32) * 5 / 9.0
+ unitPrime = 'C'
+
+ channel.me("notes that %0.2f %s is %0.2f %s" % (quantity, unit, quantityPrime, unitPrime))