示例#1
0
    def testUpdateRegistrantStatus(self):
        """ Tests if update of registrant status works properly
        """
        storage = getAvatarConferenceStorage()

        registrant1 = Registrant()
        registrant1.setAvatar(self._avatar1)
        registrant1.setEmail("*****@*****.**")
        self._conf1.addRegistrant(registrant1, self._avatar1)
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        registrant2 = Registrant()
        registrant2.setAvatar(self._avatar2)
        registrant2.setEmail("*****@*****.**")
        self._conf1.addRegistrant(registrant2, self._avatar2)
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        self._conf1.removeRegistrant(registrant2.getId())
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf1.getId()][1]["eventType"], "removed")

        self._conf1.removeRegistrant(registrant1.getId())
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][1]["eventType"], "removed")
示例#2
0
    def testUpdateConference(self):
        """ Tests if update works properly after making changes in the conference
        """
        storage = getAvatarConferenceStorage()

        participant1 = Participant(self._conf1, self._avatar1)
        participant2 = Participant(self._conf1, self._avatar2)
        participant3 = Participant(self._conf2, self._avatar2)

        self._conf1.getParticipation().addParticipant(participant1)
        self._conf1.getParticipation().addParticipant(participant2)
        self._conf2.getParticipation().addParticipant(participant3)

        self._conf1.setTitle('title')
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 1)

        self._conf1.setDescription('description')
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 1)

        self._conf2.setTitle('title')
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 2)
示例#3
0
    def run(self):
        logger = self.getLogger()
        storage = getAvatarConferenceStorage()
        keysToDelete = []

        # Send the requests
        for key, eventList in storage.iteritems():
            for event in eventList:
                logger.info("Processing: {}:{}".format(key, event))
                if not event.get(
                        'request_sent',
                        False):  # only the ones that are not already sent
                    result = ExternalOperationsManager.execute(
                        self,
                        'sendEventRequest{}{}'.format(key, event['eventType']),
                        self._sendEventRequest, key, event['eventType'],
                        event['avatar'], event['conference'])
                    if result is None:
                        logger.error("Request failed")
                        break
                    elif result.status_code != 200:
                        logger.error(
                            'Request unsuccessful({})\nPayload: {}\nResponse: {}'
                            .format(result.status_code, self.payload,
                                    result.content))
                        break
                    else:
                        logger.debug("Processed successfully")
                        event['request_sent'] = True
            else:
                keysToDelete.append(key)

        self._clearAvatarConferenceStorage(keysToDelete)
示例#4
0
    def run(self):
        logger = self.getLogger()
        storage = getAvatarConferenceStorage()
        keysToDelete = []

        # Send the requests
        for key, eventList in storage.iteritems():
            for event in eventList:
                logger.info("Processing: {}:{}".format(key, event))
                if not event.get('request_sent', False):  # only the ones that are not already sent
                    result = ExternalOperationsManager.execute(self,
                                                               'sendEventRequest{}{}'.format(key, event['eventType']),
                                                               self._sendEventRequest, key, event['eventType'],
                                                               event['avatar'], event['conference'])
                    if result is None:
                        logger.error("Request failed")
                        break
                    elif result.status_code != 200:
                        logger.error('Request unsuccessful({})\nPayload: {}\nResponse: {}'
                                     .format(result.status_code, self.payload, result.content))
                        break
                    else:
                        logger.debug("Processed successfully")
                        event['request_sent'] = True
            else:
                keysToDelete.append(key)

        self._clearAvatarConferenceStorage(keysToDelete)
示例#5
0
    def testUpdateRegistrantStatus(self):
        """ Tests if update of registrant status works properly
        """
        storage = getAvatarConferenceStorage()

        registrant1 = Registrant()
        registrant1.setAvatar(self._avatar1)
        registrant1.setEmail("*****@*****.**")
        self._conf1.addRegistrant(registrant1, self._avatar1)
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        registrant2 = Registrant()
        registrant2.setAvatar(self._avatar2)
        registrant2.setEmail("*****@*****.**")
        self._conf1.addRegistrant(registrant2, self._avatar2)
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        self._conf1.removeRegistrant(registrant2.getId())
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf1.getId()][1]["eventType"], "removed")

        self._conf1.removeRegistrant(registrant1.getId())
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][1]["eventType"], "removed")
示例#6
0
    def testUpdateConference(self):
        """ Tests if update works properly after making changes in the conference
        """
        storage = getAvatarConferenceStorage()

        participant1 = Participant(self._conf1, self._avatar1)
        participant2 = Participant(self._conf1, self._avatar2)
        participant3 = Participant(self._conf2, self._avatar2)

        self._conf1.getParticipation().addParticipant(participant1)
        self._conf1.getParticipation().addParticipant(participant2)
        self._conf2.getParticipation().addParticipant(participant3)
        self._conf1.setTitle('title')
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 1)

        self._conf1.setDescription('description')
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 1)

        self._conf2.setTitle('title')
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 2)
示例#7
0
 def _clearAvatarConferenceStorage(self, keysToDelete):
     dbi = DBMgr.getInstance()
     dbi.commit()  # Ensure that the status 'request_sent' is kept and requests are not sent twice
     storage = getAvatarConferenceStorage()
     for i, key in enumerate(keysToDelete):
         del storage[key]
         if i % 1000 == 999:
             dbi.commit()
     dbi.commit()
