Re: Python Windows Scripting Engine

Valentin Abrutski <[email protected]> Tue, 30 Jul 2024 23:29:01 +0300
Newsgroups gmane.comp.python.windows
Message-ID <CADtR_MMbS9dJ209jexd8M9c1k+KJ44i4Oi6hEDtppPwiHkyrzw@mail.gmail.com>
--===============2519822192161646279==
Content-Type: multipart/alternative; boundary="000000000000843f56061e7cd50c"

--000000000000843f56061e7cd50c
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Mark.

I double checked what I did with my previous attempt. And still can't get
success. Probably you can give me an idea of what I'm doing wrong.

I am working on an application(.Net) which provides scripting capabilities
via AcriveScript Engine. With the ability to debug script step by step and
etc. And we provide a standard set of languages VBScript and JScript. And
now we want to provide Python support.

Obviously I need to add a new ActiveScript Engine for Python. to system

What I did. I installed python and installed the pywin32 package.
Then I found this script
Python311\Lib\site-packages\win32comext\axscript\client\pyscript.py and run
it :
python pyscript.py

Requesting elevation and retrying...
Registered: Python

After that, I go to my application code and do the same we already do for
Standard JScript or VBScript engines.
For example, import of COM JScript class  is defined
    [ComImport, Guid("F414C260-6AC0-11CF-B6D1-00AA00BBBB58")]
    public class JScript
    {
    }

So I defined import class for Python using GUID from python class
implementation
    [ComImport, Guid("DF630910-1C1D-11d0-AE36-8C0F5E000000")]
    public class PythonScript
    {
    }

Then my expectation is that I can cast it to IAcriveScript and
IActiveScripParse (like I do with standard languages)
    _engine =3D new PythonScript();
    _iap =3D _engine as IActiveScriptParse;
    _ias =3D _engine as IActiveScript;

But IActiveScriptParse still is null, IActiveScript - is good.
I suppose that probably I did initialization in wrong way? or something
like that?



On Tue, Jul 30, 2024 at 10:54=E2=80=AFPM Valentin Abrutski <[email protected]>=
 wrote:

> Hi Mark
>
> Appreciate for fast response. I will look into it. Thank you.
>
>
> On Tue, Jul 30, 2024 at 5:56=E2=80=AFPM Mark Hammond <mhammond@skippinet.=
com.au>
> wrote:
>
>> IActiveScriptParse is supported - check out the com/win32comext/axscript
>> directory.
>>
>> Cheers,
>>
>> Mark
>> On 2024-07-30 10:14 a.m., Valentin Abrutski wrote:
>>
>> Hello all,
>>
>> Hopefully somebody can help me.
>>
>> Microsoft provides implementations for Microsoft Scripting Engine -
>> VbScript and JScript.
>> I need to add Python Script Engine support. I see that pywin32 already
>> has a component for that(COM object). But it exposes only the IActiveScr=
ipt
>> interface. For my needs I also need  IActiveScriptParse interface.
>>
>> please advise me if pywin32 implements it also and I just missed
>> something? or if you have an idea what to do to get.. I will appreciate =
for
>> your help.
>>
>> _______________________________________________
>> python-win32 mailing [email protected]://mail.python.org/=
mailman/listinfo/python-win32
>>
>>

--000000000000843f56061e7cd50c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Mark.=C2=A0<br><br>I double checked what I did with my =
previous attempt. And still can&#39;t get success. Probably=C2=A0you can gi=
ve me an idea of what I&#39;m doing wrong.<div><br></div><div>I am working =
on an application(.Net) which provides scripting capabilities via AcriveScr=
ipt Engine. With the ability to debug script step by step and etc. And we p=
rovide a standard set of languages VBScript and JScript. And now we want to=
 provide Python support.</div><div><br></div><div>Obviously I need to add a=
 new ActiveScript Engine for Python. to system</div><div><br></div><div>Wha=
