moved found_within to common.py
[monitor.git] / monitor / common.py
index 8bddae1..aecd866 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)
@@ -214,7 +213,7 @@ def get_nodeset(config):
 
 def email_exception(content=None):
     import config
-    from unified_model import Message
+    from monitor.model import Message
     import traceback
     msg=traceback.format_exc()
     if content:
@@ -222,3 +221,31 @@ def email_exception(content=None):
     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
+       
+def found_within(recent_actions, action_type, within):
+       for action in recent_actions:
+               if action_type == action.action_type and \
+                               datetime.now() - action.date_created < timedelta(within):
+                       # recent action of given type.
+                       #print "%s found_within %s in recent_actions from %s" % (action_type, timedelta(within), action.date_created)
+                       return True
+
+       print "%s NOT found_within %s in recent_actions" % (action_type, timedelta(within) )
+       return False
+