[pypy-commit] cffi default: Add also this, which uses bsdopendirtype.py to expose
arigo
noreply at buildbot.pypy.org
Sun Jun 17 16:21:32 CEST 2012
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r407:4b7575eb9037
Date: 2012-06-17 16:21 +0200
http://bitbucket.org/cffi/cffi/changeset/4b7575eb9037/
Log: Add also this, which uses bsdopendirtype.py to expose a version of
py.cleanup.
(It is much faster than the py.cleanup from py lib, but much slower
than using 'bsdopendirtype.c' from
'https://bitbucket.org/arigo/arigo/raw/default/hack/bin'. I suppose
it is a nice benchmark.)
diff --git a/demo/py.cleanup b/demo/py.cleanup
new file mode 100755
--- /dev/null
+++ b/demo/py.cleanup
@@ -0,0 +1,31 @@
+#! /usr/bin/env python
+import sys, os, stat
+from bsdopendirtype import opendir
+
+def clean(path):
+ global count
+ try:
+ content = opendir(path)
+ except OSError:
+ print >> sys.stderr, "skipping", path
+ return
+ for filename, smode in content:
+ if stat.S_ISDIR(smode):
+ clean(filename)
+ if filename.endswith('/__pycache__'):
+ try:
+ os.rmdir(filename)
+ except OSError:
+ pass
+ elif (filename.endswith('.pyc') or filename.endswith('.pyo') or
+ filename.endswith('.pyc~') or filename.endswith('.pyo~')):
+ os.unlink(filename)
+ count += 1
+
+count = 0
+
+for arg in sys.argv[1:] or ['.']:
+ print "cleaning path", arg, "of .pyc/.pyo/__pycache__ files"
+ clean(arg)
+
+print "%d files removed" % (count,)
More information about the pypy-commit
mailing list