no-cups
Last change
on this file since e58af05 was
e58af05,
checked in by Jessica B. Hamrick <jhamrick@…>, 12 years ago
|
Implement send-document operation and add threading so that the gutenbach server can play jobs
|
-
Property mode set to
100644
|
File size:
1.3 KB
|
Rev | Line | |
---|
[e58af05] | 1 | import errors |
---|
| 2 | from errors import * |
---|
| 3 | __all__ = ['errors'] |
---|
| 4 | __all__.extend(errors.__all__) |
---|
| 5 | |
---|
| 6 | from job import Job |
---|
| 7 | __all__.append('Job') |
---|
| 8 | |
---|
| 9 | from printer import GutenbachPrinter |
---|
| 10 | __all__.append('GutenbachPrinter') |
---|
| 11 | |
---|
| 12 | from requests import make_empty_response, GutenbachRequestHandler |
---|
| 13 | __all__.append('make_empty_response') |
---|
| 14 | __all__.append('GutenbachRequestHandler') |
---|
| 15 | |
---|
| 16 | from server import GutenbachServer, IPPServer |
---|
| 17 | __all__.append('GutenbachServer') |
---|
| 18 | __all__.append('IPPServer') |
---|
| 19 | |
---|
[287d6ec] | 20 | import BaseHTTPServer |
---|
[d04a689] | 21 | import logging |
---|
[6effd50] | 22 | import sys |
---|
[ee8e6d0] | 23 | import traceback |
---|
[d04a689] | 24 | |
---|
[e58af05] | 25 | # configure and initialize logging |
---|
[6effd50] | 26 | logging.basicConfig(level=logging.DEBUG) |
---|
[ee8e6d0] | 27 | logger = logging.getLogger(__name__) |
---|
| 28 | |
---|
[e58af05] | 29 | def error(self, request=None, client_address=None): |
---|
[ee8e6d0] | 30 | logger.fatal(traceback.format_exc()) |
---|
[e58af05] | 31 | self.gutenbach_server.request_stop = True |
---|
[6effd50] | 32 | sys.exit(1) |
---|
[478ca74] | 33 | |
---|
[287d6ec] | 34 | def start(): |
---|
[e58af05] | 35 | logger.info("Starting Gutenbach server...") |
---|
| 36 | gutenbach = GutenbachServer() |
---|
| 37 | gutenbach.start() |
---|
| 38 | |
---|
| 39 | logger.info("Starting IPP server...") |
---|
[478ca74] | 40 | server_address = ('', 8000) |
---|
[e58af05] | 41 | httpd = BaseHTTPServer.HTTPServer(server_address, IPPServer) |
---|
[6effd50] | 42 | httpd.handle_error = error.__get__(httpd) |
---|
[e58af05] | 43 | httpd.gutenbach_server = gutenbach |
---|
| 44 | while gutenbach.isAlive(): |
---|
| 45 | try: |
---|
| 46 | httpd.handle_request() |
---|
| 47 | except: |
---|
| 48 | error(httpd) |
---|
[287d6ec] | 49 | |
---|
[e58af05] | 50 | __all__.append('start') |
---|
Note: See
TracBrowser
for help on using the repository browser.