summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2016-10-27 20:57:54 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2016-10-27 20:57:54 +0200
commit0f9820293b9e32df7dca00d421c222f8f7164aea (patch)
treee76ab53dcc1b8b78d3b5e51ee6cd561307c5db0f /scripts
parent68ba1914ab796d9504c1e9e0ed1d2375a4792970 (diff)
parented64f4a26387b12ea893157ff8f31d28d8bc71da (diff)
downloadpsutil-0f9820293b9e32df7dca00d421c222f8f7164aea.tar.gz
Merge branch 'oneshot' into oneshot-win
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/internal/bench_oneshot.py4
-rw-r--r--scripts/internal/bench_oneshot_2.py4
-rwxr-xr-xscripts/internal/winmake.py78
3 files changed, 64 insertions, 22 deletions
diff --git a/scripts/internal/bench_oneshot.py b/scripts/internal/bench_oneshot.py
index 2ef21729..d63cb349 100755
--- a/scripts/internal/bench_oneshot.py
+++ b/scripts/internal/bench_oneshot.py
@@ -121,8 +121,8 @@ setup = textwrap.dedent("""
def main():
- print("%s methods involved on platform %r (%s iterations):" % (
- len(names), sys.platform, ITERATIONS))
+ print("%s methods involved on platform %r (%s iterations, psutil %s):" % (
+ len(names), sys.platform, ITERATIONS, psutil.__version__))
for name in sorted(names):
print(" " + name)
diff --git a/scripts/internal/bench_oneshot_2.py b/scripts/internal/bench_oneshot_2.py
index c751a585..a25d1806 100644
--- a/scripts/internal/bench_oneshot_2.py
+++ b/scripts/internal/bench_oneshot_2.py
@@ -41,8 +41,8 @@ def main():
args = runner.parse_args()
if not args.worker:
- print("%s methods involved on platform %r:" % (
- len(names), sys.platform))
+ print("%s methods involved on platform %r (psutil %s):" % (
+ len(names), sys.platform, psutil.__version__))
for name in sorted(names):
print(" " + name)
diff --git a/scripts/internal/winmake.py b/scripts/internal/winmake.py
index 7671b735..51cc1a6f 100755
--- a/scripts/internal/winmake.py
+++ b/scripts/internal/winmake.py
@@ -110,6 +110,44 @@ def rm(pattern, directory=False):
safe_remove(path)
+def safe_remove(path):
+ try:
+ os.remove(path)
+ except OSError as err:
+ if err.errno != errno.ENOENT:
+ raise
+ else:
+ print("rm %s" % path)
+
+
+def safe_rmtree(path):
+ def onerror(fun, path, excinfo):
+ exc = excinfo[1]
+ if exc.errno != errno.ENOENT:
+ raise
+
+ existed = os.path.isdir(path)
+ shutil.rmtree(path, onerror=onerror)
+ if existed:
+ print("rmdir -f %s" % path)
+
+
+def recursive_rm(*patterns):
+ """Recursively remove a file or dir by pattern."""
+ for root, subdirs, subfiles in os.walk('.'):
+ root = os.path.normpath(root)
+ if root.startswith('.git/'):
+ continue
+ for file in subfiles:
+ for pattern in patterns:
+ if fnmatch.fnmatch(file, pattern):
+ safe_remove(os.path.join(root, file))
+ for dir in subdirs:
+ for pattern in patterns:
+ if fnmatch.fnmatch(dir, pattern):
+ safe_rmtree(os.path.join(root, dir))
+
+
# ===================================================================
# commands
# ===================================================================
@@ -201,24 +239,28 @@ def uninstall():
@cmd
def clean():
"""Deletes dev files"""
- rm("*.egg-info", directory=True)
- rm("*__pycache__", directory=True)
- rm("build", directory=True)
- rm("dist", directory=True)
- rm("htmlcov", directory=True)
- rm("tmp", directory=True)
-
- rm("*.bak")
- rm("*.core")
- rm("*.orig")
- rm("*.pyc")
- rm("*.pyd")
- rm("*.pyo")
- rm("*.rej")
- rm("*.so")
- rm("*.~")
- rm(".coverage")
- rm(".tox")
+ recursive_rm(
+ "$testfn*",
+ "*.bak",
+ "*.core",
+ "*.egg-info",
+ "*.orig",
+ "*.pyc",
+ "*.pyd",
+ "*.pyo",
+ "*.rej",
+ "*.so",
+ "*.~",
+ "*__pycache__",
+ ".coverage",
+ ".tox",
+ )
+ safe_rmtree("build")
+ safe_rmtree(".coverage")
+ safe_rmtree("dist")
+ safe_rmtree("docs/_build")
+ safe_rmtree("htmlcov")
+ safe_rmtree("tmp")
@cmd