This repository was archived by the owner on May 10, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontroller.py
More file actions
71 lines (57 loc) · 1.81 KB
/
controller.py
File metadata and controls
71 lines (57 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/python3
"""
The Controller starts the Matrix.org Python daemon and maintains control.
This script initialize the needed modules before it runs the daemon.
"""
import cherrypy
import matrix_client
import sys
from daemonator import Daemon
from model import Model
from api import API
__all__ = ["Controller"]
class Controller(Daemon):
def run(self):
self._model = Model(self)
self._api = API(self)
def auth(self, username, password, server, new):
return self._model.auth(username, password, server, new)
def add_room(self, room_id):
return self._model.add_room(room_id)
def remove_room(self, room_id):
return self._model.remove_room(room_id)
def messages(self, room_id):
return self._model.messages(room_id)
def send_text(self, room_id, text):
return self._model.send_text(room_id, text)
@property
def is_auth(self):
return self._model.token is not None
@property
def version(self):
return self._model.version
@property
def service(self):
return self._model.service
@property
def contacts(self):
return self._model.rooms
if __name__ == "__main__":
# Define a PIDFile location (typically located in /tmp or /var/run)
daemon = Controller("/tmp/transponder_matrix_daemon.pid")
if len(sys.argv) == 2:
if "start" == sys.argv[1]:
daemon.start()
elif "stop" == sys.argv[1]:
daemon.stop()
elif "restart" == sys.argv[1]:
daemon.restart()
elif "status" == sys.argv[1]:
daemon.status()
else:
sys.stdout.write("Unknown command\n")
sys.exit(2)
sys.exit(0)
else:
sys.stdout.write("Usage: %s start|stop|restart|status\n" % sys.argv[0])
sys.exit(2)