source: server/lib/gutenbach/server/__init__.py @ 33ea505

no-cups
Last change on this file since 33ea505 was 33ea505, checked in by Jessica B. Hamrick <jhamrick@…>, 12 years ago

Keep IPP code in GutenbachPrinter?, not in GutenbachJob?

  • Property mode set to 100644
File size: 1.2 KB
RevLine 
[e58af05]1import errors
2from errors import *
3__all__ = ['errors']
4__all__.extend(errors.__all__)
5
[33ea505]6from job import GutenbachJob
7__all__.append('GutenbachJob')
[e58af05]8
9from printer import GutenbachPrinter
10__all__.append('GutenbachPrinter')
11
12from requests import make_empty_response, GutenbachRequestHandler
13__all__.append('make_empty_response')
14__all__.append('GutenbachRequestHandler')
15
[eee389a]16from server import IPPServer
[e58af05]17__all__.append('IPPServer')
18
[287d6ec]19import BaseHTTPServer
[d04a689]20import logging
[6effd50]21import sys
[ee8e6d0]22import traceback
[d04a689]23
[e58af05]24# configure and initialize logging
[d21198f]25logging.basicConfig(level=logging.DEBUG)
[ee8e6d0]26logger = logging.getLogger(__name__)
27
[e58af05]28def error(self, request=None, client_address=None):
[ee8e6d0]29    logger.fatal(traceback.format_exc())
[eee389a]30    self.gutenbach_printer.running = False
[6effd50]31    sys.exit(1)
[478ca74]32
[287d6ec]33def start():
[e58af05]34    logger.info("Starting Gutenbach server...")
[eee389a]35    gutenbach = GutenbachPrinter("test")
[e58af05]36    gutenbach.start()
37
38    logger.info("Starting IPP server...")
[478ca74]39    server_address = ('', 8000)
[e58af05]40    httpd = BaseHTTPServer.HTTPServer(server_address, IPPServer)
[6effd50]41    httpd.handle_error = error.__get__(httpd)
[eee389a]42    httpd.gutenbach_printer = gutenbach
[e58af05]43    while gutenbach.isAlive():
44        try:
45            httpd.handle_request()
46        except:
47            error(httpd)
[287d6ec]48
[e58af05]49__all__.append('start')
Note: See TracBrowser for help on using the repository browser.