<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><span style="font-family:monospace"><span
style="color:#000000;background-color:#ffffff;">Apparently the
package/module hasn't propagated yet, because it said I had
4.0.43 up-to-date. But I got x3d.py from sourceforge:</span></span></p>
<p><span style="font-family:monospace"><span
style="color:#000000;background-color:#ffffff;">The follow
diff allowed me to export JSON as found in a previous
attachment. Perhaps we should add indent and syntaxs to all
JSON def methods? Also, the str I adding I think prints out
NoneType...not desired in JSON, perhaps we need to throw an
exception? if each.JSON() returns None or NoneType? I will
review particulars you have changed.<br>
</span></span></p>
<p><span style="font-family:monospace"><span
style="color:#000000;background-color:#ffffff;">$ diff
/c/x3d-code/www.web3d.org/x3d/stylesheets/python/x3d.py x3d.py
</span><br>
12286c12286
<br>
< result +=
each.JSON(indentLevel=indentLevel+1, syntax=syntax)
<br>
---
<br>
> result += str(each.JSON())
<br>
42390c42390
<br>
< result +=
each.JSON(indentLevel=indentLevel+1, syntax=syntax)
<br>
---
<br>
> result += each.JSON()
<br>
77395c77395
<br>
< result +=
self.geometry.JSON(indentLevel=indentLevel+1, syntax=syntax)
<br>
---
<br>
> result += self.geometry.JSON()
<br>
89045c89045
<br>
< result +=
each.JSON(indentLevel=indentLevel+1, syntax=syntax)
<br>
---
<br>
> result += each.JSON()<br>
</span></p>
<div class="moz-cite-prefix">On 12/6/21 00:36, Brutzman, Donald
(Don) (CIV) wrote:<br>
</div>
<blockquote type="cite"
cite="mid:BY3PR13MB4884016BED404D334152E2A7C46D9@BY3PR13MB4884.namprd13.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<style>@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}div.WordSection1
{page:WordSection1;}ol
{margin-bottom:0in;}ul
{margin-bottom:0in;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">I think it cleaned up OK. Changes tested
and checked in, now version 4.0.44 on PyPi.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l3 level1 lfo5"><a class="moz-txt-link-freetext" href="https://pypi.org/project/x3d">https://pypi.org/project/x3d</a><o:p></o:p></li>
</ul>
<div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">all the best, Don<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">--
<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">Don Brutzman Naval Postgraduate School,
Code USW/Br <a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">Watkins 270, MOVES Institute, Monterey
CA 93943-5000 USA +1.831.656.2149<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">X3D graphics, virtual worlds, navy
robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier
New",serif">faculty.nps.edu/brutzman<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Brutzman, Donald (Don)
(CIV) <a class="moz-txt-link-rfc2396E" href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a>
<br>
<b>Sent:</b> Sunday, December 5, 2021 10:09 PM<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:vmarchetti@kshell.com">vmarchetti@kshell.com</a>; John Carlson
<a class="moz-txt-link-rfc2396E" href="mailto:yottzumm@gmail.com"><yottzumm@gmail.com></a><br>
<b>Cc:</b> X3D-Public <a class="moz-txt-link-rfc2396E" href="mailto:x3d-public@web3d.org"><x3d-public@web3d.org></a>;
Brutzman, Donald (Don) (CIV) <a class="moz-txt-link-rfc2396E" href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a><br>
<b>Subject:</b> RE: [x3d-public] Results for today with
x3d.py, _X3DField<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for reports and correct diagnosis.
I did take out the three “object” inheritances earlier today,
pylint says it is no longer required in Python 3, no ill
effects noted.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have tried to follow X3D4 Architecture
exactly, and am keen to avoid overwriting! Hopefully
tonight’s build looks a bit better.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The specification does not show X3DField
inheriting from anything.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3">X3D4
Architecture, 5.2.3 X3DField<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3"><a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/fieldTypes.html#X3DField">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/fieldTypes.html#X3DField</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3">X3D4
Architecture, 54.4.2.3 Interface hierarchy
<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3">(looks like
first line of Figure 4.2 needs more whitespace)<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3"><a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#InterfaceHierarchy">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#InterfaceHierarchy</a><o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sure enough, searching for “class _
X3DField” in x3d.py reveals two abstract class definitions,
ouch! That’s more like multiple personalities that multiple
inheritance…<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Will work on fixing the autogeneration of
offending version.<o:p></o:p></p>
<div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">all the best, Don<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">--
<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">Don Brutzman Naval Postgraduate School,
Code USW/Br
<a href="mailto:brutzman@nps.edu" moz-do-not-send="true"
class="moz-txt-link-freetext">brutzman@nps.edu</a><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">Watkins 270, MOVES Institute, Monterey
CA 93943-5000 USA +1.831.656.2149<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">X3D graphics, virtual worlds, navy
robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier
New",serif">faculty.nps.edu/brutzman<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> <a
href="mailto:vmarchetti@kshell.com"
moz-do-not-send="true" class="moz-txt-link-freetext">vmarchetti@kshell.com</a>
<<a href="mailto:vmarchetti@kshell.com"
moz-do-not-send="true" class="moz-txt-link-freetext">vmarchetti@kshell.com</a>>
<br>
<b>Sent:</b> Sunday, December 5, 2021 3:59 AM<br>
<b>To:</b> John Carlson <<a
href="mailto:yottzumm@gmail.com" moz-do-not-send="true"
class="moz-txt-link-freetext">yottzumm@gmail.com</a>><br>
<b>Cc:</b> Brutzman, Donald (Don) (CIV) <<a
href="mailto:brutzman@nps.edu" moz-do-not-send="true"
class="moz-txt-link-freetext">brutzman@nps.edu</a>>;
X3D-Public <<a href="mailto:x3d-public@web3d.org"
moz-do-not-send="true" class="moz-txt-link-freetext">x3d-public@web3d.org</a>><br>
<b>Subject:</b> Re: [x3d-public] Results for today with
x3d.py, _X3DField<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Python does support multiple inheritance,
but these fragments are not an example of a
multiple-inheritance situation -- rather, the later class
definition -- where _X3DField is a subclass of _X3DNode,
overwrites the earlier class definition.
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In the x3d.py file, only three classes
are defined as direct subclasses of object:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">class _X3DField<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">class _X3DNode<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">class _X3DStatement<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">So I think the operative question is
whether it is a design intent that _X3DField also should
be a subclass of _X3DNode. I judge the answer is no,
since that would include support for DEF, USE, and
metadata. In that light, the second class defintion for
_X3DField would be regarded as a bug, to be corrected by
modifying the X3duomToX3dPythonPackage.xslt stylesheet.<o:p></o:p></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Dec 4, 2021, at 11:40 PM,
John Carlson <<a
href="mailto:yottzumm@gmail.com"
moz-do-not-send="true"
class="moz-txt-link-freetext">yottzumm@gmail.com</a>>
wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-family:"Courier
New",serif;color:black;background:white">Two
declarations of _X3DField?</span><o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-family:"Courier
New",serif;color:black;background:white">$
grep "class _X3DField" x3d.py </span><o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><b><span
style="font-family:"Courier
New",serif;color:#FF5454;background:white">class
_X3DField</span></b><span
style="font-family:"Courier
New",serif;color:black;background:white">(object):
</span><o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span
style="font-family:"Courier
New",serif;color:#FF5454;background:white">class
_X3DField</span></b><span
style="font-family:"Courier
New",serif;color:black;background:white">(_X3DNode):</span><o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-family:"Courier
New",serif;color:black;background:white">Is
there a pylint?</span><o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-family:"Courier
New",serif;color:black;background:white">Isn't
multiple inheritance possible?</span><o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-family:"Courier
New",serif;color:black;background:white">Thanks!</span><o:p></o:p></p>
<p class="MsoNormal"
style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span
style="font-family:"Courier
New",serif;color:black;background:white">John</span><o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org"
moz-do-not-send="true"
class="moz-txt-link-freetext">x3d-public@web3d.org</a><br>
<a
href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"
moz-do-not-send="true"
class="moz-txt-link-freetext">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</body>
</html>