X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=monitor%2Fdatabase%2Finfo%2Faction.py;h=caef06f2e36cffab663d3154fa5b66cd4e4d4344;hb=af5e1cdc43c4b779a34015cc71433bdac3cd9806;hp=77e904ca26710622526773888130b401793658b3;hpb=66c4742c05622d6c53368e2890670eaefa5345f3;p=monitor.git diff --git a/monitor/database/info/action.py b/monitor/database/info/action.py index 77e904c..caef06f 100644 --- a/monitor/database/info/action.py +++ b/monitor/database/info/action.py @@ -1,6 +1,7 @@ from elixir import Entity, Field, OneToMany, ManyToOne, ManyToMany from elixir import options_defaults, using_options, setup_all, has_one from elixir import String, Integer, DateTime, PickleType, Boolean +from elixir.ext.versioned import * from datetime import datetime,timedelta import elixir import traceback @@ -38,6 +39,32 @@ __session__ = mon_session # issue_type = ManyToMany('IssueType') # actions = OneToMany('ActionRecord', order_by='-date_created') +class BlacklistRecord(Entity): + date_created = Field(DateTime,default=datetime.now) + hostname = Field(String,default=None, primary_key=True) + expires = Field(Integer,default=0) # seconds plus + acts_as_versioned(['hostname']) + + def neverExpires(self): + if self.expires == 0: + return True + else: + return False + + def expired(self): + if self.neverExpires(): + return False + else: + if self.date_created + timedelta(0,self.expires) > datetime.now(): + return True + else: + return False + + def willExpire(self): + if self.neverExpires(): + return "never" + else: + return self.date_created + timedelta(0, self.expires) class ActionRecord(Entity): @classmethod