← Back to team overview

kicad-developers team mailing list archive

Re: Pcbnew Python Interface breakage?

 

Hi,
DrawingsList() is a good candidate ;)
Le lundi 26 juin 2017 à 11:34 +0200, easyw a écrit :
> Hi Js,
> thx with PadsList() the script is fine now...
> 
> Do you have any suggestion also for
> 
> "for drw in board.GetDrawings():
> GetDrawings def GetDrawings(self): return self.m_Drawings File
> ...
> AttributeError: type object 'object' has no attribute '__getattr__'"
> 
> reference this action script
> https://github.com/easyw/kicad-action-plugins/blob/master/action_menu
> _move_to_layer.py
> 
> 
> thx
> Maurice
> 
> On 06/26/2017 11:21 AM, reynaud wrote:
> > 
> > Hi,
> > 
> > Python interface is not stable. You can have some changes on daily
> > build
> > version.
> > In your case, using PadsList() instead of Pads() should fix your
> > issue.
> > 
> > 
> > Le lundi 26 juin 2017 à 10:23 +0200, easyw a écrit :
> > > 
> > > 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
> > > > 
> > > > __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
> > > > 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
> > > 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
> > 

Follow ups

References