diff options
| author | Kevin Yap <me@kevinyap.ca> | 2015-01-22 17:54:49 -0800 |
|---|---|---|
| committer | Kevin Yap <me@kevinyap.ca> | 2015-01-22 23:04:07 -0800 |
| commit | fc5bbdf70f8a9b0bfd7e377cc7df732b119bdac7 (patch) | |
| tree | 6cef992c84a0a17dee7fbc4c4d33344b0c73baff | |
| parent | d8d5e4d2178097fbe92b26e57d0e18dc1eedbe5e (diff) | |
| download | rust-fc5bbdf70f8a9b0bfd7e377cc7df732b119bdac7.tar.gz rust-fc5bbdf70f8a9b0bfd7e377cc7df732b119bdac7.zip | |
Make `make tidy` Python scripts more idiomatic
Also makes errorck.py and tidy.py compatible with Python 3.
| -rw-r--r-- | src/etc/errorck.py | 39 | ||||
| -rw-r--r-- | src/etc/licenseck.py | 12 | ||||
| -rw-r--r-- | src/etc/tidy.py | 2 |
3 files changed, 21 insertions, 32 deletions
diff --git a/src/etc/errorck.py b/src/etc/errorck.py index 17659309d3b..952e299265d 100644 --- a/src/etc/errorck.py +++ b/src/etc/errorck.py @@ -14,11 +14,10 @@ import sys, os, re src_dir = sys.argv[1] - -errcode_map = { } +errcode_map = {} +error_re = re.compile("(E\d\d\d\d)") for (dirpath, dirnames, filenames) in os.walk(src_dir): - if "src/test" in dirpath or "src/llvm" in dirpath: # Short circuit for fast continue @@ -28,15 +27,12 @@ for (dirpath, dirnames, filenames) in os.walk(src_dir): continue path = os.path.join(dirpath, filename) - line_num = 1 - with open(path, 'r') as f: - for line in f: - - p = re.compile("(E\d\d\d\d)") - m = p.search(line) - if not m is None: - errcode = m.group(1) + with open(path, 'r') as f: + for line_num, line in enumerate(f, start=1): + match = error_re.search(line) + if match: + errcode = match.group(1) new_record = [(errcode, path, line_num, line)] existing = errcode_map.get(errcode) if existing is not None: @@ -45,26 +41,19 @@ for (dirpath, dirnames, filenames) in os.walk(src_dir): else: errcode_map[errcode] = new_record - line_num += 1 - errors = False all_errors = [] -for errcode in errcode_map: - entries = errcode_map[errcode] - all_errors += [entries[0][0]] + +for errcode, entries in errcode_map.items(): + all_errors.append(entries[0][0]) if len(entries) > 1: - print "error: duplicate error code " + errcode + print("error: duplicate error code " + errcode) for entry in entries: - print entry[1] + ": " + str(entry[2]) - print entry[3] + print("{1}: {2}\n{3}".format(*entry)) errors = True -print str(len(errcode_map)) + " error codes" - -all_errors.sort() -all_errors.reverse() - -print "highest error code: " + all_errors[0] +print("{0} error codes".format(len(errcode_map))) +print("highest error code: " + max(all_errors)) if errors: sys.exit(1) diff --git a/src/etc/licenseck.py b/src/etc/licenseck.py index 9ac0acc38a7..44a50efcd09 100644 --- a/src/etc/licenseck.py +++ b/src/etc/licenseck.py @@ -57,18 +57,18 @@ exceptions = [ def check_license(name, contents): # Whitelist check - for exception in exceptions: - if name.endswith(exception): - return True + if any(name.endswith(e) for e in exceptions): + return True # Xfail check firstlineish = contents[:100] - if firstlineish.find("ignore-license") != -1: + if "ignore-license" in firstlineish: return True # License check boilerplate = contents[:500] - if (boilerplate.find(license1) == -1 or boilerplate.find(license2) == -1) and \ - (boilerplate.find(license3) == -1 or boilerplate.find(license4) == -1): + if (license1 not in boilerplate or license2 not in boilerplate) and \ + (license3 not in boilerplate or license4 not in boilerplate): return False + return True diff --git a/src/etc/tidy.py b/src/etc/tidy.py index 536ab7f30b9..c65b762e517 100644 --- a/src/etc/tidy.py +++ b/src/etc/tidy.py @@ -113,7 +113,7 @@ try: if current_name != "": do_license_check(current_name, current_contents) -except UnicodeDecodeError, e: +except UnicodeDecodeError as e: report_err("UTF-8 decoding error " + str(e)) |
