VC/Vidyo: retrieve right room

This commit is contained in:
Ruben Gaspar 2016-09-14 19:11:24 +02:00 committed by Alejandro Avilés
parent e91120a18f
commit 9dfa647223
2 changed files with 19 additions and 2 deletions

View File

@ -77,11 +77,26 @@ class AdminClient(ClientBase):
@raises_api_error
def find_room(self, extension):
from indico_vc_vidyo.plugin import VidyoPlugin
filter_ = self.client.factory.create('Filter')
filter_.query = extension
filter_.limit = 40
filter_.dir = 'DESC'
return self.soap.getRooms(filter_).room
counter = 0
while True:
filter_.start = counter * filter_.limit
response = self.soap.getRooms(filter_)
if not response.total:
return None
for room in response.room:
if int(room.extension) == int(extension):
VidyoPlugin.logger.debug('Room: %s has been found.', room)
return room
else:
VidyoPlugin.logger.debug('Dismissing room extension %s', room.extension)
counter += 1
@raises_api_error
def get_room(self, vidyo_id):

View File

@ -203,8 +203,10 @@ class VidyoPlugin(VCPluginMixin, IndicoPlugin):
else:
# get room back, in order to fetch Vidyo-set parameters
created_room = client.find_room(extension)[0]
created_room = client.find_room(extension)
if not created_room:
raise VCRoomNotFoundError(_("Could not find newly created room in Vidyo"))
vc_room.data.update({
'vidyo_id': unicode(created_room.roomID),
'url': created_room.RoomMode.roomURL,