SOURCES: rpm.macros - add %py_lint macro

glen glen at pld-linux.org
Thu Jul 17 14:34:57 CEST 2008


Author: glen                         Date: Thu Jul 17 12:34:57 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- add %py_lint macro

---- Files affected:
SOURCES:
   rpm.macros (1.468 -> 1.469) 

---- Diffs:

================================================================
Index: SOURCES/rpm.macros
diff -u SOURCES/rpm.macros:1.468 SOURCES/rpm.macros:1.469
--- SOURCES/rpm.macros:1.468	Mon Jul 14 18:35:34 2008
+++ SOURCES/rpm.macros	Thu Jul 17 14:34:51 2008
@@ -1515,4 +1515,42 @@
 %{-p:end} \
 %{nil}
 
+# Check syntax for Python files
+#
+# Author: Elan Ruusamäe <glen at pld-linux.org>
+# Author: Arkadiusz Miśkiewicz <arekm at pld-linux.org>
+#
+# Usage:
+#   %py_lint src
+#
+# Requirements:
+# BuildRequires:	python
+# BuildRequires:	rpmbuild(macros) >= 1.469
+
+%py_lint() \
+__py_lint() { \
+find "$@" -type f -name '*.py' | python -c ' \
+import sys \
+import compiler \
+\
+err = 0\
+for f in sys.stdin: \
+	fd = open(f.strip()) \
+	c = fd.read() \
+	fd.close() \
+	try: \
+		compiler.parse(c) \
+	except SyntaxError, e: \
+		print "py_lint: %s: %s" % (f.strip(), e) \
+		err = err + 1\
+\
+if err: \
+	print >> sys.stderr, "\\npy_lint: ERROR: Syntax errors in %d files.\\n" % err \
+	sys.exit(1) \
+else: \
+	print >> sys.stderr,  "py_lint: Found no syntax errors." \
+' \
+}; __py_lint %* \
+%{nil}
+
 # vim:ts=4 sw=4 noet syn=spec
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm.macros?r1=1.468&r2=1.469&f=u



More information about the pld-cvs-commit mailing list