X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FdaComposant%2FdaCore%2FReporting.py;h=f724d16c3aab7dc4cfe2c4773d75ed8294acffa5;hb=a6845547d27bcdc0928f898a4c8a2e4fc276c69e;hp=96c1cd7fe2cefef80e25438a3eebe52557285b2d;hpb=44f76651d9b8e83d196d710205de80900f206472;p=modules%2Fadao.git diff --git a/src/daComposant/daCore/Reporting.py b/src/daComposant/daCore/Reporting.py index 96c1cd7..f724d16 100644 --- a/src/daComposant/daCore/Reporting.py +++ b/src/daComposant/daCore/Reporting.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2008-2021 EDF R&D +# Copyright (C) 2008-2023 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 @@ -35,11 +35,13 @@ 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) @@ -48,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 @@ -59,24 +61,26 @@ 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'): 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() return [self.__document[k].get_styles() for k in op] - + # def get_content(self): op = list(self.__document.keys()) ; op.sort() return [self.__document[k].get_content() for k in op] - + # def clear(self): self.__init__() @@ -84,16 +88,18 @@ class __ReportC__(object): """ Get user commands, update M and V: user intertace to create the report """ + __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() @@ -101,12 +107,13 @@ class __ReportV__(object): """ Interact with user and C: template for reports """ - + __slots__ = ("c") + # default_filename="report.txt" - + # def __init__(self, c): self.c = c - + # def save(self, filename=None): if filename is None: filename = self.default_filename @@ -117,34 +124,33 @@ class __ReportV__(object): fid.write(h) 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 # ============================================================================== -# Classes d'interface utilisateur : ReportStorage, ReportViewIn* +# Classes d'interface utilisateur : ReportViewIn*, ReportStorage # Tags de structure : (title, h1, h2, h3, p, uli, oli, , ) -ReportStorage = __ReportC__ - class ReportViewInHtml(__ReportV__): """ Report in HTML """ - + __slots__ = () + # default_filename="report.html" tags = { "oli":"li", "uli":"li", } - + # def get(self): st, ct = self.retrieve() inuLi, inoLi = False, False @@ -185,7 +191,8 @@ class ReportViewInRst(__ReportV__): """ Report in RST """ - + __slots__ = () + # default_filename="report.rst" tags = { "p":["\n\n",""], @@ -204,7 +211,7 @@ class ReportViewInRst(__ReportV__): "":"**", "":"*", } - + # def get(self): st, ct = self.retrieve() inuLi, inoLi = False, False @@ -244,7 +251,7 @@ class ReportViewInPlainTxt(__ReportV__): """ Report in plain TXT """ - + # default_filename="report.txt" tags = { "p":["\n",""], @@ -263,7 +270,7 @@ class ReportViewInPlainTxt(__ReportV__): "":"", "":"", } - + # def get(self): st, ct = self.retrieve() inuLi, inoLi = False, False @@ -295,6 +302,9 @@ class ReportViewInPlainTxt(__ReportV__): pg += "\n" return pg +# Interface utilisateur de stockage des informations +ReportStorage = __ReportC__ + # ============================================================================== if __name__ == "__main__": print('\n AUTODIAGNOSTIC\n')