mirror of
https://github.com/python/cpython.git
synced 2025-07-09 20:35:26 +00:00
Clean up syntax for some scripts.
This commit is contained in:
parent
aba74bddd6
commit
e4a3380bb0
7 changed files with 115 additions and 87 deletions
|
@ -9,6 +9,7 @@ def n_files_str(count):
|
|||
"""Return 'N file(s)' with the proper plurality on 'file'."""
|
||||
return "{} file{}".format(count, "s" if count != 1 else "")
|
||||
|
||||
|
||||
def status(message, modal=False, info=None):
|
||||
"""Decorator to output status info to stdout."""
|
||||
def decorated_fxn(fxn):
|
||||
|
@ -21,32 +22,25 @@ def status(message, modal=False, info=None):
|
|||
elif info:
|
||||
print(info(result))
|
||||
else:
|
||||
if result:
|
||||
print("yes")
|
||||
else:
|
||||
print("NO")
|
||||
print("yes" if result else "NO")
|
||||
return result
|
||||
return call_fxn
|
||||
return decorated_fxn
|
||||
|
||||
|
||||
@status("Getting the list of files that have been added/changed",
|
||||
info=lambda x: n_files_str(len(x)))
|
||||
def changed_files():
|
||||
"""Run ``svn status`` and return a set of files that have been
|
||||
changed/added."""
|
||||
changed/added.
|
||||
"""
|
||||
cmd = 'svn status --quiet --non-interactive --ignore-externals'
|
||||
svn_st = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
|
||||
svn_st.wait()
|
||||
output = [x.decode().rstrip() for x in svn_st.stdout.readlines()]
|
||||
files = set()
|
||||
for line in output:
|
||||
if not line[0] in ('A', 'M'):
|
||||
continue
|
||||
line_parts = line.split()
|
||||
path = line_parts[-1]
|
||||
if os.path.isfile(path):
|
||||
files.add(path)
|
||||
return files
|
||||
output = (x.decode().rstrip().rsplit(None, 1)[-1]
|
||||
for x in svn_st.stdout if x[0] in b'AM')
|
||||
return set(path for path in output if os.path.isfile(path))
|
||||
|
||||
|
||||
def report_modified_files(file_paths):
|
||||
count = len(file_paths)
|
||||
|
@ -58,6 +52,7 @@ def report_modified_files(file_paths):
|
|||
lines.append(" {}".format(path))
|
||||
return "\n".join(lines)
|
||||
|
||||
|
||||
@status("Fixing whitespace", info=report_modified_files)
|
||||
def normalize_whitespace(file_paths):
|
||||
"""Make sure that the whitespace for .py files have been normalized."""
|
||||
|
@ -68,16 +63,19 @@ def normalize_whitespace(file_paths):
|
|||
fixed.append(path)
|
||||
return fixed
|
||||
|
||||
|
||||
@status("Docs modified", modal=True)
|
||||
def docs_modified(file_paths):
|
||||
"""Report if any file in the Doc directory has been changed."""
|
||||
return bool(file_paths)
|
||||
|
||||
|
||||
@status("Misc/ACKS updated", modal=True)
|
||||
def credit_given(file_paths):
|
||||
"""Check if Misc/ACKS has been changed."""
|
||||
return 'Misc/ACKS' in file_paths
|
||||
|
||||
|
||||
@status("Misc/NEWS updated", modal=True)
|
||||
def reported_news(file_paths):
|
||||
"""Check if Misc/NEWS has been changed."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue