From 60f47b04174d016cc86c6e06fdaf0794c3d14216 Mon Sep 17 00:00:00 2001 From: Simeon Simeonov Date: Wed, 7 May 2014 22:28:48 +0200 Subject: Git server / generic client and weechat client completed --- socket_server.py | 77 -------------------------------------------------------- 1 file changed, 77 deletions(-) delete mode 100755 socket_server.py (limited to 'socket_server.py') 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 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import SocketServer -import os -import sys - -from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker - -from bpynotify_orm import NotificationEntry, notification_entry_table - - -class CustomSocketServer(SocketServer.TCPServer): - - def __init__(self, server_address, RequestHandlerClass, session): - #super(CustomSocketServer, self).__init__(server_address, - # RequestHandlerClass) - SocketServer.TCPServer.__init__(self, - server_address, - RequestHandlerClass) - self.session = session - - -class MyTCPHandler(SocketServer.StreamRequestHandler): - """ - The RequestHandler class for our server. - - It is instantiated once per connection to the server, and must - override the handle() method to implement communication to the - client. - """ - - def handle(self): - - self.data = self.rfile.readline().decode('utf8').strip() - #print(self.data) - entry = NotificationEntry(self.data) - self.server.session.add(entry) - self.server.session.commit() - - -def main(): - - HOST, PORT = "localhost", 9997 - - if len(sys.argv) == 2 and sys.argv[1] == '-d': - try: - pid = os.fork() - if pid > 0: - sys.exit(0) - except Exception as e: - sys.stderr.write("Unable to daemonize. Fork error: {0}".format(e)) - sys.exit(1) - - try: - - engine = create_engine('sqlite:///notifications.db') - Session = sessionmaker(bind=engine) # bound session - session = Session() - - server = CustomSocketServer((HOST, PORT), MyTCPHandler, session) - - # clean all previous entries # - notification_entry_table.delete(bind=engine).execute() - - server.serve_forever() - - except Exception as e: - sys.stderr.write("Server error: {0}".format(e)) - sys.exit(1) - - sys.exit(0) - - -if __name__ == "__main__": - main() -- cgit v1.3