Skip to content

Commit

Permalink
fix @Renderable for python-2.5 compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
djmitche committed Sep 21, 2012
1 parent bc6bf17 commit 7d5a2e8
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions master/buildbot/process/properties.py
Expand Up @@ -22,7 +22,7 @@
from buildbot.interfaces import IRenderable, IProperties
from twisted.internet import defer
from twisted.python.components import registerAdapter
from zope.interface import implements, implementer, provider
from zope.interface import implements, provider

class Properties(util.ComparableMixin):
"""
Expand Down Expand Up @@ -571,11 +571,12 @@ def checkDefault(rv):
return props.render(self.default)

def renderer(f):
@implementer(IRenderable)
@provider(IRenderable)
class _renderer(object):
getRenderingFor = staticmethod(f)
return _renderer
# this is equivalent to using @provider as a class decorator, but
# py25 does not support class decorators. Note that the *class* object
# is a provider of the interface, not an implementer
return provider(IRenderable)(_renderer)

class _DefaultRenderer(object):
"""
Expand Down

0 comments on commit 7d5a2e8

Please sign in to comment.