from twisted.web import resource, server
from twisted.internet import reactor
from sqlalchemy import create_engine, pool
import logging
from .model import setEngine, setPool
from .controller.pool import startPool, dbPool
from .view import xmlrpc
import config
def runReactor(reactor, engine, port, root):
setEngine(engine)
startPool(reactor)
setPool(dbPool)
reactor.listenTCP(port, server.Site(root))
logging.info("Server is running now...")
reactor.run()
if __name__ == '__main__':
config.readConfig()
engine = create_engine(config.main.dburl,
poolclass = pool.SingletonThreadPool, pool_size=dbPool.maxthreads, )
root = resource.Resource()
root = xmlrpc.appendResource(root)
v2 = resource.Resource()
v2 = xmlrpc.appendResource(root)
root.addChild('2.0', v2)
runReactor(reactor, engine, config.main.port, root)