You could look at something like the following to turn the class
iteslf into a decorator (changed lines *-ed):

> class TaggedWrapper():
>
*     def __init__(self, logMixin, stream):
>         self.__tag = '%...@%s' % (logMixin.describe(), stream)
>         logMixin._debug('Created %s' % self)
>
>     def __next__(self):
>         return next(self.__generator)
>
>     def __str__(self):
>         return self.__tag

      def __call__(self, generator):
         self.__generator = generator
         return self

and then decorate your generator:

@TaggedWrapper(mixin, stream)
def myGen;
   for a in range(1,100):
        yield a

(Disclaimer: Completely untested...)

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to