2626from queryHandler .Topo import Topo
2727from queryHandler import SensorConfig
2828from utils import execution_time
29- from messages import MSG
29+ from messages import ERR , MSG
3030from metaclasses import Singleton
3131from time import sleep
3232
@@ -129,14 +129,15 @@ def __initializeTables(self):
129129 raise ValueError (MSG ['NoSensorConfigData' ])
130130 MAX_ATTEMPTS_COUNT = 3
131131 for attempt in range (1 , MAX_ATTEMPTS_COUNT + 1 ):
132- self . __metaData = Topo ( self .qh .getTopology () )
133- if not ( self . metaData and self . metaData . topo ) :
132+ topoStr = self .qh .getTopology ()
133+ if not topoStr :
134134 if attempt > MAX_ATTEMPTS_COUNT :
135135 break
136136 # if no data returned because of the REST HTTP server is still starting, sleep and retry (max 3 times)
137137 self .logger .warning (MSG ['NoDataStartNextAttempt' ].format (attempt , MAX_ATTEMPTS_COUNT ))
138138 sleep (self .sleepTime )
139139 else :
140+ self .__metaData = Topo (topoStr )
140141 foundItems = len (self .metaData .allParents ) - 1
141142 sensors = self .metaData .sensorsSpec .keys ()
142143 self .logger .info (MSG ['MetaSuccess' ])
@@ -155,10 +156,11 @@ def update(self, refresh_all=False):
155156 if refresh_all :
156157 self .__sensorsConf = SensorConfig .readSensorsConfigFromMMSDRFS (self .logger )
157158
158- self . __metaData = Topo ( self .qh .getTopology () )
159- if not ( self . metaData and self . metaData . topo ) :
159+ topoStr = self .qh .getTopology ()
160+ if not topoStr :
160161 self .logger .error (MSG ['NoData' ]) # Please check the pmcollector is properly configured and running.
161- raise cherrypy .HTTPError (404 , MSG [404 ])
162+ raise cherrypy .HTTPError (404 , ERR [404 ])
163+ self .__metaData = Topo (topoStr )
162164 self .logger .details (MSG ['MetaSuccess' ])
163165 self .logger .debug (MSG ['ReceivAttrValues' ].format ('parents' , ", " .join (self .metaData .allParents )))
164166 return ({'msg' : MSG ['MetaSuccess' ]})
0 commit comments