1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
#!/usr/bin/env python3
# coding=UTF-8
# ex:ts=4:sw=4:et=on
# Copyright (c) 2013, Mathijs Dumon
# All rights reserved.
# Complete license can be found in the LICENSE file.
if __name__ == "__main__":
import logging
logger = logging.getLogger(__name__)
import os, sys
sys.path.insert(1, os.path.join(sys.path[0], '../..'))
from pyxrd.data.appdirs import user_log_dir
from pyxrd.server import settings
from pyxrd.server.pyxrd_server import PyXRDServer
from pyxrd.server.utils import start_script
from pyxrd.logs import setup_logging
setup_logging(basic=True, prefix="PYRO SERVER:")
import Pyro5
try:
from Pyro5.naming import NamingError
except (AttributeError, ImportError):
from Pyro5.errors import NamingError
server = PyXRDServer()
daemon = Pyro5.Daemon()
try:
ns = Pyro5.locateNS()
except NamingError:
logger.info("NamingError encountered when trying to locate the nameserver")
log_file = os.path.join(user_log_dir('PyXRD'), 'nameserver.log')
start_script("start_nameserver.py", auto_kill=not settings.KEEP_SERVER_ALIVE, log_file=log_file)
ns = Pyro5.locateNS()
server_uri = daemon.register(server)
ns.register(settings.PYRO_NAME, server_uri) # settings.PYRO_NAME)
try:
daemon.requestLoop(server.loopCondition)
finally:
daemon.shutdown()
|