t I did. I installed python=C2=A0and installed the pywin32 package.</div><d=
iv>Then I found this script Python311\Lib\site-packages\win32comext\axscrip=
t\client\pyscript.py and run it : <br><font face=3D"monospace">python pyscr=
ipt.py =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0</f=
ont></div><div><font face=3D"monospace">Requesting elevation and retrying..=
.</font></div><div><font face=3D"monospace">Registered: Python</font></div>=
<div><font face=3D"monospace"><br></font></div><div><font face=3D"arial, sa=
ns-serif">After that,=C2=A0I go to my application code and do the same we a=
lready do for Standard JScript or VBScript engines.</font></div><div><font =
face=3D"arial, sans-serif">For example, import of COM JScript class=C2=A0 i=
s defined</font></div><div><font face=3D"monospace">=C2=A0 =C2=A0 [ComImpor=
t, Guid(&quot;F414C260-6AC0-11CF-B6D1-00AA00BBBB58&quot;)]<br>=C2=A0 =C2=A0=
 public class JScript<br>=C2=A0 =C2=A0 {<br>=C2=A0 =C2=A0 }</font></div><di=
v><font face=3D"monospace"><br></font></div><div><font face=3D"arial, sans-=
serif">So I defined import class for Python using GUID from python class im=
plementation</font></div><div><font face=3D"monospace">=C2=A0 =C2=A0 [ComIm=
port, Guid(&quot;DF630910-1C1D-11d0-AE36-8C0F5E000000&quot;)]<br>=C2=A0 =C2=
=A0 public class PythonScript<br>=C2=A0 =C2=A0 {<br>=C2=A0 =C2=A0 }<br></fo=
nt></div><div><font face=3D"monospace"><br></font></div><div><font face=3D"=
arial, sans-serif">Then my expectation is that I can cast it to IAcriveScri=
pt and IActiveScripParse (like I do with standard languages)</font></div><d=
iv><font face=3D"monospace">=C2=A0 =C2=A0 _engine =3D new PythonScript();<b=
r>=C2=A0 =C2=A0 _iap =3D _engine as IActiveScriptParse;<br>=C2=A0 =C2=A0 _i=
as =3D _engine as IActiveScript;<br></font></div><div><font face=3D"monospa=
ce"><br></font></div><div><font face=3D"arial, sans-serif">But=C2=A0IActive=
ScriptParse still is null,=C2=A0IActiveScript - is good.</font></div><div><=
font face=3D"arial, sans-serif">I suppose that probably I did initializatio=
n in wrong way? or something like that?</font></div><div><br></div><div>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0<br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Tue, Jul 30, 2024 at 10:54=E2=80=AFPM Valentin Abrutski =
&lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; wrote:<br></di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">Hi Mar=
k<div><br></div><div>Appreciate for fast response. I will look into it. Tha=
nk you.=C2=A0</div><div><br></div></div><br><div class=3D"gmail_quote"><div=
 dir=3D"ltr" class=3D"gmail_attr">On Tue, Jul 30, 2024 at 5:56=E2=80=AFPM M=
ark Hammond &lt;<a href=3D"mailto:[email protected]" target=3D"_bla=
nk">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex"><u></u>

 =20
   =20
 =20
  <div>
    <p>IActiveScriptParse is supported - check out the
      com/win32comext/axscript directory.</p>
    <p>Cheers,<br>
    </p>
    <p>Mark<br>
    </p>
    <div>On 2024-07-30 10:14 a.m., Valentin
      Abrutski wrote:<br>
    </div>
    <blockquote type=3D"cite">
     =20
      <div dir=3D"ltr">Hello all,=C2=A0
        <div><br>
        </div>
        <div>Hopefully somebody can help me.</div>
        <div><br>
        </div>
        <div>Microsoft provides implementations for Microsoft Scripting
          Engine - VbScript and JScript.</div>
        <div>I need to add Python Script Engine support. I see that
          pywin32 already has a component for that(COM object). But it
          exposes only the IActiveScript interface. For my needs I also
          need=C2=A0
          IActiveScriptParse interface.=C2=A0<br>
          <br>
          please advise me if pywin32 implements it also and I just
          missed something? or if you have an idea what to do to get.. I
          will appreciate for your help.</div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
python-win32 mailing list
<a href=3D"mailto:[email protected]" target=3D"_blank">python-win32@p=
ython.org</a>
<a href=3D"https://mail.python.org/mailman/listinfo/python-win32" target=3D=
"_blank">https://mail.python.org/mailman/listinfo/python-win32</a>
</pre>
    </blockquote>
  </div>

</blockquote></div>
</blockquote></div>

--000000000000843f56061e7cd50c--

--===============2519822192161646279==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
python-win32 mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-win32

--===============2519822192161646279==--