示例#8
0
文件: tasks.py 项目: sylvestre/indico
 def _clearAvatarConferenceStorage(self, keysToDelete):
     dbi = DBMgr.getInstance()
     dbi.commit() # Ensure that the status 'request_sent' is kept and requests are not sent twice
     storage = getAvatarConferenceStorage()
     for i, key in enumerate(keysToDelete):
         del storage[key]
         if i % 1000 == 999:
             dbi.commit()
     dbi.commit()
示例#9
0
    def testOutlookRunTask(self):
        """ Tests outlook notification scheduler task.
            Using mock to avoid running real POST requests.
        """

        mockReturn = []

        def mock_sendEventRequest(self, key, eventType, avatar, conference):
            if avatar.getName() == 'fake-2' and conference.getId() == '0':
                mockReturn.append(200)
                return 200
            if avatar.getName() == 'fake-2' and conference.getId(
            ) == '1' and eventType == "added":
                mockReturn.append(200)
                return 200
            mockReturn.append(None)
            return None

        OutlookUpdateCalendarNotificationTask._sendEventRequest = mock_sendEventRequest
        outlookTask = OutlookUpdateCalendarNotificationTask(MINUTELY)

        storage = getAvatarConferenceStorage()

        addAvatarConference(self._avatar1, self._conf1, "added")
        addAvatarConference(self._avatar1, self._conf1, "removed")
        addAvatarConference(self._avatar2, self._conf2, "added")
        outlookTask.run()
        self.assertEqual(mockReturn, [None, 200])
        self.assertEqual(len(storage), 1)
        self.assertEqual(
            len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        mockReturn = []

        addAvatarConference(self._avatar1, self._conf2, "added")
        addAvatarConference(self._avatar1, self._conf2, "removed")
        outlookTask.run()
        self.assertEqual(mockReturn, [None])
        self.assertEqual(len(storage), 2)
        self.assertEqual(
            len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(
            len(storage[self._avatar1.getId() + '_' + self._conf2.getId()]), 2)
        mockReturn = []

        outlookTask._clearAvatarConferenceStorage(
            [self._avatar1.getId() + '_' + self._conf2.getId()])
        outlookTask._clearAvatarConferenceStorage(
            [self._avatar1.getId() + '_' + self._conf1.getId()])
        self.assertEqual(len(storage), 0)
示例#10
0
    def testUpdateParticipantStatus(self):
        """ Tests if update of participant status works properly
        """
        storage = getAvatarConferenceStorage()

        participant1 = Participant(self._conf1, self._avatar1)
        self._conf1.getParticipation().addParticipant(participant1)
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        participant1.setStatusAdded()
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        participant1.setStatusRefused()
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][1]["eventType"], "removed")

        participant2 = Participant(self._conf1, self._avatar2)
        participant2.setStatusInvited()
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)

        participant2.setStatusAccepted()
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        participant3 = Participant(self._conf2, self._avatar1)
        participant3.setStatusInvited()
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)

        participant3.setStatusRejected()
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf2.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf2.getId()][0]["eventType"], "removed")
示例#11
0
    def testUpdateParticipantStatus(self):
        """ Tests if update of participant status works properly
        """
        storage = getAvatarConferenceStorage()

        participant1 = Participant(self._conf1, self._avatar1)
        self._conf1.getParticipation().addParticipant(participant1)
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        participant1.setStatusAdded()
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        participant1.setStatusRefused()
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][1]["eventType"], "removed")

        participant2 = Participant(self._conf1, self._avatar2)
        participant2.setStatusInvited()
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)

        participant2.setStatusAccepted()
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        participant3 = Participant(self._conf2, self._avatar1)
        participant3.setStatusInvited()
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)

        participant3.setStatusRejected()
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf2.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf2.getId()][0]["eventType"], "removed")
示例#12
0
    def testOutlookRunTask(self):
        """ Tests outlook notification scheduler task.
            Using mock to avoid running real POST requests.
        """

        mockReturn = []

        def mock_sendEventRequest(self, key, eventType, avatar, conference):
            if avatar.getName() == 'fake-2' and conference.getId() == '0':
                mockReturn.append(200)
                return 200
            if avatar.getName() == 'fake-2' and conference.getId() == '1' and eventType == "added":
                mockReturn.append(200)
                return 200
            mockReturn.append(None)
            return None

        OutlookUpdateCalendarNotificationTask._sendEventRequest = mock_sendEventRequest
        outlookTask = OutlookUpdateCalendarNotificationTask(MINUTELY)

        storage = getAvatarConferenceStorage()

        addAvatarConference(self._avatar1, self._conf1, "added")
        addAvatarConference(self._avatar1, self._conf1, "removed")
        addAvatarConference(self._avatar2, self._conf2, "added")
        outlookTask.run()
        self.assertEqual(mockReturn, [None, 200])
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        mockReturn = []

        addAvatarConference(self._avatar1, self._conf2, "added")
        addAvatarConference(self._avatar1, self._conf2, "removed")
        outlookTask.run()
        self.assertEqual(mockReturn, [None])
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf2.getId()]), 2)
        mockReturn = []

        outlookTask._clearAvatarConferenceStorage([self._avatar1.getId() + '_' + self._conf2.getId()])
        outlookTask._clearAvatarConferenceStorage([self._avatar1.getId() + '_' + self._conf1.getId()])
        self.assertEqual(len(storage), 0)
