File: Karrigell_ThreadingSocketServer.py

package info (click to toggle)
karrigell 2.3.2-1.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 6,484 kB
  • ctags: 4,167
  • sloc: python: 18,122; ansic: 370; sh: 129; makefile: 53; xml: 29
file content (40 lines) | stat: -rw-r--r-- 1,057 bytes parent folder | download
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
#! /usr/bin/python 
"""Karrigell HTTP Server

Written by Pierre Quentel quentel.pierre@wanadoo.fr

Published under the BSD licence. See the file LICENCE.txt

This script launches Karrigell with SocketServer.TCPServer as web server

Requests are handled by class RequestHandler (one instance per request)
"""

import webservers.CustomHTTPServer
import KarrigellRequestHandler
import k_config

class RequestHandler(KarrigellRequestHandler.KarrigellRequestHandler,
    webservers.CustomHTTPServer.RequestHandler):
        pass

if k_config.silent:
    import sys
    import k_utils
    sys.stdout = k_utils.silent()
    sys.stderr = k_utils.silent()

if k_config.debug:
    print "Debug level %s" %k_config.debug

# Launch the server
import SocketServer
server=SocketServer.ThreadingTCPServer(('', k_config.port), RequestHandler)
print "Karrigell %s running on port %s" \
    %(KarrigellRequestHandler.__version__,k_config.port)
print "Press Ctrl+C to stop"

try:
    server.serve_forever()
except KeyboardInterrupt:
    print "Ctrl+C pressed. Shutting down."