<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p>Downloaded:</p>
    <p>AllenStandShootRifleM24.py</p>
    <p>From:</p>
    <p><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/AllenStandShootRifleM24Index.html">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Prototypes/AllenStandShootRifleM24Index.html</a></p>
    <p>Results:<br>
    </p>
    <p>coderextreme@coderextreme-Kubuntu20:~/Downloads$ python3
      AllenStandShootRifleM24.py <br>
      Traceback (most recent call last):<br>
        File "AllenStandShootRifleM24.py", line 21, in <module><br>
          from x3d import *<br>
      AttributeError: module 'x3d' has no attribute 'SFBool'</p>
    <p><br>
    </p>
    <p>coderextreme@coderextreme-Kubuntu20:~/Downloads$ source
      ~/X3DJSONLD/src/main/python/venv/bin/activate</p>
    <p><br>
    </p>
    <p>(venv) coderextreme@coderextreme-Kubuntu20:~/Downloads$ python3
      AllenStandShootRifleM24.py Traceback (most recent call last):<br>
        File "AllenStandShootRifleM24.py", line 21, in <module><br>
          from x3d import *<br>
      AttributeError: module 'x3d' has no attribute 'SFBool'</p>
    <p><br>
    </p>
    <p>(venv) coderextreme@coderextreme-Kubuntu20:~/Downloads$ export
      PYTHONPATH=~/X3DJSONLD/src/main/python/net/x3djsonld/data/</p>
    <p><br>
    </p>
    <p>(venv) coderextreme@coderextreme-Kubuntu20:~/Downloads$ python3
      AllenStandShootRifleM24.py x3d.py package loaded, have fun with
      X3D Graphics!<br>
      Traceback (most recent call last):<br>
        File "AllenStandShootRifleM24.py", line 44, in <module><br>
          ProtoDeclare(name='LOA1_ShootAnimation',<br>
        File
"/home/coderextreme/X3DJSONLD/src/main/python/net/x3djsonld/data/x3d.py",
      line 10239, in __init__<br>
          self.ProtoBody = ProtoBody<br>
        File
"/home/coderextreme/X3DJSONLD/src/main/python/net/x3djsonld/data/x3d.py",
      line 10282, in ProtoBody<br>
          if not ProtoBody is None and not
      isinstance(ProtoBody,(ProtoBody,ProtoInstance)):<br>
      TypeError: isinstance() arg 2 must be a type or tuple of types</p>
    <p><br>
    </p>
    <p>Look at:</p>
    <p><br>
    </p>
    <p> File
"/home/coderextreme/X3DJSONLD/src/main/python/net/x3djsonld/data/x3d.py",
      line 10282, in ProtoBody<br>
          if not ProtoBody is None and not
      isinstance(ProtoBody,(ProtoBody,ProtoInstance)):</p>
    <p><br>
    </p>
    <p>It seems obvious to me that there's an issue with this line, but
      I don't really know Python too well!<br>
    </p>
    <p>Please bring up a virtual environment or otherwise provide better
      instructions for patching the issue.<br>
    </p>
    <p><br>
    </p>
    <p>John<br>
    </p>
    <div class="moz-cite-prefix">On 8/25/21 1:33 AM, John Carlson wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:2c8f2a4b-c83d-7b27-2b86-494f1ef8364e@gmail.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <p>This is a repeat.  I only saw ProtoBody setter isinstance error
        when running python generated from the X3D archives from
        sourceforge.</p>
      <p>If you like, I can download a python file from the website? 
        Okay!<br>
      </p>
      <div class="moz-cite-prefix">On 8/24/21 10:41 PM, Brutzman, Donald
        (Don) (CIV) wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:BY3PR13MB4884AA7AD9001CFBC2190134C4C69@BY3PR13MB4884.namprd13.prod.outlook.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=windows-1252">
        <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;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        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;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}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">John, we have a lot of simple prototypes
            and prototypes with embedded Script nodes in the archives
            that have all tested OK.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">If your example is that Rubiks’s cube
            with nested prototypes, that is harder.  We believe the spec
            is OK but that feature is only occasionally demonstrated as
            working.  Any model with nested prototypes (ProtoDeclare
            within ProtoDeclare) can be easily refactored by putting all
            of the ProtoDeclare blocks first.  Similarly it makes sense
            to test individual ProtoInstance nodes without feeding them
            nested ProtoInstance fields.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">Looking at existing examples is also good
            because they have passed through validation.  Step by step.<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:l0 level1 lfo1"><a
