Compare commits

..

2 Commits

Author SHA1 Message Date
j
546795c2b6 expose ptz 2020-12-05 11:39:05 +01:00
j
2a3b48860d print port 2020-12-05 11:31:14 +01:00
3 changed files with 16 additions and 3 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
camera.json camera.json
__pycache__

View File

@ -76,10 +76,10 @@ class ControlQueue:
self._worker = threading.Thread(target=self.worker) self._worker = threading.Thread(target=self.worker)
self._worker.start() self._worker.start()
def put(self, filename): def put(self, command):
if self.q.empty(): if self.q.empty():
self.camera.abort = False self.camera.abort = False
self.q.put(filename) self.q.put(command)
def join(self): def join(self):
self.shutdown = True self.shutdown = True
@ -120,6 +120,18 @@ class API(object):
json.dump(data, fd, indent=4) json.dump(data, fd, indent=4)
return result return result
def move(self, **data):
result = {}
if data.get('direction') in (
'LEFT', 'RIGHT', 'UP', 'DOWN',
'LEFT_UP', 'LEFT_DOWN',
'RIGHT_UP', 'RIGHT_DOWN',
'IN', 'OUT',
):
direction = getattr(ctl.camera, data['direction'])
ctl.camera.momentary(direction, float(data.get('duration', 1)))
return result
def stop(self, **data): def stop(self, **data):
result = {} result = {}
ctl.camera.abort = True ctl.camera.abort = True
@ -208,6 +220,7 @@ def main():
'gzip': True, 'gzip': True,
} }
app = Application(handlers, **options) app = Application(handlers, **options)
print('listening on http://%s:%s/' % (ADDRESS, PORT))
app.listen(PORT, ADDRESS) app.listen(PORT, ADDRESS)
main = IOLoop.instance() main = IOLoop.instance()

View File

@ -662,5 +662,4 @@ function init_shift() {
updateShiftStatus() updateShiftStatus()
setInterval(updateShiftStatus, 5000) setInterval(updateShiftStatus, 5000)
}) })
} }