diff options
| author | Kevin Yap <me@kevinyap.ca> | 2015-02-07 01:11:33 -0800 |
|---|---|---|
| committer | Kevin Yap <me@kevinyap.ca> | 2015-02-23 21:15:34 -0800 |
| commit | 956969162dd199682c16f40e9b124acc853e3992 (patch) | |
| tree | 39c432bfa5e99cba2cb3eb8beee1fc47048c4faf | |
| parent | f1eebb8f371cf2703ca1d4096f974d037938ece8 (diff) | |
| download | rust-956969162dd199682c16f40e9b124acc853e3992.tar.gz rust-956969162dd199682c16f40e9b124acc853e3992.zip | |
Refactor code in tidy.py
- Replace wildcard import with explicit import of `check_license` - Move more logic outside of the `try` block. - Group all helper functions together. - Define `interesting_exts` and `uninteresting_files` at start of file (with the rest of the constant declarations).
| -rw-r--r-- | src/etc/tidy.py | 73 |
1 files changed, 37 insertions, 36 deletions
diff --git a/src/etc/tidy.py b/src/etc/tidy.py index 5caa0c90f1b..c524fae7f0a 100644 --- a/src/etc/tidy.py +++ b/src/etc/tidy.py @@ -13,7 +13,7 @@ import fileinput import subprocess import re import os -from licenseck import * +from licenseck import check_license import snapshot err = 0 @@ -22,13 +22,8 @@ cr_flag = "ignore-tidy-cr" tab_flag = "ignore-tidy-tab" linelength_flag = "ignore-tidy-linelength" -# Be careful to support Python 2.4, 2.6, and 3.x here! -config_proc = subprocess.Popen(["git", "config", "core.autocrlf"], - stdout=subprocess.PIPE) -result = config_proc.communicate()[0] - -true = "true".encode('utf8') -autocrlf = result.strip() == true if result is not None else False +interesting_files = ['.rs', '.py', '.js', '.sh', '.c', '.h'] +uninteresting_files = ['miniz.c', 'jquery', 'rust_android_dummy'] def report_error_name_no(name, no, s): @@ -51,6 +46,34 @@ def do_license_check(name, contents): if not check_license(name, contents): report_error_name_no(name, 1, "incorrect license") + +def update_counts(current_name): + global file_counts + global count_other_linted_files + + _, ext = os.path.splitext(current_name) + + if ext in interesting_files: + file_counts[ext] += 1 + else: + count_other_linted_files += 1 + + +def interesting_file(f): + if any(x in f for x in uninteresting_files): + return False + + return any(os.path.splitext(f)[1] == ext for ext in interesting_files) + + +# Be careful to support Python 2.4, 2.6, and 3.x here! +config_proc = subprocess.Popen(["git", "config", "core.autocrlf"], + stdout=subprocess.PIPE) +result = config_proc.communicate()[0] + +true = "true".encode('utf8') +autocrlf = result.strip() == true if result is not None else False + current_name = "" current_contents = "" check_tab = True @@ -63,30 +86,16 @@ if len(sys.argv) < 2: src_dir = sys.argv[1] -try: - count_lines = 0 - count_non_blank_lines = 0 - count_other_linted_files = 0 - - interesting_files = ['.rs', '.py', '.js', '.sh', '.c', '.h'] - - file_counts = {ext: 0 for ext in interesting_files} - - def update_counts(current_name): - global file_counts - global count_other_linted_files - - _, ext = os.path.splitext(current_name) +count_lines = 0 +count_non_blank_lines = 0 +count_other_linted_files = 0 - if ext in interesting_files: - file_counts[ext] += 1 - else: - count_other_linted_files += 1 +file_counts = {ext: 0 for ext in interesting_files} - all_paths = set() +all_paths = set() +try: for (dirpath, dirnames, filenames) in os.walk(src_dir): - # Skip some third-party directories skippable_dirs = { 'src/jemalloc', @@ -105,14 +114,6 @@ try: if any(d in dirpath for d in skippable_dirs): continue - def interesting_file(f): - if "miniz.c" in f \ - or "jquery" in f \ - or "rust_android_dummy" in f: - return False - - return any(os.path.splitext(f)[1] == ext for ext in interesting_files) - file_names = [os.path.join(dirpath, f) for f in filenames if interesting_file(f) and not f.endswith("_gen.rs") |
