@@ -40,15 +40,15 @@ def parse():
4040 f = open (f )
4141 except IOError : pass
4242 except IndexError :
43- print "No filename provided. Use -h for help"
43+ sys . stderr . write ( "No filename provided. Use -h for help" )
4444 sys .exit (1 )
4545
4646 if opts .treebuilder is not None :
4747 try :
4848 treebuilder = __import__ ("src.treebuilders." + opts .treebuilder ,
4949 None ,None ,"src" ).TreeBuilder
5050 except ImportError , name :
51- print "Treebuilder %s not found" % name
51+ sys . stderr . write ( "Treebuilder %s not found" % name )
5252 raise
5353 except Exception , foo :
5454 import src .treebuilders .simpletree
@@ -78,27 +78,25 @@ def parse():
7878 t0 = time .time ()
7979 document = p .parse (f )
8080 t1 = time .time ()
81- if opts .xml :
82- print document .toxml ('utf-8' )
83- else :
84- print p .tree .testSerializer (document ).encode ("utf-8" )
85- if opts .error :
86- print "\n Parse errors:\n " + "\n " .join (p .errors )
81+ printOutput (p , document , opts )
8782 t2 = time .time ()
88- print "\n \n Run took: %fs (plus %fs to print the output)" % (t1 - t0 , t2 - t1 )
83+ sys . stdout . write ( "\n \n Run took: %fs (plus %fs to print the output)" % (t1 - t0 , t2 - t1 ) )
8984 else :
9085 document = p .parse (f )
91- if opts .xml :
92- print document .toxml ("utf-8" )
93- elif opts .hilite :
94- print document .hilite ("utf-8" )
95- else :
96- print p .tree .testSerializer (document ).encode ("utf-8" )
97- if opts .error :
98- errList = []
99- for pos , message in p .errors :
100- errList .append ("Line %i Col %i" % pos + " " + message )
101- print "\n Parse errors:\n " + "\n " .join (errList )
86+ printOutput (p , document , opts )
87+
88+ def printOutput (parser , document , opts ):
89+ if opts .xml :
90+ sys .stdout .write (document .toxml ("utf-8" ))
91+ elif opts .hilite :
92+ sys .stdout .write (document .hilite ("utf-8" ))
93+ else :
94+ sys .stdout .write (parser .tree .testSerializer (document ).encode ("utf-8" ))
95+ if opts .error :
96+ errList = []
97+ for pos , message in parser .errors :
98+ errList .append ("Line %i Col %i" % pos + " " + message )
99+ sys .stderr .write ("\n Parse errors:\n " + "\n " .join (errList ))
102100
103101def getOptParser ():
104102 parser = OptionParser (usage = __doc__ )
0 commit comments