update to db model. now uses automatic history on updates: acts_as_versioned()
[monitor.git] / monitor / common.py
index 65b82b8..0f6dd40 100644 (file)
@@ -1,13 +1,12 @@
 
 import time
 import struct
-from pcucontrol import reboot
-
+from monitor import reboot
 from monitor import util
 from monitor import database
 from monitor.wrapper import plc, plccache
 
-from datetime import datetime 
+from datetime import datetime, timedelta
 from monitor.model import PersistFlags, Message
 
 esc = struct.pack('i', 27)
@@ -212,10 +211,30 @@ def get_nodeset(config):
 
        return l_nodes
 
-def email_exception():
-       from monitor import config
-       import traceback
-       msg=traceback.format_exc()
-       m=Message("exception running monitor", msg, False)
-       m.send([config.cc_email])
-       return
+def email_exception(content=None):
+    import config
+    from monitor.model import Message
+    import traceback
+    msg=traceback.format_exc()
+    if content:
+        msg = content + "\n" + msg
+    m=Message("exception running monitor", msg, False)
+    m.send([config.cc_email])
+    return
+
+def changed_lessthan(last_changed, days):
+       if datetime.now() - last_changed <= timedelta(days):
+               #print "last changed less than %s" % timedelta(days)
+               return True
+       else:
+               #print "last changed more than %s" % timedelta(days)
+               return False
+
+def changed_greaterthan(last_changed, days):
+       if datetime.now() - last_changed > timedelta(days):
+               #print "last changed more than %s" % timedelta(days)
+               return True
+       else:
+               #print "last changed less than %s" % timedelta(days)
+               return False
+