Skip to content

Commit b8dd807

Browse files
authored
Minor Python tidies in apply-fixit-edits.py
* Use `collections.defaultdict` instead of a regular dict, so we don't have to initialise the dict keys * Add edits to `edits_per_file` directly, rather than via an intermediate set * Use tuple unpacking in the final loop so it's easier to see the similarity between the unpacked variables and the tuple added on line 47
1 parent e69195b commit b8dd807

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

utils/apply-fixit-edits.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from __future__ import print_function
1313

1414
import argparse
15+
import collections
1516
import json
1617
import os
1718
import sys
@@ -31,7 +32,7 @@ def apply_edits(path):
3132
print("No remap files found")
3233
return 1
3334

34-
edits_set = set()
35+
edits_per_file = collections.defaultdict(list)
3536
for remap_file in remap_files:
3637
with open(remap_file) as f:
3738
json_data = f.read()
@@ -43,24 +44,15 @@ def apply_edits(path):
4344
offset = ed["offset"]
4445
length = ed.get("remove", 0)
4546
text = ed.get("text", "")
46-
edits_set.add((fname, offset, length, text))
47-
48-
edits_per_file = {}
49-
for ed in edits_set:
50-
fname = ed[0]
51-
if fname not in edits_per_file:
52-
edits_per_file[fname] = []
53-
edits_per_file[fname].append((ed[1], ed[2], ed[3]))
47+
edits_per_file[fname].append((offset, length, text))
5448

5549
for fname, edits in edits_per_file.iteritems():
5650
print('Updating', fname)
5751
edits.sort(reverse=True)
5852
with open(fname) as f:
5953
file_data = f.read()
6054
for ed in edits:
61-
offset = ed[0]
62-
length = ed[1]
63-
text = ed[2]
55+
offset, length, text = ed
6456
file_data = file_data[:offset] + str(text) + \
6557
file_data[offset + length:]
6658
with open(fname, 'w') as f:

0 commit comments

Comments
 (0)