Skip to content

Commit

Permalink
Adding a background_func decorator
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason Baker committed Jul 30, 2010
1 parent b455f18 commit 0e15e28
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions shrapnel/decorator.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from functools import wraps

from shrapnel.classtools import BackgroundFunction

def background_func(func):
"""
A decorator that will convert the decorated function to a BackgroundFunction.
"""
class FuncClass(BackgroundFunction):
def __init__(self, *args, **kwargs):
self.args = args
self.kwargs = kwargs
super(FuncClass, self).__init__()

def execute(self):
return func(*self.args, **self.kwargs)

@wraps(func)
def decorated(*args, **kwargs):
return FuncClass(*args, **kwargs)

return decorated

0 comments on commit 0e15e28

Please sign in to comment.