コード例 #1
0
    def test_writeSequence(self):
        """
        Write a sequence of L{bytes} to a L{DatagramProtocol}.
        """

        class SimpleDatagramProtocol(DatagramProtocol):
            def __init__(self):
                self.defer = Deferred()

            def datagramReceived(self, data, addr):
                self.defer.callback(data)

        reactor = self.buildReactor()
        protocol = SimpleDatagramProtocol()
        defer = protocol.defer
        port = self.getListeningPort(reactor, protocol)
        address = port.getHost()
        dataToWrite = (b"some", b"bytes", b"to", b"write")

        def gotData(data):
            self.assertEqual(b"".join(dataToWrite), data)

        defer.addCallback(gotData)
        defer.addErrback(err)
        defer.addCallback(lambda ignored: reactor.stop())
        port.writeSequence(dataToWrite, ("127.0.0.1", address.port))
        self.runReactor(reactor)
コード例 #2
0
ファイル: test_udp.py プロジェクト: MaxWayne/ScraperWeb
    def test_writeSequence(self):
        """
        Write a sequence of L{bytes} to a L{DatagramProtocol}.
        """
        class SimpleDatagramProtocol(DatagramProtocol):
            def __init__(self):
                self.defer = Deferred()

            def datagramReceived(self, data, addr):
                self.defer.callback(data)

        reactor = self.buildReactor()
        protocol = SimpleDatagramProtocol()
        defer = protocol.defer
        port = self.getListeningPort(reactor, protocol)
        address = port.getHost()
        dataToWrite = (b"some", b"bytes", b"to", b"write")

        def gotData(data):
            self.assertEqual(b"".join(dataToWrite), data)

        defer.addCallback(gotData)
        defer.addErrback(err)
        defer.addCallback(lambda ignored: reactor.stop())
        port.writeSequence(dataToWrite, ("127.0.0.1", address.port))
        self.runReactor(reactor)
コード例 #3
0
ファイル: proxy.py プロジェクト: nickretallack/couchdb-lounge
	def next(self):
		# if we have something in the queue, and an available reducer, take care of it
		if len(self.queue)>0 and self.count < self.pool_size:
			url, success, err, headers = self.queue.pop(0)

			def succeed(*args, **kwargs):
				log.debug("ClientQueue: success, queue size %d, reqs out %d" % (len(self.queue), self.count))
				self.count -= 1
				try:
					success(*args, **kwargs)
				except Exception, e:
					log.err("Exception '%s' in ClientQueue callback; moving on" % str(e))
				self.next()

			def fail(*args, **kwargs):
				log.debug("ClientQueue: failure, queue size %d, reqs out %d" % (len(self.queue), self.count))
				self.count -= 1
				try:
					err(*args, **kwargs)
				except:
					log.err("Exception in ClientQueue errback; moving on")
				self.next()

			self.count += 1
			defer = getPageWithHeaders(url, headers=headers).deferred
			defer.addCallback(succeed)
			defer.addErrback(fail)
コード例 #4
0
 def do_delete(self, tablename, cond_dict):
     defer = self.dbpool.runInteraction(self.deleteDataByPool,
                                        tablename=tablename,
                                        cond_dict=cond_dict)
     defer.addErrback(
         self.handle_error,
         "TwistedAdbapiSQLHelper:----->  self.dbpool.runInteraction.do_delete出错了!"
     )
     return defer
コード例 #5
0
ファイル: mission_process.py プロジェクト: hw233/test-2
    def update_last_user_level(self, user_id, request):
        """内部接口:更新战力排行榜中第50名用户的等级"""
        timer = Timer(user_id)

        req = mission_pb2.UpdateLastUserLevelReq()
        req.ParseFromString(request)

        defer = mission_business.update_last_user_level()
        defer.addCallback(self._update_last_user_level_succeed, req, timer)
        defer.addErrback(self._update_last_user_level_failed, req, timer)
        return defer
コード例 #6
0
    def requestAvatarId(self, credentials):
        publickey = base64.b64encode(credentials.blob)
        print publickey
        # SQL Injection ...
        defer = self.dbpool.runQuery(
            "SELECT account FROM publickeys WHERE publickey = '%s'" %
            publickey)
        defer.addCallback(self._cbRequestAvatarId, credentials)
        defer.addErrback(self._ebRequestAvatarId)

        # return "sqale" とか変えすと認証無条件で通る
        return defer
コード例 #7
0
ファイル: mission_process.py プロジェクト: hw233/test-2
    def finish_mission(self, user_id, request):
        timer = Timer(user_id)

        req = mission_pb2.FinishMissionReq()
        req.ParseFromString(request)

        defer = DataBase().get_data(user_id)
        defer.addCallback(self._calc_finish_mission, req, timer)
        defer.addCallback(self._finish_mission_succeed, req, timer)
        defer.addErrback(self._finish_mission_failed, req, timer)

        return defer
コード例 #8
0
ファイル: list.py プロジェクト: gonghao/tmp_program
    def addUpdateListCallbacks(self, success=None, failure=None, both=False):
        if 'updateList' in self.defers:
            defer = self.defers['updateList']

            if not both:
                if isinstance(success, types.FunctionType):
                    defer.addCallback(success)

                if isinstance(failure, types.FunctionType):
                    defer.addErrback(failure)

            else:
                if isinstance(success, types.FunctionType):
                    defer.addBoth(success)
コード例 #9
0
 def do_select(self,
               tablename,
               is_and=True,
               cond_dict=[],
               order='',
               fields='*'):
     defer = self.dbpool.runInteraction(self.selectDataByPool,
                                        tablename,
                                        is_and=is_and,
                                        cond_dict=cond_dict,
                                        order=order,
                                        fields=fields)
     defer.addErrback(
         self.handle_error,
         "TwistedAdbapiSQLHelper:----->  self.dbpool.runInteraction.do_select出错了!"
     )
     return defer