# HG changeset patch # User drewp@bigasterisk.com # Date 1557466264 25200 # Node ID 30022797642e552a3a3fabf13b30a835466cd828 # Parent 9d60d3f34ddcf33f229f379704691b79854e81fb mqtt_graph_bridge to new build rules and to py3 Ignore-this: 1a064e89a2016ed583c1d4c9bbfd6f7c diff -r 9d60d3f34ddc -r 30022797642e service/mqtt_graph_bridge/Dockerfile --- a/service/mqtt_graph_bridge/Dockerfile Wed May 08 00:56:54 2019 -0700 +++ b/service/mqtt_graph_bridge/Dockerfile Thu May 09 22:31:04 2019 -0700 @@ -3,10 +3,11 @@ WORKDIR /opt COPY requirements.txt ./ -RUN pip install -r requirements.txt +RUN pip3 install --index-url https://projects.bigasterisk.com/ --extra-index-url https://pypi.org/simple -r requirements.txt +RUN pip3 install -U 'https://github.com/drewp/cyclone/archive/python3.zip?v3' COPY *.py *.html *.css *.js ./ -EXPOSE 10008:10008 +EXPOSE 10011:10011 -CMD [ "python", "./mqtt_graph_bridge.py", "-v" ] +CMD [ "python3", "./mqtt_graph_bridge.py" ] diff -r 9d60d3f34ddc -r 30022797642e service/mqtt_graph_bridge/makefile --- a/service/mqtt_graph_bridge/makefile Wed May 08 00:56:54 2019 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -JOB=mqtt_graph_bridge -PORT=10008 - -TAG=bang6:5000/${JOB}_x86:latest - -build_image: - rm -rf tmp_ctx - mkdir -p tmp_ctx - cp -a Dockerfile ../../lib/*.py *.py *.txt *.html tmp_ctx - docker build --network=host -t ${TAG} tmp_ctx - docker push ${TAG} - rm -rf tmp_ctx - - -shell: build_image - docker run --rm -it --cap-add SYS_PTRACE --net=host bang6:5000/mqtt_graph_bridge_x86:latest /bin/sh - -local_run: build_image - docker run --rm -it --net=host bang6:5000/mqtt_graph_bridge_x86:latest - -redeploy: build_image - supervisorctl restart $(JOB)_$(PORT) diff -r 9d60d3f34ddc -r 30022797642e service/mqtt_graph_bridge/mqtt_graph_bridge.py --- a/service/mqtt_graph_bridge/mqtt_graph_bridge.py Wed May 08 00:56:54 2019 -0700 +++ b/service/mqtt_graph_bridge/mqtt_graph_bridge.py Thu May 09 22:31:04 2019 -0700 @@ -1,11 +1,14 @@ +import json + from docopt import docopt -from patchablegraph import PatchableGraph, CycloneGraphHandler, CycloneGraphEventsHandler from rdflib import Namespace, URIRef, Literal, Graph from rdflib.parser import StringInputSource from twisted.internet import reactor import cyclone.web -import sys, logging, json + from mqtt_client import MqttClient +from patchablegraph import PatchableGraph, CycloneGraphHandler, CycloneGraphEventsHandler +from standardservice.logsetup import log, verboseLogging ROOM = Namespace('http://projects.bigasterisk.com/room/') @@ -20,9 +23,6 @@ }, } -logging.basicConfig() -log = logging.getLogger() - def rdfGraphBody(body, headers): g = Graph() g.parse(StringInputSource(body), format='nt') @@ -73,11 +73,7 @@ -v Verbose """) - log.setLevel(logging.WARN) - if arg['-v']: - from twisted.python import log as twlog - twlog.startLogging(sys.stdout) - log.setLevel(logging.DEBUG) + verboseLogging(arg['-v']) masterGraph = PatchableGraph() @@ -98,5 +94,4 @@ masterGraph.patchObject(attrs['ctx'], dev, ROOM['brightness'], Literal(0.0)) - reactor.run() diff -r 9d60d3f34ddc -r 30022797642e service/mqtt_graph_bridge/requirements.txt --- a/service/mqtt_graph_bridge/requirements.txt Wed May 08 00:56:54 2019 -0700 +++ b/service/mqtt_graph_bridge/requirements.txt Thu May 09 22:31:04 2019 -0700 @@ -2,5 +2,11 @@ rdflib-jsonld==0.4.0 rdflib==4.2.2 twisted-mqtt==0.3.6 -https://projects.bigasterisk.com/rdfdb/rdfdb-0.8.0.tar.gz rx==1.6.1 +git+http://github.com/drewp/scales.git@448d59fb491b7631877528e7695a93553bfaaa93#egg=scales + +cycloneerr +patchablegraph==0.6.0 +rdfdb==0.8.0 +standardservice==0.5.0 +mqtt_client==0.5.0 diff -r 9d60d3f34ddc -r 30022797642e service/mqtt_graph_bridge/tasks.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/service/mqtt_graph_bridge/tasks.py Thu May 09 22:31:04 2019 -0700 @@ -0,0 +1,50 @@ +from invoke import task + +JOB = 'mqtt_graph_bridge' +PORT = 10008 +TAG = f'bang6:5000/{JOB}_x86:latest' + +@task +def build_image(ctx): + ctx.run(f'docker build --network=host -t {TAG} .') + +@task(pre=[build_image]) +def push_image(ctx): + ctx.run(f'docker push {TAG}') + +@task(pre=[build_image]) +def shell(ctx): + ctx.run(f'docker run --name={JOB}_shell --rm -it --cap-add SYS_PTRACE --net=host {TAG} /bin/bash', pty=True) + +@task(pre=[build_image]) +def local_run(ctx): + ctx.run(f'docker run --name={JOB}_local --rm -it --net=host {TAG} python3 mqtt_graph_bridge.py -v', pty=True) + +@task(pre=[push_image]) +def redeploy(ctx): + ctx.run(f'supervisorctl -s http://bang:9001/ restart {JOB}_{PORT}') + +@task +def program_board_over_usb(ctx): + tag = 'esphome/esphome' + ctx.run(f"docker run --rm -v `pwd`:/config --device=/dev/ttyUSB0 -it {tag} door.yaml run", pty=True) +# config_skylight.yaml run --no-logs + +@task +def monitor_usb(ctx): + tag = 'esphome/esphome' + ctx.run(f"docker run --rm -v `pwd`:/config --device=/dev/ttyUSB0 -it {tag} door.yaml logs", pty=True) + +@task +def tail_mqtt(ctx): + ctx.run(f'mosquitto_sub -h bang -p 10010 -d -v -t \#') + + + + + + + + + +