changeset 1384:a29a55f3429c

mqtt_graph_bridge to new build rules and to py3 Ignore-this: 1a064e89a2016ed583c1d4c9bbfd6f7c darcs-hash:b40c5fcff313002f6468e7a94a2059f1dd5dd97c
author drewp <drewp@bigasterisk.com>
date Thu, 09 May 2019 22:31:04 -0700
parents d66790a031ea
children c887b1cc5e83
files service/mqtt_graph_bridge/Dockerfile service/mqtt_graph_bridge/makefile service/mqtt_graph_bridge/mqtt_graph_bridge.py service/mqtt_graph_bridge/requirements.txt service/mqtt_graph_bridge/tasks.py
diffstat 5 files changed, 67 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- 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" ]
--- 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)
--- 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()
--- 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
--- /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 \#')
+
+
+
+
+
+
+
+
+
+