def __getattribute__(self, name):
        """Intercept method calls and apply to both actions, except signals."""
        attr = super(SpyderAction, self).__getattribute__(name)

        if hasattr(attr, '__call__') and name not in ['triggered', 'toggled',
                                                      'changed', 'hovered']:
            def newfunc(*args, **kwargs):
                result = attr(*args, **kwargs)
                if name not in ['setIcon']:
                    action_no_icon = self.__dict__['_action_no_icon']
                    attr_no_icon = super(QAction,
                                         action_no_icon).__getattribute__(name)
                    attr_no_icon(*args, **kwargs)
                return result
            return newfunc
        else:
            return attr
def __getattribute__ ( self , name ) : attr = super ( SpyderAction , self ) . __getattribute__ ( name ) if hasattr ( attr , '__call__' ) and name not in [ 'triggered' , 'toggled' , 'changed' , 'hovered' ] : def newfunc ( * args , ** kwargs ) : result = attr ( * args , ** kwargs ) if name not in [ 'setIcon' ] : action_no_icon = self . __dict__ [ '_action_no_icon' ] attr_no_icon = super ( QAction , action_no_icon ) . __getattribute__ ( name ) attr_no_icon ( * args , ** kwargs ) return result return newfunc else : return attr
Intercept method calls and apply to both actions, except signals.