add idea how to add classes for InfluxDB
This commit is contained in:
26
seaweb.py
26
seaweb.py
@@ -26,6 +26,8 @@ import os
|
|||||||
import signal
|
import signal
|
||||||
|
|
||||||
|
|
||||||
|
class InfluxGraph:
|
||||||
|
"""to be imported"""
|
||||||
|
|
||||||
try: import simplejson as json
|
try: import simplejson as json
|
||||||
except ImportError: import json
|
except ImportError: import json
|
||||||
@@ -186,7 +188,7 @@ def sea_request_reply(socket, command, tmo=5):
|
|||||||
t += 0.1
|
t += 0.1
|
||||||
if t > 5:
|
if t > 5:
|
||||||
logging.warning('unusual wait time %.4g (before command %s)', t, command)
|
logging.warning('unusual wait time %.4g (before command %s)', t, command)
|
||||||
#print command
|
#print(command)
|
||||||
socket.busy = True
|
socket.busy = True
|
||||||
socket.send_line("fulltransact "+command)
|
socket.send_line("fulltransact "+command)
|
||||||
data = []
|
data = []
|
||||||
@@ -480,6 +482,14 @@ class SeaInstrument(Instrument):
|
|||||||
self.lastcmd = command
|
self.lastcmd = command
|
||||||
|
|
||||||
|
|
||||||
|
class SeaInfluxInstrument(SeaInstrument):
|
||||||
|
|
||||||
|
def newClient(self):
|
||||||
|
if not self.seaspy.connected:
|
||||||
|
self.init()
|
||||||
|
return self.register(SeaInfluxClient())
|
||||||
|
|
||||||
|
|
||||||
class SeaGraph:
|
class SeaGraph:
|
||||||
HISTORICAL = 0
|
HISTORICAL = 0
|
||||||
ACTUAL = 1
|
ACTUAL = 1
|
||||||
@@ -551,7 +561,7 @@ class SeaGraph:
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
def w_updategraph(self):
|
def w_updategraph(self):
|
||||||
"""update live values""
|
"""update live values - seems not to work"""
|
||||||
logging.info("UPD GRAPH %d", self.livemode)
|
logging.info("UPD GRAPH %d", self.livemode)
|
||||||
if self.livemode == self.HISTORICAL:
|
if self.livemode == self.HISTORICAL:
|
||||||
return dict(type='accept-graph', live=False)
|
return dict(type='accept-graph', live=False)
|
||||||
@@ -579,7 +589,7 @@ class SeaGraph:
|
|||||||
return dict(type='graph-update', reduced=False, time=self.time[1], graph=result)
|
return dict(type='graph-update', reduced=False, time=self.time[1], graph=result)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
class SeaClient(SeaGraph):
|
class SeaParams:
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.group_version = {}
|
self.group_version = {}
|
||||||
@@ -652,6 +662,14 @@ class SeaClient(SeaGraph):
|
|||||||
return dict(type='accept-command')
|
return dict(type='accept-command')
|
||||||
|
|
||||||
|
|
||||||
|
class SeaClient(SeaParams, SeaGraph):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class SeaInfluxClient(SeaParams, InfluxGraph):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class DummyClient(SeaGraph):
|
class DummyClient(SeaGraph):
|
||||||
asynch = set(('id','update','redraw','command','reply','graph-update','graph-redraw'))
|
asynch = set(('id','update','redraw','command','reply','graph-update','graph-redraw'))
|
||||||
|
|
||||||
@@ -974,6 +992,8 @@ if __name__ == '__main__':
|
|||||||
type = instrument_config.get('type', 'sea')
|
type = instrument_config.get('type', 'sea')
|
||||||
if type == 'sea':
|
if type == 'sea':
|
||||||
instrument = SeaInstrument(inst_name, instrument_config)
|
instrument = SeaInstrument(inst_name, instrument_config)
|
||||||
|
elif type == 'influxsea':
|
||||||
|
instrument = SeaInfluxInstrument(inst_name, instrument_config)
|
||||||
elif type == 'dummy':
|
elif type == 'dummy':
|
||||||
instrument = DummyInstrument(inst_name, instrument_config)
|
instrument = DummyInstrument(inst_name, instrument_config)
|
||||||
elif type == 'secop':
|
elif type == 'secop':
|
||||||
|
|||||||
Reference in New Issue
Block a user