Commit 103f17ef authored by Ezio Melotti's avatar Ezio Melotti

#16478: use floor division in tabnanny and fix a ResourceWarning. Patch by Serhiy Storchaka.

parent b37ac8ea
...@@ -126,6 +126,9 @@ def check(file): ...@@ -126,6 +126,9 @@ def check(file):
else: print(file, badline, repr(line)) else: print(file, badline, repr(line))
return return
finally:
f.close()
if verbose: if verbose:
print("%r: Clean bill of health." % (file,)) print("%r: Clean bill of health." % (file,))
...@@ -185,21 +188,21 @@ class Whitespace: ...@@ -185,21 +188,21 @@ class Whitespace:
# count, il = self.norm # count, il = self.norm
# for i in range(len(count)): # for i in range(len(count)):
# if count[i]: # if count[i]:
# il = il + (i/tabsize + 1)*tabsize * count[i] # il = il + (i//tabsize + 1)*tabsize * count[i]
# return il # return il
# quicker: # quicker:
# il = trailing + sum (i/ts + 1)*ts*count[i] = # il = trailing + sum (i//ts + 1)*ts*count[i] =
# trailing + ts * sum (i/ts + 1)*count[i] = # trailing + ts * sum (i//ts + 1)*count[i] =
# trailing + ts * sum i/ts*count[i] + count[i] = # trailing + ts * sum i//ts*count[i] + count[i] =
# trailing + ts * [(sum i/ts*count[i]) + (sum count[i])] = # trailing + ts * [(sum i//ts*count[i]) + (sum count[i])] =
# trailing + ts * [(sum i/ts*count[i]) + num_tabs] # trailing + ts * [(sum i//ts*count[i]) + num_tabs]
# and note that i/ts*count[i] is 0 when i < ts # and note that i//ts*count[i] is 0 when i < ts
count, trailing = self.norm count, trailing = self.norm
il = 0 il = 0
for i in range(tabsize, len(count)): for i in range(tabsize, len(count)):
il = il + i/tabsize * count[i] il = il + i//tabsize * count[i]
return trailing + tabsize * (il + self.nt) return trailing + tabsize * (il + self.nt)
# return true iff self.indent_level(t) == other.indent_level(t) # return true iff self.indent_level(t) == other.indent_level(t)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment