summaryrefslogtreecommitdiff
path: root/socket_server.py
diff options
context:
space:
mode:
Diffstat (limited to 'socket_server.py')
-rwxr-xr-xsocket_server.py77
1 files changed, 0 insertions, 77 deletions
diff --git a/socket_server.py b/socket_server.py
deleted file mode 100755
index c68e500..0000000
--- a/socket_server.py
+++ /dev/null
@@ -1,77 +0,0 @@
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3
4import SocketServer
5import os
6import sys
7
8from sqlalchemy import create_engine
9from sqlalchemy.orm import sessionmaker
10
11from bpynotify_orm import NotificationEntry, notification_entry_table
12
13
14class CustomSocketServer(SocketServer.TCPServer):
15
16 def __init__(self, server_address, RequestHandlerClass, session):
17 #super(CustomSocketServer, self).__init__(server_address,
18 # RequestHandlerClass)
19 SocketServer.TCPServer.__init__(self,
20 server_address,
21 RequestHandlerClass)
22 self.session = session
23
24
25class MyTCPHandler(SocketServer.StreamRequestHandler):
26 """
27 The RequestHandler class for our server.
28
29 It is instantiated once per connection to the server, and must
30 override the handle() method to implement communication to the
31 client.
32 """
33
34 def handle(self):
35
36 self.data = self.rfile.readline().decode('utf8').strip()
37 #print(self.data)
38 entry = NotificationEntry(self.data)
39 self.server.session.add(entry)
40 self.server.session.commit()
41
42
43def main():
44
45 HOST, PORT = "localhost", 9997
46
47 if len(sys.argv) == 2 and sys.argv[1] == '-d':
48 try:
49 pid = os.fork()
50 if pid > 0:
51 sys.exit(0)
52 except Exception as e:
53 sys.stderr.write("Unable to daemonize. Fork error: {0}".format(e))
54 sys.exit(1)
55
56 try:
57
58 engine = create_engine('sqlite:///notifications.db')
59 Session = sessionmaker(bind=engine) # bound session
60 session = Session()
61
62 server = CustomSocketServer((HOST, PORT), MyTCPHandler, session)
63
64 # clean all previous entries #
65 notification_entry_table.delete(bind=engine).execute()
66
67 server.serve_forever()
68
69 except Exception as e:
70 sys.stderr.write("Server error: {0}".format(e))
71 sys.exit(1)
72
73 sys.exit(0)
74
75
76if __name__ == "__main__":
77 main()