11
11
12
12
#RELEASE remove
13
13
from src import html5parser , liberalxmlparser
14
- from src import treebuilders
14
+ from src import treebuilders , serializer , treewalkers
15
15
#END RELEASE
16
16
#RELEASE add
17
17
#from html5lib import html5parser, liberalxmlparser
18
- #from html5lib import treebuilders
18
+ #from html5lib import treebuilders, serializer, treewalkers
19
19
#END RELEASE
20
20
21
21
def convertTreeDump (treedump ):
@@ -51,16 +51,7 @@ def parse():
51
51
sys .stderr .write ("No filename provided. Use -h for help\n " )
52
52
sys .exit (1 )
53
53
54
- if opts .treebuilder is not None :
55
- try :
56
- treebuilder = eval ("treebuilders." + opts .treebuilder ).TreeBuilder
57
- except ImportError , name :
58
- sys .stderr .write ("Treebuilder %s not found\n " % name )
59
- raise
60
- except Exception , foo :
61
- treebuilder = treebuilders .simpletree .TreeBuilder
62
- else :
63
- treebuilder = treebuilders .simpletree .TreeBuilder
54
+ treebuilder = treebuilders .getTreeBuilder (opts .treebuilder )
64
55
65
56
if opts .xml :
66
57
p = liberalxmlparser .XHTMLParser (tree = treebuilder )
@@ -96,6 +87,10 @@ def printOutput(parser, document, opts):
96
87
if not opts .no_tree :
97
88
if opts .xml :
98
89
sys .stdout .write (document .toxml ("utf-8" ))
90
+ elif opts .html :
91
+ tokens = treewalkers .getTreeWalker (opts .treebuilder )(document )
92
+ for text in serializer .HTMLSerializer ().serialize (tokens ):
93
+ sys .stdout .write (text .encode ('utf-8' ))
99
94
elif opts .hilite :
100
95
sys .stdout .write (document .hilite ("utf-8" ))
101
96
else :
@@ -121,14 +116,17 @@ def getOptParser():
121
116
dest = "no_tree" , help = "Do not print output tree" )
122
117
123
118
parser .add_option ("-b" , "--treebuilder" , action = "store" , type = "string" ,
124
- dest = "treebuilder" )
119
+ dest = "treebuilder" , default = "simpleTree" )
125
120
126
121
parser .add_option ("-e", "--error" , action = "store_true" , default = False ,
127
122
dest = "error" , help = "Print a list of parse errors" )
128
123
129
124
parser .add_option ("-x" , "--xml" , action = "store_true" , default = False ,
130
125
dest = "xml" , help = "Output as xml" )
131
126
127
+ parser .add_option ("" , "--html" , action = "store_true" , default = False ,
128
+ dest = "html" , help = "Output as html" )
129
+
132
130
parser .add_option ("" , "--hilite" , action = "store_true" , default = False ,
133
131
dest = "hilite" , help = "Output as formatted highlighted code." )
134
132
0 commit comments