Ignore:
Timestamp:
Dec 27, 2011, 11:33:55 PM (12 years ago)
Author:
Jessica B. Hamrick <jhamrick@…>
Branches:
no-cups
Children:
ce2abc5
Parents:
7c143c9
git-author:
Jessica B. Hamrick <jhamrick@…> (12/27/11 23:33:55)
git-committer:
Jessica B. Hamrick <jhamrick@…> (12/27/11 23:33:55)
Message:

Implement send-document operation and add threading so that the gutenbach server can play jobs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • server/lib/gutenbach/server/server.py

    r7c143c9 re58af05  
    1 from gutenbach.server.requests import GutenbachRequestHandler
     1import gutenbach.ipp as ipp
     2
     3from . import InvalidPrinterStateException, InvalidJobException
     4from . import GutenbachPrinter
     5from . import GutenbachRequestHandler
     6
    27import BaseHTTPServer
    3 import gutenbach.ipp as ipp
    48import logging
    59import sys
    610import traceback
    711import tempfile
     12import threading
     13import time
    814
    915# initialize logger
    1016logger = logging.getLogger(__name__)
    1117
    12 # initialize handler
    13 handler = GutenbachRequestHandler()
     18class GutenbachServer(threading.Thread):
    1419
    15 class GutenbachIPPServer(BaseHTTPServer.BaseHTTPRequestHandler):
     20    def run(self):
     21        self.printer = GutenbachPrinter(name="test")
     22        self.request_stop = False
     23
     24        while not self.request_stop:
     25            job = self.printer.next_job
     26            if job is not None:
     27                try:
     28                    self.printer.start_job(job)
     29                except InvalidPrinterStateException:
     30                    pass
     31                except:
     32                    logger.fatal(traceback.format_exc())
     33                    sys.exit(1)
     34            time.sleep(0.1)
     35
     36class IPPServer(BaseHTTPServer.BaseHTTPRequestHandler):
     37   
    1638    def send_continue(self):
    1739        self.send_response(100, "continue")
     
    83105        # throw a fatal error.
    84106        logger.debug("request: %s" % repr(request))
    85         response = handler.handle(request)
     107        response = GutenbachRequestHandler(self.server.gutenbach_server).handle(request)
    86108        self.send_ok(response)
Note: See TracChangeset for help on using the changeset viewer.