def testBadRegister(self): try: ten.registerFlattener('adouijwd.dwijd hi mom', '1234567890') except: # Yay pass else: self.fail("Registering invalid flattener names raised no exception")
def __init__(self, value): self.value = value self.flattenedWith = [] def flattenLegacySerializable(legacy, context): """ Old-style flattener for L{LegacySerializable}. """ legacy.flattenedWith.append(context) return [legacy.value] registerFlattener(flattenLegacySerializable, LegacySerializable) class DeferflattenTests(TestCase, FlattenMixin): """ Tests for L{nevow._flat.deferflatten}. """ def deferflatten(self, root, request=None): """ Helper to get a string from L{deferflatten}. """ result = [] d = deferflatten(request, root, False, False, result.append) def cbFlattened(ignored): return "".join(result)
Use the new flattener implementation to flatten the given L{IRenderable} in a manner appropriate for the specified context. """ if ctx.precompile: return element synchronous = [] accumulator = [] request = IRequest(ctx, None) # XXX None case is DEPRECATED finished = deferflatten(request, element, ctx.isAttrib, True, accumulator.append) def cbFinished(ignored): synchronous.append(None) return accumulator finished.addCallback(cbFinished) if synchronous: return accumulator return finished registerFlattener(_flattenElement, Element) __all__ = [ 'FlattenerError', 'Element', 'renderer', 'deferflatten', ]
flattened using that flattener. """ def __init__(self, value): self.value = value self.flattenedWith = [] def flattenLegacySerializable(legacy, context): """ Old-style flattener for L{LegacySerializable}. """ legacy.flattenedWith.append(context) return [legacy.value] registerFlattener(flattenLegacySerializable, LegacySerializable) class DeferflattenTests(TestCase, FlattenMixin): """ Tests for L{nevow._flat.deferflatten}. """ def deferflatten(self, root, request=None): """ Helper to get a string from L{deferflatten}. """ result = [] d = deferflatten(request, root, False, False, result.append) def cbFlattened(ignored): return "".join(result)
accumulator = [] request = IRequest(ctx, None) # XXX None case is DEPRECATED finished = deferflatten(request, element, ctx.isAttrib, True, accumulator.append) def cbFinished(ignored): if synchronous is not None: synchronous.append(None) return accumulator def ebFinished(err): if synchronous is not None: synchronous.append(err) else: return err finished.addCallbacks(cbFinished, ebFinished) if synchronous: if synchronous[0] is None: return accumulator synchronous[0].raiseException() synchronous = None return finished registerFlattener(_flattenElement, Element) __all__ = [ 'FlattenerError', 'Element', 'renderer', 'deferflatten', ]