Changeset 609a9b0


Ignore:
Timestamp:
Jan 12, 2012, 1:28:05 AM (12 years ago)
Author:
Jessica B. Hamrick <jhamrick@…>
Branches:
no-cups
Children:
ef387cf
Parents:
2620618
git-author:
Jessica B. Hamrick <jhamrick@…> (01/12/12 01:28:05)
git-committer:
Jessica B. Hamrick <jhamrick@…> (01/12/12 01:28:05)
Message:

Add basic configuration file support

Location:
server
Files:
1 added
6 edited

Legend:

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

    re58af05 r609a9b0  
    11import gutenbach.server
    2 gutenbach.server.start()
     2import sys
     3import os
     4import yaml
     5
     6if len(sys.argv) != 2:
     7    print "Invalid number of arguments: %d" % len(sys.argv)
     8    sys.exit(1)
     9
     10config = sys.argv[1]
     11if not os.path.exists(config):
     12    print "Invalid config: %s" % config
     13    sys.exit(1)
     14
     15conf_dict = yaml.load(open(config, "r"))
     16print "Loaded configuration file:"
     17print conf_dict
     18   
     19gutenbach.server.start(conf_dict)
  • server/lib/gutenbach/ipp/core/constants.py

    ree8e6d0 r609a9b0  
    11__all__ = [
    2     'MiscConstants',
    32    'JobStates',
    43    'PrinterStates',
     
    1615    'CharacterStringTags',
    1716]
    18 
    19 class MiscConstants():
    20     """Miscellaneous config options for the IPP server.
    21    
    22     """
    23    
    24     IPP_VERSION = "1.1"
    25     IPP_PORT = 8000
    26 
    27     def __init__(self): pass
    2817
    2918class JobStates():
  • server/lib/gutenbach/server/__init__.py

    r33ea505 r609a9b0  
    2323
    2424# configure and initialize logging
    25 logging.basicConfig(level=logging.DEBUG)
    26 logger = logging.getLogger(__name__)
     25logger = None
    2726
    2827def error(self, request=None, client_address=None):
     
    3130    sys.exit(1)
    3231
    33 def start():
     32def start(config):
     33    global logger
     34    loglevel_num = getattr(logging, config['loglevel'].upper())
     35    logging.basicConfig(level=loglevel_num)
     36    logger = logging.getLogger(__name__)   
    3437    logger.info("Starting Gutenbach server...")
    35     gutenbach = GutenbachPrinter("test")
     38    printers = sorted(config['printers'].keys())
     39    gutenbach = GutenbachPrinter(printers[0], config['printers'][printers[0]])
    3640    gutenbach.start()
    3741
    3842    logger.info("Starting IPP server...")
    39     server_address = ('', 8000)
     43    server_address = ('', config['port'])
    4044    httpd = BaseHTTPServer.HTTPServer(server_address, IPPServer)
    4145    httpd.handle_error = error.__get__(httpd)
  • server/lib/gutenbach/server/job.py

    r2620618 r609a9b0  
    331331            _aborted()
    332332
    333 
     333    def restart(self):
     334        # XXX: Todo
     335        pass
  • server/lib/gutenbach/server/printer.py

    r190bfb4 r609a9b0  
    6969    ]
    7070       
    71     def __init__(self, name, *args, **kwargs):
     71    def __init__(self, name, config, *args, **kwargs):
    7272
    7373        super(GutenbachPrinter, self).__init__(*args, **kwargs)
    7474       
    7575        self.name = name
     76        self.config = config
    7677        self.time_created = int(time.time())
    7778
     
    207208    @property
    208209    def ipp_versions_supported(self):
    209         return ipp.IppVersionsSupported("1.0", "1.1")
     210        return ipp.IppVersionsSupported(*self.config['ipp-versions'])
    210211
    211212    # XXX: We should query ourself for the supported operations
  • server/test/server/job.py

    r2620618 r609a9b0  
    205205        self.assertTrue(self.job.is_aborted)
    206206
     207    def testRestart(self):
     208        # XXX: Todo
     209        pass
     210
    207211if __name__ == "__main__":
    208212    unittest.main()
Note: See TracChangeset for help on using the changeset viewer.