import ZODB, ZEO import pwd import socket from scgi.quixote_handler import QuixoteHandler, scgi_server, debug from dulcinea import local from dulcinea import site_util from dulcinea.ui.publisher import DulcineaPublisher from qon import local site = os.environ['SITE'] = sys.argv[1] site_util.ensure_uid_gid_not_root() config = site_util.get_config() pid_file_name = site_util.get_pid_file_name('scgi', site) ip, port = site_util.parse_address(config.get(site, 'scgi-address')) site_log_dir = os.path.join(config.get(site, 'log-directory'), site) error_log = os.path.join(site_log_dir, 'error.log') assert site_util.is_local(config.get(site, 'scgi-address')) def get_publisher(): """Get publisher from config file. -- pmo""" s_pub = config.get(site, 'publisher') modulename = s_pub[:s_pub.rfind('.')] klassname = s_pub[s_pub.rfind('.')+1:] __import__(modulename) module = sys.modules[modulename] klass = getattr(module, klassname) return klass() def create_site_publisher(site):
Script invoked by site to start the lucene server """ import os from dulcinea import site_util site_util.ensure_uid_gid_not_root() config = site_util.get_config() for site in site_util.list_sites(): if not config.has_option(site, 'lucene-address'): continue # get server ip and port ip, port = site_util.parse_address(config.get(site, 'lucene-address')) # db db = os.path.join(config.get(site, 'var-directory'), '%s_lucene' % site) # log log = os.path.join(config.get(site, 'log-directory'), site, 'lucene') # build java invokation arguments java = config.get(site, 'java') args = '-classpath %(classpath)s Server %(port)s %(db)s %(log)s' % \ dict(classpath=config.get(site, 'lucene-classpath'), port=port, db=db, log=log,