import datetime
import logging
from django.contrib import admin
from reporting.dasmon.models import (
ActiveInstrument,
Parameter,
StatusCache,
StatusVariable,
)
[docs]
class StatusVariableAdmin(admin.ModelAdmin):
list_filter = ("instrument_id", "key_id")
list_display = ("id", "instrument_id", "key_id", "value", "timestamp", "msg_time")
[docs]
def msg_time(self, obj):
if obj.key_id.name == "timestamp":
try:
return datetime.datetime.fromtimestamp(int(obj.value))
except: # noqa: E722
logging.exception("")
return "error"
return "-"
[docs]
class ParameterAdmin(admin.ModelAdmin):
list_display = ("id", "name", "monitored")
list_editable = ("monitored",)
[docs]
class ActiveInstrumentAdmin(admin.ModelAdmin):
list_display = ("id", "instrument_id", "is_alive", "is_adara")
list_editable = ("is_alive", "is_adara")
admin.site.register(StatusVariable, StatusVariableAdmin)
admin.site.register(Parameter, ParameterAdmin)
admin.site.register(StatusCache, StatusVariableAdmin)
admin.site.register(ActiveInstrument, ActiveInstrumentAdmin)