DebugClients/Python/coverage/parser.py

changeset 4385
599681bf149a
parent 3515
1b8381afe38f
child 4489
d0d6e4ad31bd
equal deleted inserted replaced
4384:04896c4a5a8e 4385:599681bf149a
344 self.text = text 344 self.text = text
345 345
346 try: 346 try:
347 # Python 2.3 and 2.4 don't like partial last lines, so be sure 347 # Python 2.3 and 2.4 don't like partial last lines, so be sure
348 # the text ends nicely for them. 348 # the text ends nicely for them.
349 self.code = compile(text + '\n', filename, "exec") 349 if sys.version_info[0] == 2 and isinstance(filename, unicode):
350 filenameEnc = filename.encode('utf-8')
351 else:
352 filenameEnc = filename
353 self.code = compile(text + '\n', filenameEnc, "exec")
350 except SyntaxError: 354 except SyntaxError:
351 _, synerr, _ = sys.exc_info() 355 _, synerr, _ = sys.exc_info()
352 raise NotPython( 356 raise NotPython(
353 "Couldn't parse '%s' as Python source: '%s' at line %d" % 357 "Couldn't parse '%s' as Python source: '%s' at line %d" %
354 (filename, synerr.msg, synerr.lineno) 358 (filename, synerr.msg, synerr.lineno)

eric ide

mercurial