# -*- 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
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)
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
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__()
__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()
"""
__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
"""
__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
"""
__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
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
# ==============================================================================
if __name__ == "__main__":
- print('\n AUTODIAGNOSTIC\n')
+ print("\n AUTODIAGNOSTIC\n")