Example #1
0
 def __init__(self, ID, *url, **kw):
     """Constructor"""
     if not isinstance(ID, int):
         raise TypeError("Item IDs must be integers")
     self.groupID = ID
     if url:
         AccessBroker.__init__(self, url[0], **kw)
     else:
         AccessBroker.__init__(self)
Example #2
0
class TestStartupAndShutdown(TestCase):
    def setUp(self):
        self.broker = AccessBroker(DB_URL)
        return self.broker.startup()

    def testMultipleShutdowns(self):
        def runner():
            for k in xrange(10):
                yield waitForDeferred(self.broker.shutdown())
                d = Deferred()
                reactor.callLater(0.02, d.callback, None)
                yield waitForDeferred(d)

        runner = deferredGenerator(runner)
        return runner()

    def testShutdownTwoBrokers(self):
        brokerB = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = brokerB.startup()
        d.addCallback(shutEmDown)
        return d

    def testShutdownThreeBrokers(self):
        brokerB = AccessBroker(DB_URL)
        brokerC = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB, brokerC):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = DeferredList([brokerB.startup(), brokerC.startup()])
        d.addCallback(shutEmDown)
        return d
Example #3
0
class TestStartupAndShutdown(TestCase):
    def setUp(self):
        self.broker = AccessBroker(DB_URL)
        return self.broker.startup()

    def testMultipleShutdowns(self):
        def runner():
            for k in xrange(10):
                yield waitForDeferred(self.broker.shutdown())
                d = Deferred()
                reactor.callLater(0.02, d.callback, None)
                yield waitForDeferred(d)
        runner = deferredGenerator(runner)
        return runner()

    def testShutdownTwoBrokers(self):
        brokerB = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = brokerB.startup()
        d.addCallback(shutEmDown)
        return d

    def testShutdownThreeBrokers(self):
        brokerB = AccessBroker(DB_URL)
        brokerC = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB, brokerC):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = DeferredList([brokerB.startup(), brokerC.startup()])
        d.addCallback(shutEmDown)
        return d
Example #4
0
 def userStartup(self, null):
     AccessBroker.__init__(self, twisted=True)
     d1 = self.table(
         'words', SA.Column('id', SA.Integer, index="word"),
         SA.Column('word',
                   SA.String(TRUNCATED_WORD_LENGTH),
                   primary_key=True))
     d2 = self.table(
         'usage',
         SA.Column('word_id', Integer, primary_key=True, index="scope"),
         Column('doc_id', Integer, index="scope"),
         Column('section_id', Integer, index="scope"),
         Column('position', Integer, nullable=False))
     self._ready = True
     d3 = self.keeper.startup(self)
     return defer.DeferredList([d1, d2, d3])
Example #5
0
    def testShutdownTwoBrokers(self):
        brokerB = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = brokerB.startup()
        d.addCallback(shutEmDown)
        return d
Example #6
0
    def testShutdownTwoBrokers(self):
        brokerB = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = brokerB.startup()
        d.addCallback(shutEmDown)
        return d
Example #7
0
 def userStartup(self):
     AccessBroker.__init__(self, twisted=True)
     d1 = self.table(
         'words',
         SA.Column('id', SA.Integer, index="word"),
         SA.Column('word',
                SA.String(TRUNCATED_WORD_LENGTH),
                primary_key=True)
         )
     d2 = self.table(
         'usage',
         SA.Column('word_id', Integer, primary_key=True, index="scope"),
         Column('doc_id', Integer, index="scope"),
         Column('section_id', Integer, index="scope"),
         Column('position', Integer, nullable=False)
         )
     self._ready = True
     d3 = self.keeper.startup(self)
     return defer.DeferredList([d1,d2,d3])
Example #8
0
 def __init__(self, url):
     AccessBroker.__init__(self, url)
     self.matches = {}
Example #9
0
 def setUp(self):
     self.broker = AccessBroker(DB_URL)
     return self.broker.startup()
Example #10
0
 def __getattribute__(self, name):
     # For debugging, to see what session is stored
     result = AccessBroker.__getattribute__(self, name)
     if VERBOSE and name == 'session':
         print "SESSION:", result
     return result
Example #11
0
 def __init__(self, url):
     AccessBroker.__init__(self, url)
     self.matches = {}
Example #12
0
 def setUp(self):
     self.broker = AccessBroker(DB_URL)
     return self.broker.startup()