Re: __getattr__ Error

Alok Bhargava <[email protected]> Mon, 18 Mar 2024 10:26:15 -0400
Newsgroups gmane.comp.python.windows
Message-ID <CAN-Qc=cG97-BygPVi_UiZ1b4kJNG+huzOo=E7wBFzPMukrk+qA@mail.gmail.com>
--===============5597328136869592928==
Content-Type: multipart/alternative; boundary="0000000000009641460613f0244a"

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

Many thanks Mark - it is great to be able to learn more about the system
from its creators!



On Mon, Mar 18, 2024 at 10:25=E2=80=AFAM Alok Bhargava <[email protected]=
m> wrote:

> 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]> wrot=
e:
>
>> 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 leadin=
g
>>            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 <akbhargava@gmail.=
com>
>> wrote:
>>
>>> Hi and thank you for your insightful guidance on Jannis' question.  I a=
m
>>> 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]> wr=
ote:
>>>
>>>> Hi Jannis,
>>>>
>>>> a good way forward: create less-dynamic COM-bindings by using makepy.p=
y
>>>> (it is part of your win32com-client installation, but linked here for
>>>> the dokumentation)
>>>>
>>>>
>>>>
>>>> https://github.com/SublimeText/Pywin32/blob/master/lib/x32/win32com/cl=
ient/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
>>>>> CATIA.
>>>>> 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\PythonPointClo=
udCreation\PythonPointCloudCreation\py37_env_1\lib\site-packages\win32com\c=
lient\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 t=
he
>>>>> 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
>>
>>

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

<div dir=3D"ltr"><div>Many thanks Mark - it is great to be able to learn mo=
re about the system from its creators!</div><div><br></div><div><br></div><=
/div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">O=
n Mon, Mar 18, 2024 at 10:25=E2=80=AFAM Alok Bhargava &lt;<a href=3D"mailto=
:[email protected]">[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"><div dir=3D"ltr"><div>Many thank=
s Harald!</div><div><br></div><div>If I specify the file location when runn=
ing makepy, how do I ensure myapplication knows where to find them?=C2=A0 A=
gain this may be a silly question, so please 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]" target=3D"_blank">haraldarminm=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex"><div dir=3D"ltr">Hi Alok,<div><br></div><div>there should be =
a __gencache__ directory somewhere, which contains the generated files.</di=
v><div>But it is WAY easier to just use the</div><div><br></div><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 the file does n=
ot 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.<br></div><div><b=
r></div><div>parameter of makepy.py</div><div><br></div><div>cheers</div><d=
iv><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]" target=3D"_blank">akbh=
[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);pa=
dding-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 si=
lly 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><b=
r><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, =
Mar 18, 2024 at 7:43=E2=80=AFAM &lt;<a href=3D"mailto:haraldarminmassa@gmai=
l.com" 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 dir=3D"ltr">Hi Jann=
is,<div><br></div><div>a good way forward: create less-dynamic COM-bindings=
 by using makepy.py=C2=A0</div><div>(it is part of your win32com-client ins=
tallation, but linked here for the dokumentation)</div><div><br></div><div>=
<br></div><div><a href=3D"https://github.com/SublimeText/Pywin32/blob/maste=
r/lib/x32/win32com/client/makepy.py" target=3D"_blank">https://github.com/S=
ublimeText/Pywin32/blob/master/lib/x32/win32com/client/makepy.py</a><br></d=
iv><div><br></div><div>With makepy py you can create a (very very large) py=
thon-file, which includes rather static bindings=C2=A0to</div><div>reachabl=
e exposed attributes and methods.</div><div><br></div><div>You can then gre=
p or strg+f through that file for &quot;HybridShapes&quot; ... maybe it is =
just spelled differently.</div><div><br></div><div>Using COM things for &gt=
; 2 decades, apps run much smoother using the makepy created files than dyn=
amic dispatch</div><div><br></div><div>cheers</div><div><br></div><div>Hara=
ld</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 p=
ython-win32 &lt;<a href=3D"mailto:[email protected]" target=3D"_blank=
">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,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>
</blockquote></div>

--0000000000009641460613f0244a--

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

--===============5597328136869592928==--