kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29806
Re: Pcbnew Python Interface breakage?
-
To:
<kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
From:
Maciej Sumiński <maciej.suminski@xxxxxxx>
-
Date:
Mon, 26 Jun 2017 18:30:53 +0200
-
Authentication-results:
spf=pass (sender IP is 188.184.36.46) smtp.mailfrom=cern.ch; lists.launchpad.net; dkim=none (message not signed) header.d=none;lists.launchpad.net; dmarc=bestguesspass action=none header.from=cern.ch;
-
In-reply-to:
<61905366-4268-a7e8-e165-99fdca5d41c5@katamail.com>
-
Spamdiagnosticmetadata:
NSPM
-
Spamdiagnosticoutput:
1:99
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
Great, thank you both for testing! I have just pushed the patch.
Maurice, you are right about the comment. It was already there, but
should have been removed.
Regards,
Orson
On 06/26/2017 05:16 PM, easyw wrote:
> Hi,
>
> I solved with a trick
> try:
> board_drawings=board.GetDrawings()
> except:
> board_drawings=board.DrawingsList()
>
> for drw in board_drawings:
>
> for one plugin, and with a similar trick for the other;
> but your solution is cleaner.
>
> is the
> diff --git a/pcbnew/swig/module.i b/pcbnew/swig/module.i
> correct?
>
> I see there is a block comment before @line 45
> /*
> %extend MODULE
> ...
>
> Applying the patch I cannot make any plugins running
> but if I de-comment that block it works...
>
>
> Thx
> Maurice
>
>
> On 06/26/2017 2:24 PM, Maciej Sumiński wrote:
>> Hi Maurice,
>>
>> This is due to the recent commit that enables iterators for DLISTs. We
>> have forgotten that such change impacts the Python interface.
>>
>> I propose to keep the old interface, otherwise we will face many reports
>> when a script works correctly with the stable release, but not with
>> nightlies.
>>
>> Would you check if the attached patch fixes the problem? If so, I will
>> push it.
>>
>> Regards,
>> Orson
>>
>> On 06/26/2017 10:23 AM, easyw wrote:
>>> Hi,
>>> I can confirm the same error on windows 10.
>>>
>>> I get also an other kind of error in my annular plugin that worked
>>> till now
>>>
>>> "for pad in module.Pads():
>>> TypeError 'SwigPyObject' object is not iterable"
>>>
>>> BR
>>> Maurice
>>>
>>> On 06/25/2017 5:46 PM, Simon Küppers wrote:
>>>> Hi,
>>>> I just updated KiCad on Linux Mint using the Launchpad PPA to test the
>>>> new connection algorithm. However, a SWIG error starts to pop up in my
>>>> python plugins.
>>>> Right now I can produce the error, when calling GetDrawings on the
>>>> board
>>>> object (which worked a few days ago). It looks like the SWIG wrappers
>>>> are desynchronized from the C++-code. Is that (at all) possible?
>>>>
>>>> This is the Traceback I get:
>>>>
>>>> ----
>>>> Traceback (most recent call last):
>>>>
>>>> File "/home/sk/.kicad_plugins/action_viafence/viafence_action.py",
>>>> line 160, in Run
>>>> boardItem = self.boardObj.GetDrawings().GetFirst()
>>>>
>>>> File "/usr/lib/python2.7/dist-packages/pcbnew.py", line 18508, in
>>>> GetDrawings
>>>> def GetDrawings(self): return self.m_Drawings
>>>>
>>>> File "/usr/lib/python2.7/dist-packages/pcbnew.py", line 17803, in
>>>> <lambda>
>>>> __getattr__ = lambda self, name: _swig_getattr(self, BOARD, name)
>>>>
>>>> File "/usr/lib/python2.7/dist-packages/pcbnew.py", line 74, in
>>>> _swig_getattr
>>>> return _swig_getattr_nondynamic(self, class_type, name, 0)
>>>>
>>>> File "/usr/lib/python2.7/dist-packages/pcbnew.py", line 69, in
>>>> _swig_getattr_nondynamic
>>>> return object.__getattr__(self, name)
>>>>
>>>> AttributeError: type object 'object' has no attribute '__getattr__'
>>>>
>>>> Best Regards
>>>> Simon
>>>>
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>> More help : https://help.launchpad.net/ListHelp
>>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help : https://help.launchpad.net/ListHelp
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help : https://help.launchpad.net/ListHelp
>>
Attachment:
signature.asc
Description: OpenPGP digital signature
Follow ups
References