@@ -40,15 +40,15 @@ def parse():
40
40
f = open (f )
41
41
except IOError : pass
42
42
except IndexError :
43
- print "No filename provided. Use -h for help"
43
+ sys . stderr . write ( "No filename provided. Use -h for help" )
44
44
sys .exit (1 )
45
45
46
46
if opts .treebuilder is not None :
47
47
try :
48
48
treebuilder = __import__ ("src.treebuilders." + opts .treebuilder ,
49
49
None ,None ,"src" ).TreeBuilder
50
50
except ImportError , name :
51
- print "Treebuilder %s not found" % name
51
+ sys . stderr . write ( "Treebuilder %s not found" % name )
52
52
raise
53
53
except Exception , foo :
54
54
import src .treebuilders .simpletree
@@ -78,27 +78,25 @@ def parse():
78
78
t0 = time .time ()
79
79
document = p .parse (f )
80
80
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 )
87
82
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 ) )
89
84
else :
90
85
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 ))
102
100
103
101
def getOptParser ():
104
102
parser = OptionParser (usage = __doc__ )
0 commit comments