当前位置: 首页>>代码示例>>Python>>正文


Python externalOperationsManager.ExternalOperationsManager类代码示例

本文整理汇总了Python中MaKaC.common.externalOperationsManager.ExternalOperationsManager的典型用法代码示例。如果您正苦于以下问题:Python ExternalOperationsManager类的具体用法?Python ExternalOperationsManager怎么用?Python ExternalOperationsManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ExternalOperationsManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: createChatroom

 def createChatroom(cls, obj, params):
     room = params['room']
     # we give this operation the name createSomething in the externaloperationsmanager
     # we will execute the method performOperation in a chat room creation, which will send an email to all the requested users
     # saying that a chat room was created. We pass the 2 mandatory arguments and finally the arguments required for performOperation
     # (in this case, only one argument)
     ExternalOperationsManager.execute(cls, "create_"+str(cls.__class__)+str(room.getId()), cls.performOperation, 'create', room.getConferences().values()[0], room, room)
开发者ID:Ictp,项目名称:indico,代码行数:7,代码来源:components.py

示例2: _connect

    def _connect(self, force=False):
        self._checkStatus()

        connectionStatus = self.connectionStatus()
        if isinstance(connectionStatus, VidyoError):
            return connectionStatus

        confRoomIp = VidyoTools.getLinkRoomAttribute(self.getLinkObject(), attName="H323 IP")
        confRoomPanoramaUser = VidyoTools.getLinkRoomAttribute(self.getLinkObject(), attName="VidyoPanorama ID")
        if confRoomIp == "" and confRoomPanoramaUser == "":
            return VidyoError("noValidConferenceRoom", "connect")

        if connectionStatus.get("isConnected") == True:
            if connectionStatus.get("roomName") == self.getBookingParamByName("roomName"):
                return VidyoError("alreadyConnected", "connect",
                                  _("It seems that the room has been already connected to the room, please refresh the page."))
            if not force:
                # if connect is not forced, give up
                return VidyoError("alreadyConnected", "connect",
                                  _("The room is already connected to some other endpoint. Please refresh the page."))
            else:
                # otherwise, replace whatever call is going on
                ExternalOperationsManager.execute(
                    self, "disconnectRoom", VidyoOperations.disconnectRoom,
                    self, connectionStatus, confRoomIp, confRoomPanoramaUser)

                retry = 15
                connected = True

                # wait for the current call to be disconnected
                while retry:
                    connectionStatus = self.connectionStatus()
                    time.sleep(2)
                    retry -= 1
                    if connectionStatus.get("isConnected") == False:
                        connected = False
                        break
                if connected:
                    return VidyoError("couldntStop", "connect",
                                      _("It seems like we haven't managed to stop "
                                        "the current call. Please refresh the page and try again."))
                else:
                    # give it some time before trying to connect
                    time.sleep(5)

        query = (getVidyoOptionValue("prefixConnect") + confRoomIp) if confRoomIp else confRoomPanoramaUser
        result = ExternalOperationsManager.execute(self, "connectRoom", VidyoOperations.connectRoom, self, self._roomId,
                                                   query)
        if isinstance(result, VidyoError):
            return result
        return self
开发者ID:marksteward,项目名称:indico,代码行数:51,代码来源:collaboration.py

示例3: run

    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)
开发者ID:pferreir,项目名称:indico-backup,代码行数:28,代码来源:tasks.py

示例4: _attach

    def _attach(self):
        """ Creates the Vidyo public room that will be associated to this CSBooking,
            based on the booking params.
            Returns None if success.
            Returns a VidyoError if there is a problem.
        """
        result = ExternalOperationsManager.execute(self, "attachRoom", VidyoOperations.attachRoom, self)
        if isinstance(result, VidyoError):
            return result

        else:
            self._roomId = str(result.roomID)
            self._extension = str(result.extension)
            self._url = str(result.RoomMode.roomURL)
            self.setOwnerAccount(str(result.ownerName), updateAvatar = True)
            recoveredDescription = VidyoTools.recoverVidyoDescription(result.description)
            if recoveredDescription:
                self._bookingParams["roomDescription"] = recoveredDescription
            else:
                self._warning = "invalidDescription"
            if bool(result.RoomMode.hasPIN):
                self.setPin(str(result.RoomMode.roomPIN))
            else:
                self.setPin("")
            if bool(result.RoomMode.hasModeratorPIN):
                self.setModeratorPin(str(result.RoomMode.moderatorPIN))
            else:
                self.setModeratorPin("")
            self._bookingParams["autoMute"] = self._getAutomute()
            self.setBookingOK()
            VidyoTools.getEventEndDateIndex().indexBooking(self)
            VidyoTools.getIndexByVidyoRoom().indexBooking(self)
