mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
scripts/contrib/patchreview: consolidate imports
Move most imports to the top of the file. (From OE-Core rev: d2c287db0739b249604cd1beaa03ec38512ba718) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
62c80e3a79
commit
2cbbe428db
|
@ -5,6 +5,15 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0-only
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
#
|
#
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import collections
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import os.path
|
||||||
|
import pathlib
|
||||||
|
import re
|
||||||
|
import subprocess
|
||||||
|
|
||||||
# TODO
|
# TODO
|
||||||
# - option to just list all broken files
|
# - option to just list all broken files
|
||||||
# - test suite
|
# - test suite
|
||||||
|
@ -35,14 +44,12 @@ def blame_patch(patch):
|
||||||
From a patch filename, return a list of "commit summary (author name <author
|
From a patch filename, return a list of "commit summary (author name <author
|
||||||
email>)" strings representing the history.
|
email>)" strings representing the history.
|
||||||
"""
|
"""
|
||||||
import subprocess
|
|
||||||
return subprocess.check_output(("git", "log",
|
return subprocess.check_output(("git", "log",
|
||||||
"--follow", "--find-renames", "--diff-filter=A",
|
"--follow", "--find-renames", "--diff-filter=A",
|
||||||
"--format=%s (%aN <%aE>)",
|
"--format=%s (%aN <%aE>)",
|
||||||
"--", patch)).decode("utf-8").splitlines()
|
"--", patch)).decode("utf-8").splitlines()
|
||||||
|
|
||||||
def patchreview(patches):
|
def patchreview(patches):
|
||||||
import re, os.path
|
|
||||||
|
|
||||||
# General pattern: start of line, optional whitespace, tag with optional
|
# General pattern: start of line, optional whitespace, tag with optional
|
||||||
# hyphen or spaces, maybe a colon, some whitespace, then the value, all case
|
# hyphen or spaces, maybe a colon, some whitespace, then the value, all case
|
||||||
|
@ -192,6 +199,7 @@ Patches in Pending state: %s""" % (total_patches,
|
||||||
def histogram(results):
|
def histogram(results):
|
||||||
from toolz import recipes, dicttoolz
|
from toolz import recipes, dicttoolz
|
||||||
import math
|
import math
|
||||||
|
|
||||||
counts = recipes.countby(lambda r: r.upstream_status, results.values())
|
counts = recipes.countby(lambda r: r.upstream_status, results.values())
|
||||||
bars = dicttoolz.valmap(lambda v: "#" * int(math.ceil(float(v) / len(results) * 100)), counts)
|
bars = dicttoolz.valmap(lambda v: "#" * int(math.ceil(float(v) / len(results) * 100)), counts)
|
||||||
for k in bars:
|
for k in bars:
|
||||||
|
@ -226,8 +234,6 @@ def count_recipes(layers):
|
||||||
return count
|
return count
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
import argparse, subprocess, os, pathlib
|
|
||||||
|
|
||||||
args = argparse.ArgumentParser(description="Patch Review Tool")
|
args = argparse.ArgumentParser(description="Patch Review Tool")
|
||||||
args.add_argument("-b", "--blame", action="store_true", help="show blame for malformed patches")
|
args.add_argument("-b", "--blame", action="store_true", help="show blame for malformed patches")
|
||||||
args.add_argument("-v", "--verbose", action="store_true", help="show per-patch results")
|
args.add_argument("-v", "--verbose", action="store_true", help="show per-patch results")
|
||||||
|
@ -243,7 +249,6 @@ if __name__ == "__main__":
|
||||||
analyse(results, want_blame=args.blame, verbose=args.verbose)
|
analyse(results, want_blame=args.blame, verbose=args.verbose)
|
||||||
|
|
||||||
if args.json:
|
if args.json:
|
||||||
import json, os.path, collections
|
|
||||||
if os.path.isfile(args.json):
|
if os.path.isfile(args.json):
|
||||||
data = json.load(open(args.json))
|
data = json.load(open(args.json))
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user