iro/main.py
author Sandro Knauß <knauss@netzguerilla.net>
Sat, 10 Mar 2012 19:03:32 +0100
branchdevel
changeset 222 d6d511f2718c
parent 187 352527f2b6ca
child 223 8a7a976a6d58
permissions -rw-r--r--
using install functions in main
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
112
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     1
from twisted.web import resource, server
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     2
from twisted.internet import reactor
222
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
     3
from twisted.python import log
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
     4
import sys
112
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     5
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     6
from sqlalchemy import create_engine, pool
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     7
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     8
import logging
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     9
132
80a334e2aae7 moving pool to controller
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    10
from .model import setEngine, setPool
80a334e2aae7 moving pool to controller
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    11
from .controller.pool import startPool, dbPool
112
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    12
from .view import xmlrpc
222
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
    13
from . import config
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
    14
from .install import check, createSampleConfig
112
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    15
187
352527f2b6ca no hostname used for reactor -> no need for option
Sandro Knauß <knauss@netzguerilla.net>
parents: 133
diff changeset
    16
def runReactor(reactor, engine, port, root):
112
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    17
    setEngine(engine)
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    18
    startPool(reactor)
132
80a334e2aae7 moving pool to controller
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    19
    setPool(dbPool)
112
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    20
    
187
352527f2b6ca no hostname used for reactor -> no need for option
Sandro Knauß <knauss@netzguerilla.net>
parents: 133
diff changeset
    21
    reactor.listenTCP(port, server.Site(root))
112
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    22
    logging.info("Server is running now...")
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    23
    reactor.run()
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    24
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    25
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    26
if __name__ == '__main__':
222
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
    27
   
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
    28
    if not check():
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
    29
        createSampleConfig()
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
    30
        log.msg("Please edit iro.conf and run %s --install"%sys.argv[0])
d6d511f2718c using install functions in main
Sandro Knauß <knauss@netzguerilla.net>
parents: 187
diff changeset
    31
187
352527f2b6ca no hostname used for reactor -> no need for option
Sandro Knauß <knauss@netzguerilla.net>
parents: 133
diff changeset
    32
    config.readConfig()
352527f2b6ca no hostname used for reactor -> no need for option
Sandro Knauß <knauss@netzguerilla.net>
parents: 133
diff changeset
    33
352527f2b6ca no hostname used for reactor -> no need for option
Sandro Knauß <knauss@netzguerilla.net>
parents: 133
diff changeset
    34
    engine = create_engine(config.main.dburl,
132
80a334e2aae7 moving pool to controller
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    35
           poolclass = pool.SingletonThreadPool,  pool_size=dbPool.maxthreads, )
112
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    36
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    37
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    38
    root = resource.Resource()
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    39
    root = xmlrpc.appendResource(root)
ea437d1e7b65 reactor is now started my iro.main
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    40
    
133
214fddcf7133 adding subResource version String
Sandro Knauß <knauss@netzguerilla.net>
parents: 132
diff changeset
    41
    v2 = resource.Resource()
214fddcf7133 adding subResource version String
Sandro Knauß <knauss@netzguerilla.net>
parents: 132
diff changeset
    42
    v2 = xmlrpc.appendResource(root)
214fddcf7133 adding subResource version String
Sandro Knauß <knauss@netzguerilla.net>
parents: 132
diff changeset
    43
    root.addChild('2.0', v2)
214fddcf7133 adding subResource version String
Sandro Knauß <knauss@netzguerilla.net>
parents: 132
diff changeset
    44
214fddcf7133 adding subResource version String
Sandro Knauß <knauss@netzguerilla.net>
parents: 132
diff changeset
    45
    
187
352527f2b6ca no hostname used for reactor -> no need for option
Sandro Knauß <knauss@netzguerilla.net>
parents: 133
diff changeset
    46
    runReactor(reactor, engine, config.main.port, root)