Salome HOME
Minor source update for OM compatibility
[modules/adao.git] / src / daComposant / daCore / Reporting.py
index f724d16c3aab7dc4cfe2c4773d75ed8294acffa5..5d2af38d1e980809e4101e786bef37c5acfe8d8b 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 #
-# Copyright (C) 2008-2023 EDF R&D
+# Copyright (C) 2008-2024 EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -36,12 +36,12 @@ class _ReportPartM__(object):
     Store and retrieve the data for C: internal class
     """
     __slots__ = ("__part", "__styles", "__content")
-    #
+
     def __init__(self, part="default"):
         self.__part    = str(part)
         self.__styles  = []
         self.__content = []
-    #
+
     def append(self, content, style="p", position=-1):
         if position == -1:
             self.__styles.append(style)
@@ -50,10 +50,10 @@ class _ReportPartM__(object):
             self.__styles.insert(position, style)
             self.__content.insert(position, content)
         return 0
-    #
+
     def get_styles(self):
         return self.__styles
-    #
+
     def get_content(self):
         return self.__content
 
@@ -62,25 +62,27 @@ class _ReportM__(object):
     Store and retrieve the data for C: internal class
     """
     __slots__ = ("__document")
-    #
+
     def __init__(self, part='default'):
         self.__document = {}
         self.__document[part] = _ReportPartM__(part)
-    #
-    def append(self,  content, style="p", position=-1, part='default'):
+
+    def append(self, content, style="p", position=-1, part='default'):
         if part not in self.__document:
             self.__document[part] = _ReportPartM__(part)
         self.__document[part].append(content, style, position)
         return 0
-    #
+
     def get_styles(self):
-        op = list(self.__document.keys()) ; op.sort()
+        op = list(self.__document.keys())
+        op.sort()
         return [self.__document[k].get_styles() for k in op]
-    #
+
     def get_content(self):
-        op = list(self.__document.keys()) ; op.sort()
+        op = list(self.__document.keys())
+        op.sort()
         return [self.__document[k].get_content() for k in op]
-    #
+
     def clear(self):
         self.__init__()
 
@@ -91,15 +93,15 @@ class __ReportC__(object):
     __slots__ = ()
     #
     m = _ReportM__()
-    #
+
     def append(self, content="", style="p", position=-1, part="default"):
         return self.m.append(content, style, position, part)
-    #
+
     def retrieve(self):
         st = self.m.get_styles()
         ct = self.m.get_content()
         return st, ct
-    #
+
     def clear(self):
         self.m.clear()
 
@@ -109,28 +111,28 @@ class __ReportV__(object):
     """
     __slots__ = ("c")
     #
-    default_filename="report.txt"
-    #
+    default_filename = "report.txt"
+
     def __init__(self, c):
         self.c = c
-    #
+
     def save(self, filename=None):
         if filename is None:
             filename = self.default_filename
         _filename = os.path.abspath(filename)
         #
-        h = self.get()
+        _inside = self.get()
         fid = open(_filename, 'w')
-        fid.write(h)
+        fid.write(_inside)
         fid.close()
         return filename, _filename
-    #
+
     def retrieve(self):
         return self.c.retrieve()
-    #
+
     def __str__(self):
         return self.get()
-    #
+
     def close(self):
         del self.c
         return 0
@@ -145,45 +147,46 @@ class ReportViewInHtml(__ReportV__):
     """
     __slots__ = ()
     #
-    default_filename="report.html"
+    default_filename = "report.html"
     tags = {
-        "oli":"li",
-        "uli":"li",
-        }
-    #
+        "oli": "li",
+        "uli": "li",
+    }
+
     def get(self):
         st, ct = self.retrieve()
         inuLi, inoLi = False, False
         pg = "<html>\n<head>"
         pg += "\n<title>Report in HTML</title>"
         pg += "\n</head>\n<body>"
