Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 1004

Show
Ignore:
Timestamp:
03/10/06 06:39:46
Author:
dowski
Message:

Addresses #480.

init_only can now be set in the config (server.init_only). server.class already existed. server.instance can also be set in the config. It corresponds to the "server" parameter in the cherrypy.server.start() method.

Also added "embedded" server environment to simplify running CP embedded in mod_python, FastCGI, another WSGI server, etc.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/_cpserver.py

    r980 r1004  
    4545         
    4646        conf = cherrypy.config.get 
     47         
     48        if not init_only: 
     49            init_only = conf('server.init_only', False) 
     50         
     51        if server is None: 
     52            server = conf('server.instance', None) 
    4753        if server is None: 
    4854            if server_class is _missing: 
     
    5864                self.httpserver = server_class() 
    5965        else: 
     66            if isinstance(server, basestring): 
     67                server = cptools.attributes(server) 
    6068            self.httpserverclass = server.__class__ 
    6169            self.httpserver = server 
  • trunk/cherrypy/config.py

    r999 r1004  
    5353        'server.show_tracebacks': False, 
    5454        'server.log_request_headers': False, 
     55        }, 
     56    "embedded": { 
     57        'autoreload.on': False, 
     58        'server.log_to_screen': False, 
     59        'server.init_only': True, 
     60        'server.class': None, 
    5561        }, 
    5662    } 
  • trunk/cherrypy/test/test_config.py

    r910 r1004  
    2626    index.exposed = True 
    2727    prod = index 
    28  
     28    embed = index 
    2929 
    3030cherrypy.tree.mount(Root()) 
     
    5252_env_conf = {'/': {'server.environment': 'development'}, 
    5353             '/prod': {'server.environment': 'production'}, 
     54             '/embed': {'server.environment': 'embedded'}, 
    5455             } 
    5556cherrypy.tree.mount(Env(), "/env", _env_conf) 
     
    9798            self.getPage("/env/prod/?key=" + key) 
    9899            self.assertBody(str(val)) 
     100        for key, val in cherrypy.config.environments['embedded'].iteritems(): 
     101            self.getPage("/env/embed/?key=" + key) 
     102            data = self.body.split("\n")[0] 
     103            self.assertEqual(data, str(val)) 
    99104 
    100105 

Hosted by WebFaction

Log in as guest/cpguest to create tickets