luthor/luthor/luthor/subscribers.py

11 lines
441 B
Python

from barker.models.master import DbSetting
from pyramid.events import NewRequest, subscriber
from pyramid.httpexceptions import HTTPServiceUnavailable
@subscriber(NewRequest)
def maintenance_mode(event):
maintenance = event.request.dbsession.query(DbSetting).filter(DbSetting.name == "Maintenance").first()
if maintenance is not None and maintenance.data != event.request.authenticated_userid:
raise HTTPServiceUnavailable