from pyramid.events import subscriber, NewRequest from pyramid.httpexceptions import HTTPServiceUnavailable from barker.models.master import DbSetting @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