diff tasks.py @ 1864:375f48d1518a

mypy, flake8 setups Ignore-this: 159ab09780ff33dec508d2d25c1628bf
author Drew Perttula <drewp@bigasterisk.com>
date Sat, 25 May 2019 12:03:26 +0000
parents
children f001d689b3e2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tasks.py	Sat May 25 12:03:26 2019 +0000
@@ -0,0 +1,54 @@
+from invoke import task
+import glob
+
+bin_sources = [
+        'bin/ascoltami2',
+        'bin/captureDevice',
+        'bin/collector',
+        'bin/collector_loadtest.py',
+        'bin/effecteval',
+        'bin/effectsequencer',
+        'bin/homepageConfig',
+        'bin/inputdemo',
+        'bin/inputquneo',
+        'bin/keyboardcomposer',
+        'bin/listsongs',
+        'bin/musicPad',
+        'bin/musictime',
+        'bin/paintserver',
+        'bin/picamserve',
+        'bin/rdfdb',
+        'bin/run_local.py',
+        'bin/subcomposer',
+        'bin/subserver',
+        'bin/vidref',
+        'bin/vidrefsetup',
+        'bin/wavecurve',
+    ]
+def pkg_sources():
+    return glob.glob('light9/**/*.py', recursive=True)
+
+@task
+def mypy(ctx):
+    def run(sources):
+        ss = ' '.join(sources)
+        ctx.run(f'MYPYPATH=stubs env/bin/mypy --check-untyped-defs {ss}',
+                pty=True, warn=True)
+
+    sources = ' '.join(bin_sources + pkg_sources())
+    ctx.run(f'env/bin/flake8 --ignore=E115,E123,E124,E126,E225,E231,E261,E262,E265,E301,E302,E303,E305,E306,E401,E402,E501,E701,E731,W291,W293,W391,W504 {sources}', warn=True)
+
+    sources = ' '.join(pkg_sources())
+    for src in bin_sources:
+        print(f"mypy {src}")
+        run([src])# + pkg_sources())
+@task
+def reformat(ctx):
+    ctx.run("env/bin/yapf --verbose --parallel --in-place --style google light9/**/*.py `file --no-pad  bin/* | grep 'Python script' | perl -lpe 's/:.*//'`")
+    
+@task
+def test(ctx):
+    ctx.run('docker build -f Dockerfile.build -t light9_build:latest .')
+    ctx.run('docker run --rm -it -v `pwd`:/opt light9_build:latest'
+            ' nose2 -v light9.currentstategraphapi_test light9.graphfile_test',
+            pty=True)