from django.db import models from traps.models import Trap ############################################################################## class CfgState(models.Model): name = models.CharField(max_length=255) sub_varbind = models.CharField(max_length=255, null=True) category = models.CharField(max_length=255, blank=True, default='') severity = models.CharField(max_length=255, blank=True, default='') def __unicode__(self): return u'%s' % self.name class CfgStateStartEvent(models.Model): trapoid = models.CharField(max_length=255, blank=True) state = models.ForeignKey(CfgState, related_name='startevents') def __unicode__(self): return u'%s (%s)' % (self.state, self.trapoid) class CfgStateStopEvent(models.Model): trapoid = models.CharField(max_length=255, blank=True) state = models.ForeignKey(CfgState, related_name='stopevents') def __unicode__(self): return u'%s (%s)' % (self.state, self.trapoid) class State(models.Model): hostname = models.CharField(max_length=100, blank=True) state = models.ForeignKey(CfgState) sub = models.CharField(max_length=100, default=None, null=True) start = models.ForeignKey(Trap, related_name='trap_start', blank=True, null=True) start_time = models.DateTimeField(blank=True, null=True) stop = models.ForeignKey(Trap, related_name='trap_stop', blank=True, null=True) stop_time = models.DateTimeField(blank=True, null=True) category = models.CharField(max_length=255, blank=True, default='') severity = models.CharField(max_length=255, blank=True, default='') read = models.BooleanField(default=False) def __unicode__(self): return u'%s:%s %s' % (self.hostname, self.state, self.statetype()) def statetype(self): if self.start and self.stop: statetype = u'finished' elif self.start and not self.stop: statetype = u'active' elif not self.start and self.stop: statetype = u'weird finished' else: statetype = u'empty' return statetype class CorrelatorMemory(models.Model): tag = models.CharField(max_length=255) maxid = models.IntegerField(default=0) def __unicode__(self): return u'%s: %s' % (self.tag, self.maxid)