mirror of
https://github.com/python/cpython.git
synced 2025-07-15 23:35:23 +00:00
IDLE: fix some RessourceWarning, reuse tokenize.open()
This commit is contained in:
parent
0af0306396
commit
85c6772aec
2 changed files with 28 additions and 31 deletions
|
@ -67,25 +67,20 @@ class ScriptBinding:
|
|||
|
||||
def tabnanny(self, filename):
|
||||
# XXX: tabnanny should work on binary files as well
|
||||
with open(filename, 'r', encoding='iso-8859-1') as f:
|
||||
two_lines = f.readline() + f.readline()
|
||||
encoding = IOBinding.coding_spec(two_lines)
|
||||
if not encoding:
|
||||
encoding = 'utf-8'
|
||||
f = open(filename, 'r', encoding=encoding)
|
||||
try:
|
||||
tabnanny.process_tokens(tokenize.generate_tokens(f.readline))
|
||||
except tokenize.TokenError as msg:
|
||||
msgtxt, (lineno, start) = msg
|
||||
self.editwin.gotoline(lineno)
|
||||
self.errorbox("Tabnanny Tokenizing Error",
|
||||
"Token Error: %s" % msgtxt)
|
||||
return False
|
||||
except tabnanny.NannyNag as nag:
|
||||
# The error messages from tabnanny are too confusing...
|
||||
self.editwin.gotoline(nag.get_lineno())
|
||||
self.errorbox("Tab/space error", indent_message)
|
||||
return False
|
||||
with tokenize.open(filename) as f:
|
||||
try:
|
||||
tabnanny.process_tokens(tokenize.generate_tokens(f.readline))
|
||||
except tokenize.TokenError as msg:
|
||||
msgtxt, (lineno, start) = msg
|
||||
self.editwin.gotoline(lineno)
|
||||
self.errorbox("Tabnanny Tokenizing Error",
|
||||
"Token Error: %s" % msgtxt)
|
||||
return False
|
||||
except tabnanny.NannyNag as nag:
|
||||
# The error messages from tabnanny are too confusing...
|
||||
self.editwin.gotoline(nag.get_lineno())
|
||||
self.errorbox("Tab/space error", indent_message)
|
||||
return False
|
||||
return True
|
||||
|
||||
def checksyntax(self, filename):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue