"""Exceptions for the web interface."""
+import time
from sipb_xen_database import Machine, MachineAccess
class MyException(Exception):
"""Global state of the system, to avoid duplicate remctls to get state"""
def __init__(self, user):
self.user = user
-
- machines = cachedproperty(lambda self:
- [ma.machine for ma in
- MachineAccess.select_by(user=self.user)])
- uptimes = cachedproperty(lambda self:
- controls.getUptimes(self.machines))
+
+ machines = cachedproperty(lambda self:
+ Machine.query().join('acl').select_by(user=self.user))
+ xmlist_raw = cachedproperty(lambda self: controls.getList())
+ xmlist = cachedproperty(lambda self:
+ dict((m, self.xmlist_raw[m.name])
+ for m in self.machines
+ if m.name in self.xmlist_raw))
def clear(self):
"""Clear the state so future accesses reload it."""