href="https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples"
                moz-do-not-send="true">https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples</a><o:p></o:p></li>
          </ul>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">Once again sorry I can’t pursue “deep
            dive” excursions at this time.  Am working on (a) X3D
            architecture Mantis editorial issues, (b) DIS protocol
            implementation open-dis7-java, upgraded DIS support in Xj3D,
            and just tonight got X3D-Edit building despite issues with a
            very old laptop.  Step  by step.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal"><b>From:</b> x3d-public <a
              class="moz-txt-link-rfc2396E"
              href="mailto:x3d-public-bounces@web3d.org"
              moz-do-not-send="true"><x3d-public-bounces@web3d.org></a>
            <b>On Behalf Of </b>John Carlson<br>
            <b>Sent:</b> Tuesday, August 24, 2021 7:48 PM<br>
            <b>To:</b> Joseph D Williams <a
              class="moz-txt-link-rfc2396E"
              href="mailto:joedwil@earthlink.net" moz-do-not-send="true"><joedwil@earthlink.net></a><br>
            <b>Cc:</b> X3D Graphics public mailing list <a
              class="moz-txt-link-rfc2396E"
              href="mailto:x3d-public@web3d.org" moz-do-not-send="true"><x3d-public@web3d.org></a><br>
            <b>Subject:</b> Re: [x3d-public] Fwd: Next, in Python
            news...<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <div>
              <div>
                <p class="MsoNormal">Yes, you need to ‘’’pip install
                  x3d’’’<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">before running the provided script
                  in previous message.   See link previously posted by
                  Joe.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Thanks for confirmation of received
                  message.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">The header is the top of the file.
                    If you don’t want to run my code, convert your own
                  proto xml to python using X3dToPython.xslt.   I don’t
                  have a JSON converter for this test.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">The main purpose is to get proper
                  implementation of Protos in pure python.   I’m
                  guessing it may be a wider problem with x3d.py,
                  because when I patched Protos in my version, there
                  were further issues.   So simply patching Protos won’t
                  fix all the issues.   A full roundtrip XML ->
                  python -> XML needs to be done for the archive.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">I’ve freed up some time to work on
                  python, and I plan to start work on a test suite soon.
                    It would be good to get past my initial issues with
                  the package.   I can reattempt to modify the x3d
                  package generator, but that doesn’t mean my patches
                  will be available when I am done.    It still needs to
                  go through official channels.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">If you’re fed up with stylesheets,
                  I can offer a solution, but it’s not as elegant or
                  pythonic and uses Java.   As far as I can tell, XSLT
                  is the declarative transformer of choice for XML.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">The main thing I think needs to be
                  done is handle cases where parameters and classes have
                  the same case sensitive name.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">If people want to contribute to
                  x3d.py project, now’s your chance.   I’m fairly sure
                  the python binding needs to be standardized.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">I know pretty much everyone has
                  been covidized.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">After spinning up python, I’ll
                  return to C++ if there’s enough code separated from
                  the standard.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">John<o:p></o:p></p>
              </div>
            </div>
          </div>
          <div>
            <div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
                <div>
                  <div>
                    <p class="MsoNormal">On Tue, Aug 24, 2021 at 8:55 PM
                      Joseph D Williams <<a
                        href="mailto:joedwil@earthlink.net"
                        target="_blank" moz-do-not-send="true">joedwil@earthlink.net</a>>
                      wrote:<o:p></o:p></p>
                  </div>
                  <blockquote style="border:none;border-left:solid
                    #CCCCCC 1.0pt;padding:0in 0in 0in
                    6.0pt;margin-left:4.8pt;margin-right:0in">
                    <div>
                      <div>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">#
                          Now available: developmental python x3d.py
                          package on PyPi for import.<o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">#  
                          This approach greatly simplifies Python X3D
                          deployment and use.<o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">#  
                          <a
href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fproject%2Fx3d&data=04%7C01%7Cbrutzman%40nps.edu%7C72693df0fce44ec3ba3408d96772eba5%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637654565985912019%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Sw68kSJJKNZaBcGFk4Up3toP5CkFxSgiUQASR49Cfos%3D&reserved=0"
                            target="_blank" moz-do-not-send="true">
                            https://pypi.org/project/x3d</a><o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">The
                          text got here as attachment<o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Joe<o:p></o:p></p>
                      </div>
                    </div>
                    <div>
                      <div>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                        <div style="border:none;border-top:solid #E1E1E1
                          1.0pt;padding:3.0pt 0in 0in 0in">
                          <p class="MsoNormal"
                            style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:
                            </b><a href="mailto:yottzumm@gmail.com"
                              target="_blank" moz-do-not-send="true">John
                              Carlson</a><br>
                            <b>Sent: </b>Tuesday, August 24, 2021 3:00
                            PM<br>
                            <b>To: </b><a
                              href="mailto:brutzman@nps.edu"
                              target="_blank" moz-do-not-send="true">Don
                              Brutzman</a>; <a
                              href="mailto:x3d-public@web3d.org"
                              target="_blank" moz-do-not-send="true">
                              X3D Graphics public mailing list</a><br>
                            <b>Subject: </b>[x3d-public] Fwd: Next, in
                            Python news...<o:p></o:p></p>
                        </div>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Resend
                          of non-working python code.   No rush,    I
                          don’t want anyone to be surprised.  I do want
                          someone to confirm receipt of email.   I’m
                          guessing things are going to spam?<o:p></o:p></p>
                        <p class="MsoNormal"
                          style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
                      </div>
                    </div>
                  </blockquote>
                </div>
              </div>
            </div>
          </div>
        </div>
      </blockquote>
    </blockquote>
  </body>
</html>