[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