Re: __getattr__ Error

Alok Bhargava <[email protected]> Mon, 18 Mar 2024 10:25:24 -0400
Newsgroups gmane.comp.python.windows
Message-ID <CAN-Qc=dMyEJWNCmeDLOhedcv9hZMpDsTBwO=9MA9rPL1_knNrQ@mail.gmail.com>
--===============8849271587348113778==
Content-Type: multipart/alternative; boundary="0000000000008806890613f021dd"

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

Many thanks Harald!

If I specify the file location when running makepy, how do I ensure
myapplication knows where to find them?  Again this may be a silly
question, so please bear with me.

Thank you!

On Mon, Mar 18, 2024 at 9:36=E2=80=AFAM <[email protected]> wrote:

> Hi Alok,
>
> there should be a __gencache__ directory somewhere, which contains the
> generated files.
> But it is WAY easier to just use the
>
>   -o    -- Create output in a specified output file.  If the path leading
>            to the file does not exist, any missing directories will be
>            created.
>            NOTE: -o cannot be used with -d.  This will generate an error.
>
> parameter of makepy.py
>
> cheers
>
> Harald
>
> On Mon, Mar 18, 2024 at 2:13=E2=80=AFPM Alok Bhargava <[email protected]=
om>
> wrote:
>
>> Hi and thank you for your insightful guidance on Jannis' question.  I am
>> running into similar issues as I work with a 3rd party COM app.
>>
>> This may be a silly question but could you point me to where the
>> generated class files are located?
>>
>> Many thanks!
>>
>>
>> On Mon, Mar 18, 2024 at 7:43=E2=80=AFAM <[email protected]> wro=
te:
>>
>>> Hi Jannis,
>>>
>>> a good way forward: create less-dynamic COM-bindings by using makepy.py
>>> (it is part of your win32com-client installation, but linked here for
>>> the dokumentation)
>>>
>>>
>>>
>>> https://github.com/SublimeText/Pywin32/blob/master/lib/x32/win32com/cli=
ent/makepy.py
>>>
>>> With makepy py you can create a (very very large) python-file, which
>>> includes rather static bindings to
>>> reachable exposed attributes and methods.
>>>
>>> You can then grep or strg+f through that file for "HybridShapes" ...
>>> maybe it is just spelled differently.
>>>
>>> Using COM things for > 2 decades, apps run much smoother using the
>>> makepy created files than dynamic dispatch
>>>
>>> cheers
>>>
>>> Harald
>>>
>>>
>>> On Sun, Mar 17, 2024 at 7:35=E2=80=AFPM Jannis via python-win32 <
>>> [email protected]> wrote:
>>>
>>>> Hello together,
>>>>
>>>>
>>>> I am trying to automate a point cloud creation out of CATParts in CATI=
A.
>>>> The win32com client can access CATIA documents, but NOT methods and
>>>> attributes in the parts. I get the following error:
>>>>
>>>>
>>>> File
>>>>
>>>> "C:\Users\th80im\source\repos\PythonPointCloudCreation\PythonPointClou=
dCreation\PythonPointCloudCreation\py37_env_1\lib\site-packages\win32com\cl=
ient\dynamic.py",
>>>> line 638, in __getattr__
>>>>      raise AttributeError("%s.%s" % (self._username_, attr))
>>>> AttributeError: <unknown>.HybridShapes
>>>>
>>>>
>>>> I guess, there is something wrong with the registering of CATIA, or th=
e
>>>> installation of the client? Or am I looking in the wrong direction?
>>>>
>>>>
>>>> Thank you & Best Regards
>>>>
>>>> ioannis
>>>>
>>>> _______________________________________________
>>>> python-win32 mailing list
>>>> [email protected]
>>>> https://mail.python.org/mailman/listinfo/python-win32
>>>>
>>>
>>>
>>> --
>>> --
>>> Harald Armin Massa
>>> Spielberger Stra=C3=9Fe 49
>>> 70435 Stuttgart
>>> 0173/9409607
>>>
>>> _______________________________________________
>>> python-win32 mailing list
>>> [email protected]
>>> https://mail.python.org/mailman/listinfo/python-win32
>>>
>>
>
> --
> --
> Harald Armin Massa
> Spielberger Stra=C3=9Fe 49
> 70435 Stuttgart
> 0173/9409607
>
>

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

<div dir=3D"ltr"><div>Many thanks Harald!</div><div><br></div><div>If I spe=
cify the file location when running makepy, how do I ensure myapplication k=
nows where to find them?=C2=A0 Again this may be a silly question, so pleas=
e bear with me.</div><div><br></div><div>Thank you!<br></div></div><br><div=
 class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Mar 18=
