Mercurial > code > home > repos > light9
changeset 1864:375f48d1518a
mypy, flake8 setups
Ignore-this: 159ab09780ff33dec508d2d25c1628bf
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Sat, 25 May 2019 12:03:26 +0000 |
parents | 0f0ff27e55a3 |
children | 1aa91a31c0e2 |
files | makefile requirements.txt tasks.py |
diffstat | 3 files changed, 64 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/makefile Sat May 25 12:01:26 2019 +0000 +++ b/makefile Sat May 25 12:03:26 2019 +0000 @@ -50,14 +50,11 @@ coffee: zsh -c 'cd light9/web; ../../node_modules/coffeescript/bin/coffee --map -cw {.,live,timeline,paint,effects}/*.coffee' -mypy-collector: - env/bin/mypy --ignore-missing-imports --strict-optional --custom-typeshed-dir stubs --html-report /tmp/rep bin/collector light9/collector/*.py - -mypy-paint: - env/bin/mypy --ignore-missing-imports --strict-optional --custom-typeshed-dir stubs --html-report /tmp/rep light9/paint/*.py +mypy: + inv mypy reformat: - env/bin/yapf --verbose --parallel --in-place --style google light9/**/*.py `file --no-pad bin/* | grep 'Python script' | perl -lpe 's/:.*//'` + inv reformat ### show ###
--- a/requirements.txt Sat May 25 12:01:26 2019 +0000 +++ b/requirements.txt Sat May 25 12:03:26 2019 +0000 @@ -2,14 +2,10 @@ Twisted==19.2.0 coloredlogs==6.0 colormath==3.0.0 -coverage==4.3.4 freezegun==0.3.8 genshi==0.7 -ipdb==0.10.2 -ipython==5.3.0 klein==17.2.0 mock==2.0.0 -mypy==0.701 noise==1.2.2 nose-watcher==0.1.3 nose==1.3.7 @@ -30,12 +26,16 @@ webcolors==1.7 yapf==0.27.0 +coverage==4.3.4 +ipdb==0.10.2 +ipython==5.3.0 +mypy==0.701 +flake8 + git+http://github.com/drewp/scales.git@448d59fb491b7631877528e7695a93553bfaaa93#egg=scales git+http://github.com/11craft/louie.git@f18bb71010c114eca9c6b88c96453340e3b39454#egg=louie git+http://github.com/webpy/webpy@ace0f8954c28311004b33c7a513c6e40a3c02470#egg=web https://github.com/drewp/cyclone/archive/python3.zip#egg=cyclone cycloneerr==0.3.0 -rdfdb==0.11.0 - - +rdfdb==0.13.0
--- /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)