开发者ID:marksteward,项目名称:indico,代码行数:32,代码来源:collaboration.py

示例5: _setModeratorPIN

    def _setModeratorPIN(self):
        result = ExternalOperationsManager.execute(self, "setModeratorPIN", VidyoOperations.setModeratorPIN, self)

        if isinstance(result, VidyoError):
            if result.getErrorType() == 'unknownRoom':
                self.setBookingNotPresent()
            raise result
开发者ID:marksteward,项目名称:indico,代码行数:7,代码来源:collaboration.py

示例6: _delete

    def _delete(self, fromDeleteOld = False, maxDate = None):
        """ Deletes the Vidyo Public room associated to this CSBooking, based on the roomId
            Returns None if success.
            If trying to delete a non existing room, there will be a message in self._warning
            so that it is caught by Main.js's postDelete function.
        """

        if self.isCreated():
            deleteRemote = unindexBooking = False

            if self.hasToBeDeleted(fromDeleteOld, maxDate):
                self.setCreated(False)
                deleteRemote = unindexBooking = True
            elif not fromDeleteOld:
                unindexBooking = True

            if deleteRemote:
                result = ExternalOperationsManager.execute(self, "deleteRoom", VidyoOperations.deleteRoom, self, self._roomId)

                if isinstance(result, VidyoError):
                    if result.getErrorType() == "unknownRoom" and result.getOperation() == "delete":
                        if not fromDeleteOld:
                            self._warning = "cannotDeleteNonExistant"
                    else:
                        return result

            if unindexBooking:
                VidyoTools.getEventEndDateIndex().unindexBooking(self)
                VidyoTools.getIndexByVidyoRoom().unindexBooking(self)
开发者ID:marksteward,项目名称:indico,代码行数:29,代码来源:collaboration.py

示例7: _automute_op

    def _automute_op(self, op):
        op_name = "{0}Automute".format(op)
        result = ExternalOperationsManager.execute(self, op_name, getattr(VidyoOperations, op_name), self)

        if isinstance(result, VidyoError):
            if result.getErrorType() == 'unknownRoom':
                self.setBookingNotPresent()
            raise automute_result
开发者ID:arturodr,项目名称:indico,代码行数:8,代码来源:collaboration.py

示例8: _performCall

 def _performCall(self, default=None):
     """
     Acts as an entry point for all derivative classes to use the
     ExternalOperationsManager for performing remote calls.
     """
     return ExternalOperationsManager.execute(self,
                                              "performCall",
                                              self._performExternalCall,
                                              default)
开发者ID:arturodr,项目名称:indico,代码行数:9,代码来源:implementation.py

示例9: _connect

 def _connect(self):
     self._checkStatus()
     if self.canBeConnected():
         confRoomIp = VidyoTools.getLinkRoomIp(self.getLinkObject())
         if confRoomIp == "":
             return VidyoError("noValidConferenceRoom", "connect")
         prefixConnect = getVidyoOptionValue("prefixConnect")
         result = ExternalOperationsManager.execute(self, "connectRoom", VidyoOperations.connectRoom, self, self._roomId, prefixConnect + confRoomIp)
         if isinstance(result, VidyoError):
             return result
         return self
开发者ID:aninhalacerda,项目名称:indico,代码行数:11,代码来源:collaboration.py

