Skip to content

Using gossip for objectmethods #22

@eplaut

Description

@eplaut

how can I use gossip for objectmethods

>>> import gossip
>>> class MyClass(object):
...     def trigger(self):
...         gossip.trigger('my_hook')
...     @gossip.register('my_hook')
...     def my_func(self):
...         print 42
... 
>>> my_object = MyClass()
>>> my_object.trigger()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 3, in trigger
  File "/home/eli/qa/.venv/local/lib/python2.7/site-packages/gossip/hooks.py", line 189, in trigger
    trigger_with_tags(hook_name, kwargs, None)
  File "/home/eli/qa/.venv/local/lib/python2.7/site-packages/gossip/hooks.py", line 199, in trigger_with_tags
    hook.trigger(kwargs or {}, tags)
  File "/home/eli/qa/.venv/local/lib/python2.7/site-packages/gossip/hooks.py", line 152, in trigger
    exception_policy.handle_exception(ctx, exc_info)
  File "/home/eli/qa/.venv/local/lib/python2.7/site-packages/gossip/exception_policy.py", line 29, in handle_exception
    reraise(exc_info[0], exc_info[1], exc_info[2])
  File "/home/eli/qa/.venv/local/lib/python2.7/site-packages/gossip/hooks.py", line 169, in _call_registration
    registration(**kwargs)  # pylint: disable=star-args
  File "/home/eli/qa/.venv/local/lib/python2.7/site-packages/gossip/registration.py", line 70, in __call__
    return self.func(*args, **kwargs)
TypeError: my_func() takes exactly 1 argument (0 given)

since the self parameter is not sent

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions