From f66babf72d1dc44943b3f9618340ed41536170bb Mon Sep 17 00:00:00 2001 From: Federico Stagni Date: Fri, 23 May 2025 12:23:26 +0200 Subject: [PATCH] fix: do not fix the clients --- .../WebApp/handler/AccountingHandler.py | 30 +++++-------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/src/WebAppDIRAC/WebApp/handler/AccountingHandler.py b/src/WebAppDIRAC/WebApp/handler/AccountingHandler.py index 723b234b..f866005c 100644 --- a/src/WebAppDIRAC/WebApp/handler/AccountingHandler.py +++ b/src/WebAppDIRAC/WebApp/handler/AccountingHandler.py @@ -21,22 +21,6 @@ class AccountingHandler(WebHandler): # Key: (user, group, setup, accounting type) __keysCache = DictCache.DictCache() - # Reports client - repClient = None - # Transfer client - transClient = None - - @classmethod - def initializeHandler(cls, serviceInfo): - """This may be overwritten when you write a DIRAC service handler - And it must be a class method. This method is called only one time, - at the first request - - :param dict serviceInfo: infos about service - """ - cls.repClient = ReportsClient() - cls.transClient = TransferClient("Accounting/ReportGenerator") - def __getUniqueKeyValues(self, typeName): """Get unique key values for accounting type @@ -47,7 +31,7 @@ def __getUniqueKeyValues(self, typeName): cacheKey = (self.getUserName(), self.getUserGroup(), self.getUserSetup(), typeName) data = AccountingHandler.__keysCache.get(cacheKey) if not data: - retVal = self.repClient.listUniqueKeyValues(typeName) + retVal = ReportsClient().listUniqueKeyValues(typeName) if "rpcStub" in retVal: del retVal["rpcStub"] if not retVal["OK"]: @@ -104,7 +88,7 @@ def web_getSelectionData(self, type, **kwargs): # Cache for plotsList? data = AccountingHandler.__keysCache.get(f"reportsList:{typeName}") if not data: - retVal = self.repClient.listReports(typeName) + retVal = ReportsClient().listReports(typeName) if not retVal["OK"]: return {"success": "false", "result": "", "error": retVal["Message"]} data = retVal["Value"] @@ -206,7 +190,7 @@ def web_generatePlot(self, typeName, plotName, timeSelector: int, grouping, **kw retVal = self.__parseFormParams(timeSelector, grouping=[grouping], typeName=typeName, **kwargs) if retVal["OK"]: start, end, pD, kwargs = retVal["Value"] - retVal = self.repClient.generateDelayedPlot(typeName, plotName, start, end, pD, grouping, kwargs) + retVal = ReportsClient().generateDelayedPlot(typeName, plotName, start, end, pD, grouping, kwargs) if retVal["OK"]: return {"success": True, "data": retVal["Value"]["plot"]} return {"success": False, "errors": retVal["Message"]} @@ -225,7 +209,7 @@ def web_getPlotImg(self, fileName=None, **kwargs): plotImageFile = os.path.normpath("/" + plotImageFile).lstrip("/") tempFile = tempfile.TemporaryFile() - retVal = self.transClient.receiveFile(tempFile, plotImageFile) + retVal = TransferClient("Accounting/ReportGenerator").receiveFile(tempFile, plotImageFile) if not retVal["OK"]: return {"success": "false", "error": retVal["Message"]} @@ -260,7 +244,7 @@ def web_getPlotImgFromCache(self, fileName=None, **kwargs): plotImageFile = retVal["Value"]["plot"] tempFile = tempfile.TemporaryFile() - retVal = self.transClient.receiveFile(tempFile, plotImageFile) + retVal = TransferClient("Accounting/ReportGenerator").receiveFile(tempFile, plotImageFile) if not retVal["OK"]: return {"success": "false", "error": retVal["Message"]} @@ -283,7 +267,7 @@ def web_getCsvPlotData(self, typeName, plotName, timeSelector: int, grouping, ** return {"success": "false", "error": retVal["Message"]} start, end, pD, kwargs = retVal["Value"] params = (typeName, plotName, start, end, pD, grouping, kwargs) - retVal = self.repClient.getReport(*params) + retVal = ReportsClient().getReport(*params) if not retVal["OK"]: return {"success": "false", "error": retVal["Message"]} @@ -319,6 +303,6 @@ def web_getPlotData(self, typeName, plotName, timeSelector: int, grouping, **kwa retVal = self.__parseFormParams(timeSelector, grouping=[grouping], typeName=typeName, **kwargs) if retVal["OK"]: start, end, pD, kwargs = retVal["Value"] - retVal = self.repClient.getReport(typeName, plotName, start, end, pD, grouping, kwargs) + retVal = ReportsClient().getReport(typeName, plotName, start, end, pD, grouping, kwargs) return retVal["Value"] if retVal["OK"] else {"success": "false", "error": retVal["Message"]}