(*args, **kwds)
| 17 | |
| 18 | def __call__(self, f): |
| 19 | def new_f(*args, **kwds): |
| 20 | id=args[an] |
| 21 | if id in self.cs: |
| 22 | #print "recursion detected at '%s' in %s" % (id, str(self.cs)) |
| 23 | return defret |
| 24 | else: |
| 25 | self.cs.append(id) |
| 26 | x = f(*args, **kwds) |
| 27 | self.cs.remove(id) |
| 28 | return x |
| 29 | return new_f |
| 30 | return decorate() |