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)
Example #3
0
File: page.py Project: jpunwin/tums
    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)
Example #5
0
File: page.py Project: StetHD/nevow
    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',
    ]