-        for k,ps in enumerate(st):
-            pc = ct[k]
+        for ks, ps in enumerate(st):
+            pc = ct[ks]
             try:
                 ii = ps.index("title")
                 title = pc[ii]
-                pg += "%s\n%s\n%s"%('<hr noshade><h1 align="center">',title,'</h1><hr noshade>')
+                pg += "%s\n%s\n%s"%('<hr noshade><h1 align="center">', title, '</h1><hr noshade>')
             except Exception:
                 pass
-            for i,s in enumerate(ps):
-                c = pc[i]
-                if s == "uli" and not inuLi:
+            for ip, sp in enumerate(ps):
+                cp = pc[ip]
+                if sp == "uli" and not inuLi:
                     pg += "\n<ul>"
                     inuLi = True
-                elif s == "oli" and not inoLi:
+                elif sp == "oli" and not inoLi:
                     pg += "\n<ol>"
                     inoLi = True
-                elif s != "uli" and inuLi:
+                elif sp != "uli" and inuLi:
                     pg += "\n</ul>"
                     inuLi = False
-                elif s != "oli" and inoLi:
+                elif sp != "oli" and inoLi:
                     pg += "\n</ol>"
                     inoLi = False
-                elif s == "title":
+                elif sp == "title":
                     continue
-                for t in self.tags:
-                    if s == t: s = self.tags[t]
-                pg += "\n<%s>%s</%s>"%(s,c,s)
+                for tp in self.tags:
+                    if sp == tp:
+                        sp = self.tags[tp]
+                pg += "\n<%s>%s</%s>"%(sp, cp, sp)
         pg += "\n</body>\n</html>"
         return pg
 
@@ -193,57 +196,56 @@ class ReportViewInRst(__ReportV__):
     """
     __slots__ = ()
     #
-    default_filename="report.rst"
+    default_filename = "report.rst"
     tags = {
-        "p":["\n\n",""],
-        "uli":["\n  - ",""],
-        "oli":["\n  #. ",""],
-        }
+        "p": ["\n\n", ""],
+        "uli": ["\n  - ", ""],
+        "oli": ["\n  #. ", ""],
+    }
     titles = {
-        # "title":["=","="],
-        "h1":["","-"],
-        "h2":["","+"],
-        "h3":["","*"],
-        }
+        "h1": ["", "-"],
+        "h2": ["", "+"],
+        "h3": ["", "*"],
+    }
     translation = {
-        "<b>":"**",
-        "<i>":"*",
-        "</b>":"**",
-        "</i>":"*",
-        }
-    #
+        "<b>": "**",
+        "<i>": "*",
+        "</b>": "**",
+        "</i>": "*",
+    }
+
     def get(self):
         st, ct = self.retrieve()
         inuLi, inoLi = False, False
         pg = ""
-        for k,ps in enumerate(st):
-            pc = ct[k]
+        for ks, ps in enumerate(st):
+            pc = ct[ks]
             try:
                 ii = ps.index("title")
                 title = pc[ii]
-                pg += "%s\n%s\n%s"%("="*80,title,"="*80)
+                pg += "%s\n%s\n%s"%("=" * 80, title, "=" * 80)
             except Exception:
                 pass
-            for i,s in enumerate(ps):
-                c = pc[i]
-                if s == "uli" and not inuLi:
+            for ip, sp in enumerate(ps):
+                cp = pc[ip]
+                if sp == "uli" and not inuLi:
                     pg += "\n"
                     inuLi = True
-                elif s == "oli" and not inoLi:
+                elif sp == "oli" and not inoLi:
                     pg += "\n"
                     inoLi = True
-                elif s != "uli" and inuLi:
+                elif sp != "uli" and inuLi:
                     pg += "\n"
                     inuLi = False
-                elif s != "oli" and inoLi:
+                elif sp != "oli" and inoLi:
                     pg += "\n"
                     inoLi = False
-                for t in self.translation:
-                    c = c.replace(t,self.translation[t])
-                if s in self.titles.keys():
-                    pg += "\n%s\n%s\n%s"%(self.titles[s][0]*len(c),c,self.titles[s][1]*len(c))
-                elif s in self.tags.keys():
-                    pg += "%s%s%s"%(self.tags[s][0],c,self.tags[s][1])
+                for tp in self.translation:
+                    cp = cp.replace(tp, self.translation[tp])
+                if sp in self.titles.keys():
+                    pg += "\n%s\n%s\n%s"%(self.titles[sp][0] * len(cp), cp, self.titles[sp][1] * len(cp))
+                elif sp in self.tags.keys():
+                    pg += "%s%s%s"%(self.tags[sp][0], cp, self.tags[sp][1])
             pg += "\n"
         return pg
 
@@ -252,53 +254,54 @@ class ReportViewInPlainTxt(__ReportV__):
     Report in plain TXT
     """
     #
