예제 #1
0
    def test_none(self):
        stack = NamespaceStack()
        stack.append({})
        repeat = NamespaceStack()

        expression = evaluate('none', stack, repeat)
        self.assertEqual(expression, None)
예제 #2
0
    def test_none(self):
        stack = NamespaceStack()
        stack.append({})
        repeat = NamespaceStack()

        expression = evaluate('none', stack, repeat)
        self.assertEqual(expression, None)
예제 #3
0
def stl_odf(document=None, namespace=freeze({}), element=None):
    """Apply the given namespace to the document (or element) where matching
    "${xxx}" are replaced by their value.

    Clone of itools.stl for odf_document.

    Arguments:

        document -- odf_document

        namespace -- dict

    Return: modified "document" argument
    """
    # Input
    if element is None:
        element = document.get_body()
    # Initialize the namespace stacks
    stack = NamespaceStack()
    stack.append(namespace)
    repeat_stack = NamespaceStack()
    # Process
    stream = process(element, stack, repeat_stack)
    # Return
    return stream
예제 #4
0
파일: template.py 프로젝트: nctan/quneiform
def stl_odf(document=None, namespace=freeze({}), element=None):
    """Apply the given namespace to the document (or element) where matching
    "${xxx}" are replaced by their value.

    Clone of itools.stl for odf_document.

    Arguments:

        document -- odf_document

        namespace -- dict

    Return: modified "document" argument
    """
    # Input
    if element is None:
        element = document.get_body()
    # Initialize the namespace stacks
    stack = NamespaceStack()
    stack.append(namespace)
    repeat_stack = NamespaceStack()
    # Process
    stream = process(element, stack, repeat_stack)
    # Return
    return stream
예제 #5
0
    def test_traversal(self):
        namespace = {'a': {'b': {'c': 'hello world'}}}
        stack = NamespaceStack()
        stack.append(namespace)
        repeat = NamespaceStack()

        value = evaluate('a/b/c', stack, repeat)
        self.assertEqual(value, 'hello world')
예제 #6
0
    def test_traversal(self):
        namespace = {'a': {'b': {'c': 'hello world'}}}
        stack = NamespaceStack()
        stack.append(namespace)
        repeat = NamespaceStack()

        value = evaluate('a/b/c', stack, repeat)
        self.assertEqual(value, 'hello world')
예제 #7
0
class SubstituteTestCase(TestCase):
    def setUp(self):
        namespace = {'name': u'Toto'}

        self.stack = NamespaceStack()
        self.stack.append(namespace)
        self.repeat = NamespaceStack()

    def test_simple(self):
        data = 'Hello ${name}'
        stream = substitute(data, self.stack, self.repeat)
        # Assert
        out = stream_to_str(stream)
        self.assertEqual(out, 'Hello Toto')
예제 #8
0
class SubstituteTestCase(TestCase):

    def setUp(self):
        namespace = {'name': u'Toto'}

        self.stack = NamespaceStack()
        self.stack.append(namespace)
        self.repeat = NamespaceStack()


    def test_simple(self):
        data = 'Hello ${name}'
        stream = substitute(data, self.stack, self.repeat)
        # Assert
        out = stream_to_str(stream)
        self.assertEqual(out, 'Hello Toto')
예제 #9
0
    def setUp(self):
        namespace = {'name': u'Toto'}

        self.stack = NamespaceStack()
        self.stack.append(namespace)
        self.repeat = NamespaceStack()
예제 #10
0
    def setUp(self):
        namespace = {'name': u'Toto'}

        self.stack = NamespaceStack()
        self.stack.append(namespace)
        self.repeat = NamespaceStack()