aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile20
-rwxr-xr-xtools/check-pylint22
2 files changed, 42 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..326ceac
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,20 @@
+SRC=$(wildcard *.py)
+
+.PHONY: check
+check: check-pylint check-format check-mypy
+
+.PHONY: check-pylint
+check-pylint:
+ pylint --rcfile=.pylint.rc -j 0 $(SRC) || ./tools/check-pylint $$?
+
+.PHONY: check-format
+check-format:
+ yapf -d $(SRC)
+
+.PHONY: check-format
+check-mypy:
+ mypy $(SRC)
+
+.PHONY: format
+format:
+ yapf -i $(SRC)
diff --git a/tools/check-pylint b/tools/check-pylint
new file mode 100755
index 0000000..9b7c7e5
--- /dev/null
+++ b/tools/check-pylint
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+PYLINT_EXIT=${1}
+
+# pylint error masks
+FATAL_MASK=1
+ERROR_MASK=2
+WARNING_MASK=4
+REFACTOR_MASK=8
+CONVENTION_MASK=16
+USAGE_ERROR_MASK=32
+
+# fail on fatal
+[[ $(( $PYLINT_EXIT & $FATAL_MASK )) -gt 0 ]] && exit $PYLINT_EXIT
+
+# fail on error
+[[ $(( $PYLINT_EXIT & $ERROR_MASK )) -gt 0 ]] && exit $PYLINT_EXIT
+
+# fail on warning
+[[ $(( $PYLINT_EXIT & $WARNING_MASK )) -gt 0 ]] && exit $PYLINT_EXIT
+
+exit 0