From 46be5cabbaf425213deffe64f0f2723325542969 Mon Sep 17 00:00:00 2001 From: Dave Kuhlman <dkuhlman@davekuhlman.org> Date: Fri, 27 Oct 2017 12:56:33 -0700 Subject: [PATCH] After merge of Eugene Petkevich's PR exporting mixed elements --- README.rst | 7 ++++++ generateDS.html | 4 ++-- generateDS.py | 2 +- generateDS.txt | 2 +- generateds_gui_notes.html | 4 ++-- generateds_gui_notes.txt | 2 +- gui/generateds_gui.py | 2 +- librarytemplate_howto.html | 4 ++-- librarytemplate_howto.txt | 2 +- process_includes.py | 2 +- setup.py | 2 +- tests/anysimpletype1_sup.py | 2 +- tests/extensions1_sup.py | 27 +++++++++++++++--------- tests/out1_sup.py | 11 ++++++++-- tests/people_procincl1_sup.py | 14 ++++++++++-- tests/prefix_classname1_sup.py | 11 ++++++++-- tests/simplecontent_restriction1_sup.py | 6 +++--- tests/simpletype_memberspecs1_sup.py | 4 ++-- tests/to_etree1_sup.py | 4 ++-- tutorial/generateds_tutorial.html | 4 ++-- tutorial/generateds_tutorial.txt | 2 +- tutorial/generateds_tutorial.zip | Bin 48770 -> 48770 bytes 22 files changed, 78 insertions(+), 40 deletions(-) diff --git a/README.rst b/README.rst index c92f28f..53a8984 100644 --- a/README.rst +++ b/README.rst @@ -141,6 +141,13 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Change history -------------- +Version 2.28.2 (10/27/2017) + +- Changed name/version number scheme to all numeric with dots. + Required by setuptools or the Python Package Index. +- Accepted and merged pull request by Eugene Petkevich that fixes + export of elements with mixed content. Thank you Eugene. + Version 2.28d (10/25/2017) - Fix for incorrect resolution of type for a child element type diff --git a/generateDS.html b/generateDS.html index e224ea9..e5ce8f7 100644 --- a/generateDS.html +++ b/generateDS.html @@ -220,7 +220,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.28.1</td> +<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.28.2</td> </tr> </tbody> </table> @@ -3380,7 +3380,7 @@ following among others:</p> <div class="footer"> <hr class="footer" /> <a class="reference external" href="generateDS.txt">View document source</a>. -Generated on: 2017-10-27 17:16 UTC. +Generated on: 2017-10-27 19:55 UTC. Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. </div> diff --git a/generateDS.py b/generateDS.py index 26d59f8..7e741ca 100755 --- a/generateDS.py +++ b/generateDS.py @@ -227,7 +227,7 @@ logging.disable(logging.INFO) # Do not modify the following VERSION comments. # Used by updateversion.py. ##VERSION## -VERSION = '2.28.1' +VERSION = '2.28.2' ##VERSION## if sys.version_info.major == 2: diff --git a/generateDS.txt b/generateDS.txt index 92a2826..7f8c9ae 100644 --- a/generateDS.txt +++ b/generateDS.txt @@ -12,7 +12,7 @@ generateDS -- Generate Data Structures from XML Schema .. version -:revision: 2.28.1 +:revision: 2.28.2 .. version diff --git a/generateds_gui_notes.html b/generateds_gui_notes.html index 4839d44..1b1d634 100644 --- a/generateds_gui_notes.html +++ b/generateds_gui_notes.html @@ -220,7 +220,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.28.1</td> +<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.28.2</td> </tr> </tbody> </table> @@ -401,7 +401,7 @@ $ mv generateds_gui.mo locale/ru/LC_MESSAGES/ <div class="footer"> <hr class="footer" /> <a class="reference external" href="generateds_gui_notes.txt">View document source</a>. -Generated on: 2017-10-27 17:16 UTC. +Generated on: 2017-10-27 19:55 UTC. Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. </div> diff --git a/generateds_gui_notes.txt b/generateds_gui_notes.txt index c0189dc..a068ce2 100644 --- a/generateds_gui_notes.txt +++ b/generateds_gui_notes.txt @@ -12,7 +12,7 @@ GenerateDS GUI Notes .. version -:revision: 2.28.1 +:revision: 2.28.2 .. version diff --git a/gui/generateds_gui.py b/gui/generateds_gui.py index ac9f25a..256b2dd 100644 --- a/gui/generateds_gui.py +++ b/gui/generateds_gui.py @@ -41,7 +41,7 @@ from libgenerateDS.gui import generateds_gui_session # Do not modify the following VERSION comments. # Used by updateversion.py. ##VERSION## -VERSION = '2.28.1' +VERSION = '2.28.2' ##VERSION## diff --git a/librarytemplate_howto.html b/librarytemplate_howto.html index 112a0ed..2ecc0d4 100644 --- a/librarytemplate_howto.html +++ b/librarytemplate_howto.html @@ -217,7 +217,7 @@ dkuhlman (at) davekuhlman (dot) org <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.28.1</td> +<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.28.2</td> </tr> </tbody> </table> @@ -380,7 +380,7 @@ this command for your needs. For example, you may need to use <div class="footer"> <hr class="footer" /> <a class="reference external" href="librarytemplate_howto.txt">View document source</a>. -Generated on: 2017-10-27 17:16 UTC. +Generated on: 2017-10-27 19:55 UTC. Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. </div> diff --git a/librarytemplate_howto.txt b/librarytemplate_howto.txt index 6b4b706..e8af426 100644 --- a/librarytemplate_howto.txt +++ b/librarytemplate_howto.txt @@ -8,7 +8,7 @@ How to package a generateDS.py generated library .. version -:revision: 2.28.1 +:revision: 2.28.2 .. version diff --git a/process_includes.py b/process_includes.py index cebd1e8..29e375d 100644 --- a/process_includes.py +++ b/process_includes.py @@ -40,7 +40,7 @@ except ImportError: # Do not modify the following VERSION comments. # Used by updateversion.py. ##VERSION## -VERSION = '2.28.1' +VERSION = '2.28.2' ##VERSION## CatalogDict = {} diff --git a/setup.py b/setup.py index 6055cef..c81aca4 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ setup(name="generateDS", # Do not modify the following VERSION comments. # Used by updateversion.py. ##VERSION## - version="2.28.1", + version="2.28.2", ##VERSION## author="Dave Kuhlman", author_email="dkuhlman@davekuhlman.org", diff --git a/tests/anysimpletype1_sup.py b/tests/anysimpletype1_sup.py index 763bc8f..0ab45b7 100644 --- a/tests/anysimpletype1_sup.py +++ b/tests/anysimpletype1_sup.py @@ -823,7 +823,7 @@ class cimAnySimpleType(GeneratedsSuper): def set_anyAttributes_(self, anyAttributes_): self.anyAttributes_ = anyAttributes_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: diff --git a/tests/extensions1_sup.py b/tests/extensions1_sup.py index 1d87f05..c4f8c48 100644 --- a/tests/extensions1_sup.py +++ b/tests/extensions1_sup.py @@ -738,7 +738,7 @@ class SpecialDate(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -816,7 +816,7 @@ class ExtremeDate(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -894,7 +894,7 @@ class singleExtremeDate(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -1218,7 +1218,7 @@ class mixedFactoidType(GeneratedsSuper): def hasContent_(self): if ( self.relation is not None or - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -1250,6 +1250,13 @@ class mixedFactoidType(GeneratedsSuper): if not fromsubclass_: for item_ in self.content_: item_.export(outfile, level, item_.name, namespace_, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.relation is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%srelation>%s</%srelation>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(self.relation), input_name='relation')), namespace_, eol_)) def build(self, node): already_processed = set() self.buildAttributes(node, node.attrib, already_processed) @@ -1312,7 +1319,7 @@ class BaseType(GeneratedsSuper): def set_extensiontype_(self, extensiontype_): self.extensiontype_ = extensiontype_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -1410,7 +1417,7 @@ class DerivedType(BaseType): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ or + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or super(DerivedType, self).hasContent_() ): return True @@ -1499,7 +1506,7 @@ class MyInteger(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -1577,7 +1584,7 @@ class MyBoolean(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -1655,7 +1662,7 @@ class MyFloat(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -1733,7 +1740,7 @@ class MyDouble(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: diff --git a/tests/out1_sup.py b/tests/out1_sup.py index 80f58dc..e84ced4 100644 --- a/tests/out1_sup.py +++ b/tests/out1_sup.py @@ -1031,7 +1031,7 @@ class comments(GeneratedsSuper): def hasContent_(self): if ( self.emp or - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -1063,6 +1063,13 @@ class comments(GeneratedsSuper): if not fromsubclass_: for item_ in self.content_: item_.export(outfile, level, item_.name, namespace_, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for emp_ in self.emp: + showIndent(outfile, level, pretty_print) + outfile.write('<%semp>%s</%semp>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(emp_), input_name='emp')), namespace_, eol_)) def exportLiteral(self, outfile, level, name_='comments'): level += 1 already_processed = set() @@ -2037,7 +2044,7 @@ class param(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: diff --git a/tests/people_procincl1_sup.py b/tests/people_procincl1_sup.py index 19e97f2..31e7b69 100644 --- a/tests/people_procincl1_sup.py +++ b/tests/people_procincl1_sup.py @@ -941,7 +941,7 @@ class comments(GeneratedsSuper): if ( self.emp or self.bold or - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -973,6 +973,16 @@ class comments(GeneratedsSuper): if not fromsubclass_: for item_ in self.content_: item_.export(outfile, level, item_.name, namespace_, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for emp_ in self.emp: + showIndent(outfile, level, pretty_print) + outfile.write('<%semp>%s</%semp>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(emp_), input_name='emp')), namespace_, eol_)) + for bold_ in self.bold: + showIndent(outfile, level, pretty_print) + outfile.write('<%sbold>%s</%sbold>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(bold_), input_name='bold')), namespace_, eol_)) def build(self, node): already_processed = set() self.buildAttributes(node, node.attrib, already_processed) @@ -1353,7 +1363,7 @@ class param(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: diff --git a/tests/prefix_classname1_sup.py b/tests/prefix_classname1_sup.py index 762f424..241b0bb 100644 --- a/tests/prefix_classname1_sup.py +++ b/tests/prefix_classname1_sup.py @@ -911,7 +911,7 @@ class tomato_comments(GeneratedsSuper): def hasContent_(self): if ( self.emp or - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -943,6 +943,13 @@ class tomato_comments(GeneratedsSuper): if not fromsubclass_: for item_ in self.content_: item_.export(outfile, level, item_.name, namespace_, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for emp_ in self.emp: + showIndent(outfile, level, pretty_print) + outfile.write('<%semp>%s</%semp>%s' % (namespace_, self.gds_encode(self.gds_format_string(quote_xml(emp_), input_name='emp')), namespace_, eol_)) def build(self, node): already_processed = set() self.buildAttributes(node, node.attrib, already_processed) @@ -1618,7 +1625,7 @@ class tomato_param(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: diff --git a/tests/simplecontent_restriction1_sup.py b/tests/simplecontent_restriction1_sup.py index f314128..60f3978 100644 --- a/tests/simplecontent_restriction1_sup.py +++ b/tests/simplecontent_restriction1_sup.py @@ -765,7 +765,7 @@ class IdentifierType(GeneratedsSuper): def set_extensiontype_(self, extensiontype_): self.extensiontype_ = extensiontype_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -890,7 +890,7 @@ class BillOfResourcesIDType(IdentifierType): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ or + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or super(BillOfResourcesIDType, self).hasContent_() ): return True @@ -962,7 +962,7 @@ class BillOfMaterialIDType(IdentifierType): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ or + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) or super(BillOfMaterialIDType, self).hasContent_() ): return True diff --git a/tests/simpletype_memberspecs1_sup.py b/tests/simpletype_memberspecs1_sup.py index aaeba3d..cf98892 100644 --- a/tests/simpletype_memberspecs1_sup.py +++ b/tests/simpletype_memberspecs1_sup.py @@ -738,7 +738,7 @@ class SpecialDate(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -816,7 +816,7 @@ class ExtremeDate(GeneratedsSuper): def set_valueOf_(self, valueOf_): self.valueOf_ = valueOf_ def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: diff --git a/tests/to_etree1_sup.py b/tests/to_etree1_sup.py index 5461be3..2237549 100644 --- a/tests/to_etree1_sup.py +++ b/tests/to_etree1_sup.py @@ -922,7 +922,7 @@ class commentsType(GeneratedsSuper): if ( self.emp or self.bold or - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: @@ -1660,7 +1660,7 @@ class paramType(GeneratedsSuper): pass def hasContent_(self): if ( - 1 if type(self.valueOf_) in [int,float] else self.valueOf_ + (1 if type(self.valueOf_) in [int,float] else self.valueOf_) ): return True else: diff --git a/tutorial/generateds_tutorial.html b/tutorial/generateds_tutorial.html index 45a4dc3..c75a80f 100644 --- a/tutorial/generateds_tutorial.html +++ b/tutorial/generateds_tutorial.html @@ -219,7 +219,7 @@ They are used by updateversion.py. --> <col class="field-name" /> <col class="field-body" /> <tbody valign="top"> -<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.28.1</td> +<tr class="field"><th class="field-name">revision:</th><td class="field-body">2.28.2</td> </tr> </tbody> </table> @@ -1210,7 +1210,7 @@ named <tt class="docutils literal">garden_api.py</tt>, you can create an instanc <div class="footer"> <hr class="footer" /> <a class="reference external" href="generateds_tutorial.txt">View document source</a>. -Generated on: 2017-10-27 17:16 UTC. +Generated on: 2017-10-27 19:55 UTC. Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. </div> diff --git a/tutorial/generateds_tutorial.txt b/tutorial/generateds_tutorial.txt index cbf7482..57c3ba7 100644 --- a/tutorial/generateds_tutorial.txt +++ b/tutorial/generateds_tutorial.txt @@ -11,7 +11,7 @@ generateDS -- Introduction and Tutorial .. version -:revision: 2.28.1 +:revision: 2.28.2 .. version diff --git a/tutorial/generateds_tutorial.zip b/tutorial/generateds_tutorial.zip index bf8669cdde81ea806b9cb0299539e1a3c0ecd8de..2ea97e7a994020bce297a78d2458315399e29c27 100644 GIT binary patch delta 11103 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 delta 11103 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 -- GitLab