-    default_filename="report.txt"
+    __slots__ = ()
+    #
+    default_filename = "report.txt"
     tags = {
-        "p":["\n",""],
-        "uli":["\n  - ",""],
-        "oli":["\n  - ",""],
-        }
+        "p": ["\n", ""],
+        "uli": ["\n  - ", ""],
+        "oli": ["\n  - ", ""],
+    }
     titles = {
-        # "title":["=","="],
-        "h1":["",""],
-        "h2":["",""],
-        "h3":["",""],
-        }
+        "h1": ["", ""],
+        "h2": ["", ""],
+        "h3": ["", ""],
+    }
     translation = {
-        "<b>":"",
-        "<i>":"",
-        "</b>":"",
-        "</i>":"",
-        }
-    #
+        "<b>": "",
+        "<i>": "",
+        "</b>": "",
+        "</i>": "",
+    }
+
     def get(self):
         st, ct = self.retrieve()
         inuLi, inoLi = False, False
         pg = ""
-        for k,ps in enumerate(st):
-            pc = ct[k]
+        for ks, ps in enumerate(st):
+            pc = ct[ks]
             try:
                 ii = ps.index("title")
                 title = pc[ii]
-                pg += "%s\n%s\n%s"%("="*80,title,"="*80)
+                pg += "%s\n%s\n%s"%("=" * 80, title, "=" * 80)
             except Exception:
                 pass
-            for i,s in enumerate(ps):
-                c = pc[i]
-                if s == "uli" and not inuLi:
+            for ip, sp in enumerate(ps):
+                cp = pc[ip]
+                if sp == "uli" and not inuLi:
                     inuLi = True
-                elif s == "oli" and not inoLi:
+                elif sp == "oli" and not inoLi:
                     inoLi = True
-                elif s != "uli" and inuLi:
+                elif sp != "uli" and inuLi:
                     inuLi = False
-                elif s != "oli" and inoLi:
+                elif sp != "oli" and inoLi:
                     inoLi = False
-                for t in self.translation:
-                    c = c.replace(t,self.translation[t])
-                if s in self.titles.keys():
-                    pg += "\n%s\n%s\n%s"%(self.titles[s][0]*len(c),c,self.titles[s][1]*len(c))
-                elif s in self.tags.keys():
-                    pg += "\n%s%s%s"%(self.tags[s][0],c,self.tags[s][1])
+                for tp in self.translation:
+                    cp = cp.replace(tp, self.translation[tp])
+                if sp in self.titles.keys():
+                    pg += "\n%s\n%s\n%s"%(self.titles[sp][0] * len(cp), cp, -self.titles[sp][1] * len(cp))
+                elif sp in self.tags.keys():
+                    pg += "\n%s%s%s"%(self.tags[sp][0], cp, self.tags[sp][1])
             pg += "\n"
         return pg
 
@@ -307,4 +310,4 @@ ReportStorage = __ReportC__
 
 # ==============================================================================
 if __name__ == "__main__":
-    print('\n AUTODIAGNOSTIC\n')
+    print("\n AUTODIAGNOSTIC\n")