X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=monitor%2Fdatabase%2Finfo%2Fhistory.py;h=7190248f94e2e009d40b497078f051ef15346d81;hb=32e64e33bc81735e22024c5a44510848bb3c88df;hp=dc53860e627de2703724ffd0921a5cb5d8b010f6;hpb=d8616c5bab940943ef8a17db7937a5eb733dd526;p=monitor.git diff --git a/monitor/database/info/history.py b/monitor/database/info/history.py index dc53860..7190248 100644 --- a/monitor/database/info/history.py +++ b/monitor/database/info/history.py @@ -1,6 +1,8 @@ from elixir import Entity, Field, OneToMany, ManyToOne, ManyToMany from elixir import options_defaults, using_options, setup_all from elixir import String, Integer as Int, DateTime, Boolean +from elixir.ext.versioned import * + from datetime import datetime,timedelta from monitor.database.dborm import mon_metadata, mon_session @@ -13,6 +15,11 @@ class HistoryNodeRecord(Entity): last_checked = Field(DateTime,default=datetime.now) last_changed = Field(DateTime,default=datetime.now) status = Field(String,default="unknown") + haspcu = Field(Boolean,default=False) + firewall = Field(Boolean,default=False) + plc_nodeid = Field(Int,default=1) + + acts_as_versioned(ignore=['last_changed', 'last_checked']) @classmethod def by_hostname(cls, hostname): @@ -28,12 +35,16 @@ class HistoryPCURecord(Entity): last_valid = Field(DateTime,default=None) valid = Field(String,default="unknown") + acts_as_versioned(ignore=['last_changed', 'last_checked']) + @classmethod def by_pcuid(cls, pcuid): return cls.query.filter_by(pcuid=pcuid).first() + class HistorySiteRecord(Entity): loginbase = Field(String(250),primary_key=True) + plc_siteid = Field(Int,default=1) last_checked = Field(DateTime,default=datetime.now) last_changed = Field(DateTime,default=datetime.now) @@ -50,6 +61,15 @@ class HistorySiteRecord(Entity): status = Field(String,default="unknown") + message_id = Field(Int, default=0) + message_status = Field(String, default=None) + message_queue = Field(String, default=None) + message_created = Field(DateTime, default=None) + + penalty_level = Field(Int, default=0) + penalty_applied = Field(Boolean, default=False) + acts_as_versioned(ignore=['last_changed', 'last_checked', 'message_status']) + @classmethod def by_loginbase(cls, loginbase): return cls.query.filter_by(loginbase=loginbase).first()