示例10: _delete

 def _delete(self):
     """
     This function will delete the specified video booking from the WebEx server
     """
     try:
         result = ExternalOperationsManager.execute(self, "deleteBooking", WebExOperations.deleteBooking, self)
         if isinstance(result, WebExError):
             return result
     except Exception,e:
         Logger.get('WebEx').error(
             """Could not delete booking with id %s of event with id %s, exception: %s""" %
             (self.getId(), self.getConference().getId(), str(e)))
         return WebExError( errorType = None, userMessage = _("""There was an error communicating with the WebEx server.  The request was unsuccessful.  Error information: %s""" % str(e)) )
开发者ID:pferreir,项目名称:indico-backup,代码行数:13,代码来源:collaboration.py

示例11: _create

 def _create(self):
     """ Creates a booking in the WebEx server if all conditions are met.
     """
     params = self.getBookingParams()
     self.setAccessPassword( params['accessPassword'] )
     self._duration = findDuration( self.getStartDate(), self.getEndDate() )
     try:
         result = ExternalOperationsManager.execute(self, "createBooking", WebExOperations.createBooking, self)
     except Exception,e:
         Logger.get('WebEx').error(
             """Could not create booking with id %s of event with id %s, exception: %s""" %
             (self.getId(), self.getConference().getId(), str(e)))
         return WebExError( errorType = None, userMessage = _("""There was an error communicating with the WebEx server.  The request was unsuccessful.  Error information: %s""" % str(e)) )
开发者ID:pferreir,项目名称:indico-backup,代码行数:13,代码来源:collaboration.py

示例12: _disconnect

 def _disconnect(self):
     self._checkStatus()
     confRoomIp = VidyoTools.getLinkRoomIp(self.getLinkObject())
     if confRoomIp == "":
         return VidyoError("noValidConferenceRoom", "disconnect")
     connectionStatus = self.connectionStatus()
     if isinstance(connectionStatus, VidyoError):
         return connectionStatus
     if not connectionStatus.get("isConnected"):
         return VidyoError("alreadyDisconnected", "disconnect", _("It seems that the room has been already disconnected, please refresh the page"))
     result = ExternalOperationsManager.execute(self, "disconnectRoom", VidyoOperations.disconnectRoom, self, confRoomIp, connectionStatus.get("service"))
     if isinstance(result, VidyoError):
         return result
     return self
开发者ID:iason-andr,项目名称:indico,代码行数:14,代码来源:collaboration.py

示例13: _modify

    def _modify(self, oldBookingParams):
        """ Modifies the Vidyo public room in the remote system
        """
        result = ExternalOperationsManager.execute(self, "modifyRoom", VidyoOperations.modifyRoom, self, oldBookingParams)
        if isinstance(result, VidyoError):
            if result.getErrorType() == 'unknownRoom':
                self.setBookingNotPresent()
            return result
        else:
            self._extension = str(result.extension)
            self._url = str(result.RoomMode.roomURL)
            self.setOwnerAccount(str(result.ownerName))
            self.setBookingOK()

            if oldBookingParams["owner"]["id"] != self.getOwnerObject().getId():
                self._sendNotificationToOldNewOwner(oldBookingParams["owner"])
开发者ID:aninhalacerda,项目名称:indico,代码行数:16,代码来源:collaboration.py

示例14: _create

    def _create(self):
        """ Creates the Vidyo public room that will be associated to this CSBooking,
            based on the booking params.
            After creation, it also retrieves some more information from the newly created room.
            Returns None if success.
            Returns a VidyoError if there is a problem, such as the name being duplicated.
        """
        result = ExternalOperationsManager.execute(self, "createRoom", VidyoOperations.createRoom, self)
        if isinstance(result, VidyoError):
            return result

        else:
            # Link to a Session or Contribution if requested
            self._roomId = str(result.roomID)  # we need to convert values read to str or there will be a ZODB exception
            self._extension = str(result.extension)
            self._url = str(result.RoomMode.roomURL)
            self.setOwnerAccount(str(result.ownerName))
            self.setBookingOK()
            VidyoTools.getEventEndDateIndex().indexBooking(self)
开发者ID:bubbas,项目名称:indico,代码行数:19,代码来源:collaboration.py

示例15: run

    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)
开发者ID:Ictp,项目名称:indico,代码行数:21,代码来源:tasks.py


注:本文中的MaKaC.common.externalOperationsManager.ExternalOperationsManager类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。