u'*/', u'*[inserted by cython to avoid comment closer]/'
).replace(
u'/*', u'/[inserted by cython to avoid comment start]*'
- ).encode('ASCII', 'replace').decode('ASCII')
- for line in source_desc.get_lines()]
+ )
+ for line in source_desc.get_lines(encoding='ASCII',
+ error_handling='replace')]
if len(F) == 0: F.append(u'')
self.input_file_contents[source_desc] = F
return F
import platform
import stat
import sys
+import codecs
from time import time
import cython
self.filename = filename
self._cmp_name = filename
- def get_lines(self):
- return Utils.open_source_file(self.filename)
+ def get_lines(self, encoding=None, error_handling=None):
+ if not encoding:
+ return Utils.open_source_file(self.filename)
+ else:
+ return codecs.open(self.filename, "rU", encoding=encoding,
+ errors=error_handling)
def get_description(self):
return self.filename
self.codelines = [x + "\n" for x in code.split("\n")]
self._cmp_name = name
- def get_lines(self):
- return self.codelines
-
+ def get_lines(self, encoding=None, error_handling=None):
+ if not encoding:
+ return self.codelines
+ else:
+ return [ line.encode(encoding, error_handling).decode(encoding)
+ for line in self.codelines ]
+
def get_description(self):
return self.name