|
2 | 2 | importunittest
|
3 | 3 | fromsupportimportsimplejson,html5lib_test_files
|
4 | 4 |
|
5 |
| -fromhtml5libimporthtml5parser,serializer |
| 5 | +fromhtml5libimporthtml5parser,serializer,constants |
6 | 6 | fromhtml5lib.treewalkers._baseimportTreeWalker
|
7 | 7 |
|
| 8 | +default_namespace=constants.namespaces["html"] |
| 9 | + |
8 | 10 | classJsonWalker(TreeWalker):
|
9 | 11 | def__iter__(self):
|
10 | 12 | fortokeninself.tree:
|
11 | 13 | type=token[0]
|
12 | 14 | iftype=="StartTag":
|
13 |
| -yieldself.startTag(token[1],token[2]) |
| 15 | +iflen(token)==4: |
| 16 | +namespace,name,attrib=token[1:] |
| 17 | +else: |
| 18 | +namespace=default_namespace |
| 19 | +name,attrib=token[1:] |
| 20 | +yieldself.startTag(namespace,name,attrib) |
14 | 21 | eliftype=="EndTag":
|
15 |
| -yieldself.endTag(token[1]) |
| 22 | +iflen(token)==3: |
| 23 | +namespace,name=token[1:] |
| 24 | +else: |
| 25 | +namespace=default_namespace |
| 26 | +name=token[1] |
| 27 | +yieldself.endTag(namespace,name) |
16 | 28 | eliftype=="EmptyTag":
|
17 |
| -fortokeninself.emptyTag(token[1],token[2]): |
| 29 | +iflen(token)==4: |
| 30 | +namespace,name,attrib=token[1:] |
| 31 | +else: |
| 32 | +namespace=default_namespace |
| 33 | +name,attrib=token[1:] |
| 34 | +fortokeninself.emptyTag(namespace,name,attrib): |
18 | 35 | yieldtoken
|
19 | 36 | eliftype=="Comment":
|
20 | 37 | yieldself.comment(token[1])
|
|