Changeset 61 for branches/refactor_testable
- Timestamp:
- 09/21/05 22:43:01 (3 years ago)
- Location:
- branches/refactor_testable
- Files:
-
- 2 modified
-
gdhost/server.py (modified) (2 diffs)
-
gdhostd (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/refactor_testable/gdhost/server.py
r58 r61 31 31 def handle(self): 32 32 protocol = self.server.protocol 33 log = self.server.log 33 client_ip = self.client_address[0] 34 def log( msg ): 35 self.server.log("%s: %s" % (client_ip, msg)) 34 36 35 37 try: … … 62 64 # Autodetect ip, if not specified. 63 65 if not ip: 64 ip = self.client_address[0]66 ip = client_ip 65 67 66 68 try: -
branches/refactor_testable/gdhostd
r58 r61 20 20 ## 21 21 22 import sys, os, syslog 22 import sys, os, syslog, signal 23 23 import gdhost.server as server 24 24 import gdhost.daemon as daemon … … 52 52 dest="config", default="/etc/gdhost/config", 53 53 help="Configuration File" ) 54 parser.add_option( '-S', '--syslog', action="store_true", 55 dest="syslog", default=False, 56 help="Use Syslog to log events. This is forced to true if you run as a daemon." ) 54 57 55 58 if '__main__' == __name__: 56 59 options, commands = parser.parse_args() 60 progname = os.path.basename(sys.argv[0]) 57 61 58 62 if not os.path.exists(options.config): … … 63 67 retCode = deamon.createDaemon() 64 68 65 def str_logger( msg ): 66 if not msg.endswith('\n'): 67 msg += '\n' 68 sys.stdout.write( "LOG [%d]: %s" % (os.getpid(),msg) ) 69 if options.daemon or options.syslog: 70 def log_info(msg, pri = syslog.LOG_INFO): 71 syslog.openlog('%s[%d]' % ( progname, 72 os.getpid()), 0, syslog.LOG_DAEMON) 73 syslog.syslog(pri, msg) 74 syslog.closelog() 75 else: 76 def log_info( msg ): 77 sys.stdout.write( msg ) 78 if not msg.endswith('\n'): 79 sys.stdout.write( '\n' ) 69 80 70 def sys_logger(msg, pri = syslog.LOG_INFO): 71 syslog.openlog('%s[%d]' % (os.path.basename(sys.argv[0]), os.getpid()), 0, syslog.LOG_DAEMON) 72 syslog.syslog(pri, msg) 73 syslog.closelog() 81 server = server.Server(options.config, 82 log_info, 83 debug=options.debug) 74 84 75 def QuitMe(signum = None, frame = None):85 def exitServer(signum = None, frame = None): 76 86 "Quit nicely on the correct signal" 77 87 server.log( "...Shutting down" ) 78 88 sys.exit(0) 79 89 80 import signal81 server = server.Server(options.config,str_logger,debug=options.debug)82 90 server.log( "Starting..." ) 83 91 signal.signal(signal.SIGHUP, server.reconfig) 84 signal.signal(signal.SIGINT, QuitMe)85 signal.signal(signal.SIGTERM, QuitMe)92 signal.signal(signal.SIGINT, exitServer) 93 signal.signal(signal.SIGTERM, exitServer) 86 94 87 95 server.serve_forever()
