iro/model/pool.py
author Sandro Knauß <knauss@netzguerilla.net>
Mon, 06 Feb 2012 12:31:47 +0100
branchdevel
changeset 132 80a334e2aae7
parent 117 351a02310dd8
child 151 ff8448fb07e7
permissions -rw-r--r--
moving pool to controller
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     1
from decorator import decorator
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     2
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     3
class Data:
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     4
    def __init__(self):
132
80a334e2aae7 moving pool to controller
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
     5
        self.pool =  None
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     6
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     7
data = Data()
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
     8
#a valid dbDefer decorator
351a02310dd8 model restructuring
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
def setPool(pool): 
80a334e2aae7 moving pool to controller
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    11
    data.pool = pool
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    12
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    13
@decorator
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    14
def runInDBPool(f,*args,**kwargs):
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    15
    """Decorator to run DB queries in Twisted's thread pool"""
132
80a334e2aae7 moving pool to controller
Sandro Knauß <knauss@netzguerilla.net>
parents: 117
diff changeset
    16
    return data.pool.run(f, *args, **kwargs)
117
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    17
351a02310dd8 model restructuring
Sandro Knauß <knauss@netzguerilla.net>
parents:
diff changeset
    18