[Python-projects] list of false negatives
Simon Schampijer
simon at schampijer.de
Thu Feb 14 12:34:46 CET 2008
Sorry - should have added that I use the following pylint version:
$ pylint --version
pylint 0.14.0,
astng 0.17.2, common 0.28.0
Python 2.5.1 (r251:54863, Oct 30 2007, 13:45:26)
[GCC 4.1.2 20070925 (Red Hat 4.1.2-33)]
Simon
Simon Schampijer wrote:
> Hi,
>
> I try to use pylint in an project where we use gobject, gtk and dbus.
> Below I have a list of false negatives I found. Regarding gtk I found
> this pointer
> (http://lists.logilab.org/pipermail/python-projects/2006-November/001007.html),
> but could not find something about the gobject issue. Maybe someone can
> comment or provide me with pointers I can look at, thanks.
>
> Best,
> Simon
>
>
> * dbus conversion
> - dbus.String(self._key)
> - E1102: dbus.String is not callable
> - works in 0.41
>
> * Message has unused arguments
> - W0613: Unused argument 'arg0'
> <example>
> def __new_picture(self, playa, pixbuf):
> self.emit('pixbuf', pixbuf)
> </example>
> - workaround: prefix method with 'cb_' or append '_cb', this seems
> hardcoded in the pylint code why I think this can not be customized to
> match for example '__'
>
> * gobject
> - E1101: Instance of 'LiveVideoSlot' has no 'emit' member
> same behavior for 'connect', 'disconnect', 'notify', props
>
> What does not work:
> <example>
> class LiveVideoSlot(gobject.GObject):
> __gsignals__ = {
> 'pixbuf': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
> ([gobject.TYPE_PYOBJECT])),
> }
> def __init__(self, width, height):
> gobject.GObject.__init__(self)
>
> def _new_picture_cb(self, playa, pixbuf):
> self.emit('pixbuf', pixbuf)
> </example>
>
> What does work:
> <example>
> class LiveVideoSlot(gtk.EventBox):
> __gsignals__ = {
> 'pixbuf': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
> ([gobject.TYPE_PYOBJECT])),
> }
> def __init__(self, width, height):
> gtk.EventBox.__init__(self)
>
> def _new_picture_cb(self, playa, pixbuf):
> self.emit('pixbuf', pixbuf)
> </example>
>
> * vbox keydialog
> - E1101: 96:KeyDialog.__init__: Class 'vbox' has no 'pack_start' member
> self.vbox.__module__ is gtk
> <example>
> class KeyDialog(gtk.Dialog):
> def __init__(self):
> gtk.Dialog.__init__(self, flags=gtk.DIALOG_MODAL)
> self.set_title("Wireless Key Required")
> label = gtk.Label("Label")
> self.vbox.pack_start(label)
> </example>
>
> * gtk.Window
> E1101: 10:ActivityChatWindow.__init__: Class 'window' has no
> 'set_type_hint' member
> E1101: 11:ActivityChatWindow.__init__: Class 'window' has no
> 'set_accept_focus' member
>
> calling self.set_type_hint() works for pylint
> self.window.__module__ is gtk.gdk
> <example>
> class ActivityChatWindow(gtk.Window):
> def __init__(self):
> gtk.Window.__init__(self)
>
> self.realize()
> self.set_decorated(False)
> self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
> self.window.set_accept_focus(True)
> ActivityChatWindow()
> </example>
>
> * child
> E1101: 10:ClipboardIcon.__init__: Class 'child' has no 'connect' member
>
> calling self.connect() works for pylint
> self.child is of type GtkRadioButton and __module__ is gtk
>
> <example>
> from sugar.graphics.radiotoolbutton import RadioToolButton
>
> class ClipboardIcon(RadioToolButton):
> __gtype_name__ = 'SugarClipboardIcon'
>
> def __init__(self):
> RadioToolButton.__init__(self)
> self.child.connect('drag_data_get', self._drag_data_get_cb)
>
> def _drag_data_get_cb(self, widget, context, selection, targetType,
> eventTime):
> pass
> </example>
>
> _______________________________________________
> Python-Projects mailing list
> Python-Projects at lists.logilab.org
> http://lists.logilab.org/mailman/listinfo/python-projects
More information about the Python-Projects
mailing list