X-Git-Url: http://git.onelab.eu/?p=monitor.git;a=blobdiff_plain;f=web%2FMonitorWeb%2Fmonitorweb%2Fcontrollers.py;fp=web%2FMonitorWeb%2Fmonitorweb%2Fcontrollers.py;h=c540888eedc2b51e75bec8158b3c94321c9c7f8a;hp=c67f118a8b272dd84bb437ffdd94367d912db8a0;hb=bd5fd5bfc5e998b3ac022c8cd6c5f14fef83207d;hpb=7f77ca9055907742d3f2ddb7f956174ee9adbd7d diff --git a/web/MonitorWeb/monitorweb/controllers.py b/web/MonitorWeb/monitorweb/controllers.py index c67f118..c540888 100644 --- a/web/MonitorWeb/monitorweb/controllers.py +++ b/web/MonitorWeb/monitorweb/controllers.py @@ -24,6 +24,13 @@ from monitor.wrapper.plccache import plcdb_hn2lb as site_hn2lb from monitorweb.templates.links import * +def session_clear_all(): + session.flush() + try: + session.expunge_all() + except AttributeError: # SQLAlchemy < 0.5.1 + session.clear() + class ObjectQueryFields(widgets.WidgetsList): """The WidgetsList defines the fields of the form.""" pass @@ -387,7 +394,7 @@ class Root(controllers.RootController, MonitorXmlrpcServer, LocalExtensions): def nodeslow(self, filter='boot'): print "NODE------------------" print "befor-len: ", len( [ i for i in session] ) - session.flush(); session.expunge_all() + session_clear_all() print "after-len: ", len( [ i for i in session] ) fbquery = FindbadNodeRecord.get_all_latest() query = [] @@ -511,7 +518,7 @@ class Root(controllers.RootController, MonitorXmlrpcServer, LocalExtensions): def pre_view(self, **data): - session.flush(); session.expunge_all() + session_clear_all() loginbase=None loginbase_list=[] @@ -612,7 +619,7 @@ class Root(controllers.RootController, MonitorXmlrpcServer, LocalExtensions): @expose(template="monitorweb.templates.pcuview") @exception_handler(nodeaction_handler,"isinstance(tg_exceptions,RuntimeError)") def pcuviewold(self, loginbase=None, pcuid=None, hostname=None, since=20, **data): - session.flush(); session.expunge_all() + session_clear_all() sitequery=[] pcuquery=[] nodequery=[] @@ -729,7 +736,7 @@ class Root(controllers.RootController, MonitorXmlrpcServer, LocalExtensions): def pcu(self, filter='all'): print "PCUVIEW------------------" print "befor-len: ", len( [ i for i in session] ) - session.flush(); session.expunge_all() + session_clear_all() print "after-len: ", len( [ i for i in session] ) fbquery = FindbadPCURecord.get_all_latest() query = [] @@ -767,7 +774,7 @@ class Root(controllers.RootController, MonitorXmlrpcServer, LocalExtensions): def site(self, filter='all'): print "SITE------------------" print "befor-len: ", len( [ i for i in session] ) - session.flush(); session.expunge_all() + session_clear_all() print "after-len: ", len( [ i for i in session] ) filtercount = {'good' : 0, 'down': 0, 'online':0, 'offline' : 0, 'new' : 0, 'pending' : 0, 'all' : 0} fbquery = HistorySiteRecord.query.all()