, 2024 at 9:36=E2=80=AFAM &lt;<a href=3D"mailto:[email protected]"=
>[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,=
204,204);padding-left:1ex"><div dir=3D"ltr">Hi Alok,<div><br></div><div>the=
re should be a __gencache__ directory somewhere, which contains the generat=
ed files.</div><div>But it is WAY easier to just use the</div><div><br></di=
v><div>=C2=A0 -o =C2=A0 =C2=A0-- Create output in a specified output file.=
=C2=A0 If the path leading<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0to t=
he file does not exist, any missing directories will be<br>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0created.<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0NOTE: -o cannot be used with -d.=C2=A0 This will generate an error.<b=
r></div><div><br></div><div>parameter of makepy.py</div><div><br></div><div=
>cheers</div><div><br></div><div>Harald</div></div><br><div class=3D"gmail_=
quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Mar 18, 2024 at 2:13=
=E2=80=AFPM Alok Bhargava &lt;<a href=3D"mailto:[email protected]" targe=
t=3D"_blank">[email protected]</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Hi and thank you for=
 your insightful guidance on Jannis&#39; question.=C2=A0 I am running into =
similar issues as I work with a 3rd party COM app.</div><div><br></div><div=
>This may be a silly question but could you point me to where the generated=
 class files are located?</div><div><br></div><div>Many thanks!</div><div><=
br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gma=
il_attr">On Mon, Mar 18, 2024 at 7:43=E2=80=AFAM &lt;<a href=3D"mailto:hara=
[email protected]" target=3D"_blank">[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(204,204,204);padding-left:1ex"><div di=
r=3D"ltr">Hi Jannis,<div><br></div><div>a good way forward: create less-dyn=
amic COM-bindings by using makepy.py=C2=A0</div><div>(it is part of your wi=
n32com-client installation, but linked here for the dokumentation)</div><di=
v><br></div><div><br></div><div><a href=3D"https://github.com/SublimeText/P=
ywin32/blob/master/lib/x32/win32com/client/makepy.py" target=3D"_blank">htt=
ps://github.com/SublimeText/Pywin32/blob/master/lib/x32/win32com/client/mak=
epy.py</a><br></div><div><br></div><div>With makepy py you can create a (ve=
ry very large) python-file, which includes rather static bindings=C2=A0to</=
div><div>reachable exposed attributes and methods.</div><div><br></div><div=
>You can then grep or strg+f through that file for &quot;HybridShapes&quot;=
 ... maybe it is just spelled differently.</div><div><br></div><div>Using C=
OM things for &gt; 2 decades, apps run much smoother using the makepy creat=
ed files than dynamic dispatch</div><div><br></div><div>cheers</div><div><b=
r></div><div>Harald</div><div><br></div></div><br><div class=3D"gmail_quote=
"><div dir=3D"ltr" class=3D"gmail_attr">On Sun, Mar 17, 2024 at 7:35=E2=80=
=AFPM Jannis via python-win32 &lt;<a href=3D"mailto:[email protected]=
" target=3D"_blank">[email protected]</a>&gt; wrote:<br></div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p=
x solid rgb(204,204,204);padding-left:1ex">Hello together,<br>
<br>
<br>
I am trying to automate a point cloud creation out of CATParts in CATIA.<br=
>
The win32com client can access CATIA documents, but NOT methods and<br>
attributes in the parts. I get the following error:<br>
<br>
<br>
File<br>
&quot;C:\Users\th80im\source\repos\PythonPointCloudCreation\PythonPointClou=
dCreation\PythonPointCloudCreation\py37_env_1\lib\site-packages\win32com\cl=
ient\dynamic.py&quot;,<br>
line 638, in __getattr__<br>
=C2=A0=C2=A0 =C2=A0 raise AttributeError(&quot;%s.%s&quot; % (self._usernam=
e_, attr))<br>
AttributeError: &lt;unknown&gt;.HybridShapes<br>
<br>
<br>
I guess, there is something wrong with the registering of CATIA, or the<br>
installation of the client? Or am I looking in the wrong direction?<br>
<br>
<br>
Thank you &amp; Best Regards<br>
<br>
ioannis<br>
<br>
_______________________________________________<br>
python-win32 mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">python-win32@p=
ython.org</a><br>
<a href=3D"https://mail.python.org/mailman/listinfo/python-win32" rel=3D"no=
referrer" target=3D"_blank">https://mail.python.org/mailman/listinfo/python=
-win32</a><br>
</blockquote></div><br clear=3D"all"><div><br></div><span class=3D"gmail_si=
gnature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><d=
iv dir=3D"ltr">--<div>Harald Armin Massa<br>Spielberger Stra=C3=9Fe 49<br>7=
0435 Stuttgart<br>0173/9409607<br><br></div></div></div>
_______________________________________________<br>
python-win32 mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">python-win32@p=
ython.org</a><br>
<a href=3D"https://mail.python.org/mailman/listinfo/python-win32" rel=3D"no=
referrer" target=3D"_blank">https://mail.python.org/mailman/listinfo/python=
-win32</a><br>
</blockquote></div>
</blockquote></div><br clear=3D"all"><div><br></div><span class=3D"gmail_si=
gnature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><d=
iv dir=3D"ltr">--<div>Harald Armin Massa<br>Spielberger Stra=C3=9Fe 49<br>7=
0435 Stuttgart<br>0173/9409607<br><br></div></div></div>
</blockquote></div>

--0000000000008806890613f021dd--

--===============8849271587348113778==
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

--===============8849271587348113778==--