From 75bd62490e8b5efac1dace4254fd706c078a29e5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Elan=20Ruusam=C3=A4e?= Date: Thu, 17 Jul 2008 12:34:51 +0000 Subject: [PATCH] - add %py_lint macro Changed files: rpm.macros -> 1.469 --- rpm.macros | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/rpm.macros b/rpm.macros index d8c607a..65d9c34 100644 --- a/rpm.macros +++ b/rpm.macros @@ -1515,4 +1515,42 @@ io.open("/etc/shells", "w"):write(s)\ %{-p:end} \ %{nil} +# Check syntax for Python files +# +# Author: Elan Ruusamäe +# Author: Arkadiusz Miśkiewicz +# +# 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 -- 2.43.0