Esempio n. 1
0
def form(parser, token):
    p = TokenParser(token.contents)
    args = []
    while p.more():
        args.append(p.value())
    body = parser.parse(('endform',))
    parser.delete_first_token()
    return FormNode(body, *args)
Esempio n. 2
0
    def test_token_parsing(self):
        # Tests for TokenParser behavior in the face of quoted strings with
        # spaces.

        p = TokenParser("tag thevar|filter sometag")
        self.assertEqual(p.tagname, "tag")
        self.assertEqual(p.value(), "thevar|filter")
        self.assertTrue(p.more())
        self.assertEqual(p.tag(), "sometag")
        self.assertFalse(p.more())

        p = TokenParser('tag "a value"|filter sometag')
        self.assertEqual(p.tagname, "tag")
        self.assertEqual(p.value(), '"a value"|filter')
        self.assertTrue(p.more())
        self.assertEqual(p.tag(), "sometag")
        self.assertFalse(p.more())

        p = TokenParser("tag 'a value'|filter sometag")
        self.assertEqual(p.tagname, "tag")
        self.assertEqual(p.value(), "'a value'|filter")
        self.assertTrue(p.more())
        self.assertEqual(p.tag(), "sometag")
        self.assertFalse(p.more())
Esempio n. 3
0
def textarea(parser, token):
    p = TokenParser(token.contents)
    args = [p.value()]
    while p.more():
        args.append(p.value())
    return TextareaNode(*args)
Esempio n. 4
0
def input_field(parser, token):
    p = TokenParser(token.contents)
    args = [p.value()]
    while p.more():
        args.append(p.value())
    return InputFieldNode(*args)