Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/12/2014, 21:42
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Registrar todos los bound methods usando un decorador

Cita:
El problema es que cuando Hook se ejecuta me registra el metodo independiente, y a mi me gustaria que el decorador me registre el metodo enlazado a la instancia (bound).

Alguna idea?
Aquí no te entiendo. Te refieres a que una vez que decoras el metodo este metodo decorado hace un override de ciertos atributos del metodo original? Si es así te recomiendo leer http://stackoverflow.com/questions/3...ngs-to-a-class

Si refieres a decorar el metodo. Del siguiente modo:
Código Python:
Ver original
  1. class A(object):
  2.     def __init__(self, *args, **kwargs):
  3.         self.foo = decorator(self.foo)
  4.  
  5.     def foo(self):
  6.         print 'foo'
Entonces WAT. No se me ocurre ningun escenario de porque esto es una buena idea.

Cuando esto es definitivamente mucho mejor
Código Python:
Ver original
  1. class A(object):
  2.     @decorator
  3.     def foo(self):
  4.         print 'foo'

Cita:
De que manera podria hacer que determinados metodos se auto registren a un evento cuando la clase es instanciada sin tener que hacerlo manualmente en el __init__?
Depende del criterio que uses para 'auto registrar'. Seguirias alguna convención? Lo especificarias explicitamente? Lo indicaras al generar la instancia? O desde antes?