11import sys
22import os
33import os .path
4- import codecs
5- import cgi
4+ import io
65from plasTeX .DOM import Node
76from plasTeX .Base import Command
87from plasTeX .Base import DimenCommand
98from plasTeX .Logging import getLogger
109import plasTeX .Packages .graphics as graphics
1110
11+ if sys .version_info .major == 2 :
12+ import cgi
13+ def plastex_escape (s ):
14+ return cgi .escape (s )
15+ else :
16+ def plastex_escape (s ):
17+ return s
18+
1219log = getLogger ()
1320status = getLogger ('status' )
1421
@@ -46,8 +53,8 @@ class sampletable(Command):
4653 args = 'header1 file1:str header2 file2:str'
4754
4855 def read_sample_file (self , filename ):
49- data = open (filename , 'rb' ).read (). decode ( 'utf8' )
50- data = cgi . escape (data )
56+ data = io . open (filename , 'r' , encoding = 'utf-8' ).read ()
57+ data = plastex_escape (data )
5158 return data
5259
5360 def invoke (self , tex ):
@@ -70,7 +77,7 @@ class sampletableinteractive(Command):
7077 args = 'header read write file:str'
7178
7279 def read_sample_interaction (self , filename ):
73- data = open (filename , 'rb' ).read (). decode ( 'utf8' )
80+ data = io . open (filename , 'r' , encoding = 'utf-8' ).read ()
7481 messages = []
7582 cur_msg = []
7683 cur_mode = None
@@ -82,12 +89,12 @@ def read_sample_interaction(self, filename):
8289 line = line [1 :]
8390 if mode != cur_mode :
8491 if cur_mode : messages .append ({'mode' : cur_mode ,
85- 'data' : cgi . escape ('\n ' .join (cur_msg ))})
92+ 'data' : plastex_escape ('\n ' .join (cur_msg ))})
8693 cur_msg = []
8794 cur_msg .append (line )
8895 cur_mode = mode
8996 if cur_mode : messages .append ({'mode' : cur_mode ,
90- 'data' : cgi . escape ('\n ' .join (cur_msg ))})
97+ 'data' : plastex_escape ('\n ' .join (cur_msg ))})
9198 return messages
9299
93100 def invoke (self , tex ):
0 commit comments