def registerfeed(slug, in_std=False): def registerdecorator(feed): if in_std: if in_std is True: in_std = [None] return feed return registerdecorator print 'this will fail' try: @registerfeed('asd') def t(): pass except Exception, e: print 'failed', print e else: print 'Not failed' def registerfeed(slug, in_std=False): def registerdecorator(feed): in_std = [None] return feed return registerdecorator print print 'this won\'t fail' try: @registerfeed('asd') def t(): pass except Exception, e: print 'failed', print e else: print 'Not failed' def registerfeed(slug, in_std=False): def registerdecorator(feed): if in_std: if in_std is True: tmp = [None] else: tmp = in_std return feed return registerdecorator print 'this won\'t fail either' try: @registerfeed('asd') def t(): pass except Exception, e: print 'failed', print e else: print 'Not failed'