示例#13
0
    def testAddStorageElements(self):
        """ Tests adding elements to the storage
        """
        storage = getAvatarConferenceStorage()
        self.assertEqual(len(storage), 0)

        addAvatarConference(self._avatar1, self._conf1, "added")
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        addAvatarConference(self._avatar1, self._conf1, "removed")
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][1]["eventType"], "removed")

        addAvatarConference(self._avatar1, self._conf2, "added")
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf2.getId()]), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf2.getId()][0]["eventType"], "added")

        addAvatarConference(self._avatar2, self._conf1, "added")
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        addAvatarConference(self._avatar2, self._conf2, "added")
        self.assertEqual(len(storage), 4)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 1)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf2.getId()][0]["eventType"], "added")

        addAvatarConference(self._avatar2, self._conf2, "removed")
        self.assertEqual(len(storage), 4)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 2)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf2.getId()][1]["eventType"], "removed")

        addAvatarConference(self._avatar1, self._conf1, "added")
        addAvatarConference(self._avatar1, self._conf1, "removed")

        self.assertEqual(len(storage), 4)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
示例#14
0
    def testAddStorageElements(self):
        """ Tests adding elements to the storage
        """
        storage = getAvatarConferenceStorage()
        self.assertEqual(len(storage), 0)

        addAvatarConference(self._avatar1, self._conf1, "added")
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        addAvatarConference(self._avatar1, self._conf1, "removed")
        self.assertEqual(len(storage), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf1.getId()][1]["eventType"], "removed")

        addAvatarConference(self._avatar1, self._conf2, "added")
        self.assertEqual(len(storage), 2)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf2.getId()]), 1)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
        self.assertEqual(storage[self._avatar1.getId() + '_' + self._conf2.getId()][0]["eventType"], "added")

        addAvatarConference(self._avatar2, self._conf1, "added")
        self.assertEqual(len(storage), 3)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf1.getId()]), 1)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf1.getId()][0]["eventType"], "added")

        addAvatarConference(self._avatar2, self._conf2, "added")
        self.assertEqual(len(storage), 4)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 1)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf2.getId()][0]["eventType"], "added")

        addAvatarConference(self._avatar2, self._conf2, "removed")
        self.assertEqual(len(storage), 4)
        self.assertEqual(len(storage[self._avatar2.getId() + '_' + self._conf2.getId()]), 2)
        self.assertEqual(storage[self._avatar2.getId() + '_' + self._conf2.getId()][1]["eventType"], "removed")

        addAvatarConference(self._avatar1, self._conf1, "added")
        addAvatarConference(self._avatar1, self._conf1, "removed")

        self.assertEqual(len(storage), 4)
        self.assertEqual(len(storage[self._avatar1.getId() + '_' + self._conf1.getId()]), 2)
示例#15
0
文件: tasks.py 项目: Ictp/indico
    def run(self):
        logger = self.getLogger()
        storage = getAvatarConferenceStorage()
        keysToDelete = []

        # Send the requests
        for key, eventList in storage.iteritems():
            for event in eventList:
                logger.info("processing: %s:%s" % (key, event))
                if not event.get('request_sent', False): # only the ones that are not already sent
                    result = ExternalOperationsManager.execute(self, 'sendEventRequest' + key + event['eventType'], self._sendEventRequest, key, event['eventType'], event['avatar'], event['conference'])
                    if result != 200:
                        logger.debug("POST failed")
                        break
                    else:
                        logger.debug("processing successful")
                        event['request_sent'] = True
            else:
                keysToDelete.append(key)

        self._clearAvatarConferenceStorage(keysToDelete)
示例#16
0
文件: tasks.py 项目: sylvestre/indico
    def run(self):
        logger = self.getLogger()
        storage = getAvatarConferenceStorage()
        keysToDelete = []

        # Send the requests
        for key, eventList in storage.iteritems():
            for event in eventList:
                logger.info("processing: %s:%s" % (key, event))
                if not event.get('request_sent', False): # only the ones that are not already sent
                    result = ExternalOperationsManager.execute(self, 'sendEventRequest' + key + event['eventType'], self._sendEventRequest, key, event['eventType'], event['avatar'], event['conference'])
                    if result != 200:
                        logger.debug("POST failed")
                        break
                    else:
                        logger.debug("processing successful")
                        event['request_sent'] = True
            else:
                keysToDelete.append(key)

        self._clearAvatarConferenceStorage(keysToDelete)