コード例 #1
0
ファイル: room.py プロジェクト: aninhalacerda/indico
    def getRoomsByExample():
        Test.dalManager.connect()

        # By ID
        room = RoomBase.getRooms( roomID = 176 )
        assert( room.name == '4-1-021' )

        # By other attributes
        roomEx = Factory.newRoom()
        roomEx.site = 'prevessin'
        roomEx.comments = 'res'
        rooms = RoomBase.getRooms( roomExample = roomEx )
        assert( len( rooms ) == 8 ) # 20

        roomEx = Factory.newRoom()
        roomEx.capacity = 20
        rooms = RoomBase.getRooms( roomExample = roomEx )
        assert( len( rooms ) == 26 )

        roomEx = Factory.newRoom()
        roomEx.isReservable = True
        roomEx.setEquipment( [ 'Video projector', 'Wireless' ] )
        rooms = RoomBase.getRooms( roomExample = roomEx )
        assert( len( rooms ) == 33 )

        Test.dalManager.disconnect()
コード例 #2
0
    def getRoomsByExample():
        Test.dalManager.connect()

        # By ID
        room = RoomBase.getRooms( roomID = 176 )
        assert( room.name == '4-1-021' )

        # By other attributes
        roomEx = Factory.newRoom()
        roomEx.site = 'prevessin'
        roomEx.comments = 'res'
        rooms = RoomBase.getRooms( roomExample = roomEx )
        assert( len( rooms ) == 8 ) # 20

        roomEx = Factory.newRoom()
        roomEx.capacity = 20
        rooms = RoomBase.getRooms( roomExample = roomEx )
        assert( len( rooms ) == 26 )

        roomEx = Factory.newRoom()
        roomEx.isReservable = True
        roomEx.setEquipment( [ 'Video projector', 'Wireless' ] )
        rooms = RoomBase.getRooms( roomExample = roomEx )
        assert( len( rooms ) == 33 )

        Test.dalManager.disconnect()
コード例 #3
0
ファイル: room.py プロジェクト: jt1/indico
    def getRoomsByExample():
        Test.dalManager.connect()

        # By ID
        room = RoomBase.getRooms(roomID=176)
        assert room.name == "4-1-021"

        # By other attributes
        roomEx = Factory.newRoom()
        roomEx.site = "prevessin"
        roomEx.comments = "res"
        rooms = RoomBase.getRooms(roomExample=roomEx)
        assert len(rooms) == 8  # 20

        roomEx = Factory.newRoom()
        roomEx.capacity = 20
        rooms = RoomBase.getRooms(roomExample=roomEx)
        assert len(rooms) == 26

        roomEx = Factory.newRoom()
        roomEx.isReservable = True
        roomEx.setEquipment(["Video projector", "Wireless"])
        rooms = RoomBase.getRooms(roomExample=roomEx)
        assert len(rooms) == 33

        Test.dalManager.disconnect()
コード例 #4
0
ファイル: room.py プロジェクト: aninhalacerda/indico
    def getRoomsByFreeText():
        Test.dalManager.connect()

        rooms = RoomBase.getRooms( freeText = 'meyrin vrvs' ) # 78828
        assert( len( rooms ) == 12 )

        Test.dalManager.disconnect()
コード例 #5
0
    def getRoomsByFreeText():
        Test.dalManager.connect()

        rooms = RoomBase.getRooms( freeText = 'meyrin vrvs' ) # 78828
        assert( len( rooms ) == 12 )

        Test.dalManager.disconnect()
コード例 #6
0
def QueryConference(conference, bookingId):
    booking = conference.getBookingById(bookingId)
    if booking == None:
        raise ServiceError("Invalid hermes id.")

    #mcuConference = McuApi.first(McuApi.SelectConferences(conferenceName = booking.getHermesName()))
    #if mcuConference == None:
    #raise ServiceError("Conference no longer exists in MCU.", conferenceName)

    roomName = None
    roomAddress = None
    conferenceRoom = conference.getRoom()
    if conferenceRoom:
        roomName = conferenceRoom.getName()
        try:
            DALManagerCERN.connect()
            room = RoomBase.getRooms(roomName=roomName)
            if room:
                roomAddress = room.customAtts["H323 IP"]
        finally:
            DALManagerCERN.disconnect()

    properties = {
        "mcu": McuApi.mcuAddress,
        "roomName": roomName,
        "roomAddress": roomAddress
    }
    return booking, properties
コード例 #7
0
ファイル: Api.py プロジェクト: davidmorrison/indico
def QueryConference(conference, bookingId):
    booking = conference.getBookingById(bookingId)
    if booking == None:
        raise ServiceError("Invalid hermes id.")
    
    #mcuConference = McuApi.first(McuApi.SelectConferences(conferenceName = booking.getHermesName()))
    #if mcuConference == None:
        #raise ServiceError("Conference no longer exists in MCU.", conferenceName)

    roomName = None
    roomAddress = None
    conferenceRoom = conference.getRoom()
    if conferenceRoom:
        roomName = conferenceRoom.getName()
        try:
            DALManagerCERN.connect()
            room = RoomBase.getRooms(roomName = roomName)
            if room:
                roomAddress = room.customAtts["H323 IP"]
        finally:
            DALManagerCERN.disconnect()

    properties = {
        "mcu": McuApi.mcuAddress,
        "roomName": roomName,
        "roomAddress": roomAddress
    }
    return booking, properties
コード例 #8
0
ファイル: notifications.py プロジェクト: sylvestre/indico
def _getRoomSpecificNotificationBeforeDays():
    """Get the resvStartNotificationBefore for all rooms that uses notifications. """
    def _filter(r):
        return (r.resvStartNotification or r.resvEndNotification
                ) and r.resvStartNotificationBefore is not None

    return set(r.resvStartNotificationBefore
               for r in ifilter(_filter, RoomBase.getRooms()))
コード例 #9
0
ファイル: xmlGateway.py プロジェクト: Ictp/indico
    def _process( self ):
        from MaKaC.rb_room import RoomBase
        from datetime import datetime,timedelta
        from MaKaC.rb_reservation import ReservationBase

        startdt = enddt = datetime.now()
        today = startdt.date()
        startdt.replace( hour = 0, minute = 0)
        enddt.replace( hour = 23, minute = 59)

        self._responseUtil.content_type = 'text/xml'
        XG = xmlGen.XMLGen()
        XG.openTag("response")

        rooms = RoomBase.getRooms()
        nbRooms = len(rooms)
        nbPublicRooms = nbPrivateRooms = nbSemiPrivateRooms = 0
        for r in rooms:
            if not r.isReservable:
                nbPrivateRooms += 1
            elif not r.resvsNeedConfirmation:
                nbPublicRooms += 1
            else:
                nbSemiPrivateRooms += 1

        self._createIndicator(XG, "total", "total number of managed rooms", nbRooms)
        self._createIndicator(XG, "public", "number of public rooms", nbPublicRooms)
        self._createIndicator(XG, "semiprivate", "number of semi-private rooms", nbSemiPrivateRooms)
        self._createIndicator(XG, "private", "number of private rooms", nbPrivateRooms)

        resvex = ReservationBase()
        resvex.isConfirmed = True
        resvex.isCancelled = False
        nbResvs = len(ReservationBase.getReservations( resvExample = resvex, days = [ startdt.date() ] ))
        resvex.usesAVC = True
        nbAVResvs = len(ReservationBase.getReservations( resvExample = resvex, days = [ startdt.date() ] ))
        resvex.needsAVCSupport = True
        resvex.needsAssistance = False
        nbAVResvsWithSupport = len(ReservationBase.getReservations( resvExample = resvex, days = [ startdt.date() ] ))

        self._createIndicator(XG, "nbbookings", "total number of bookings for today", nbResvs)
        self._createIndicator(XG, "nbvc", "number of remote collaboration bookings (video or phone conference)", nbAVResvs)
        self._createIndicator(XG, "nbvcsupport", "number of remote collaboration bookings with planned IT support", nbAVResvsWithSupport)

        XG.closeTag("response")
        return XG.getXml()
コード例 #10
0
    def _process( self ):
        from MaKaC.rb_room import RoomBase
        from datetime import datetime,timedelta
        from MaKaC.rb_reservation import ReservationBase

        startdt = enddt = datetime.now()
        today = startdt.date()
        startdt.replace( hour = 0, minute = 0)
        enddt.replace( hour = 23, minute = 59)

        self._req.content_type = "text/xml"
        XG = xmlGen.XMLGen()
        XG.openTag("response")

        rooms = RoomBase.getRooms()
        nbRooms = len(rooms)
        nbPublicRooms = nbPrivateRooms = nbSemiPrivateRooms = 0
        for r in rooms:
            if not r.isReservable:
                nbPrivateRooms += 1
            elif not r.resvsNeedConfirmation:
                nbPublicRooms += 1
            else:
                nbSemiPrivateRooms += 1

        self._createIndicator(XG, "total", "total number of managed rooms", nbRooms)
        self._createIndicator(XG, "public", "number of public rooms", nbPublicRooms)
        self._createIndicator(XG, "semiprivate", "number of semi-private rooms", nbSemiPrivateRooms)
        self._createIndicator(XG, "private", "number of private rooms", nbPrivateRooms)

        resvex = ReservationBase()
        resvex.isConfirmed = True
        resvex.isCancelled = False
        nbResvs = len(ReservationBase.getReservations( resvExample = resvex, days = [ startdt.date() ] ))
        resvex.usesAVC = True
        nbAVResvs = len(ReservationBase.getReservations( resvExample = resvex, days = [ startdt.date() ] ))
        resvex.needsAVCSupport = True
        resvex.needsAssistance = False
        nbAVResvsWithSupport = len(ReservationBase.getReservations( resvExample = resvex, days = [ startdt.date() ] ))

        self._createIndicator(XG, "nbbookings", "total number of bookings for today", nbResvs)
        self._createIndicator(XG, "nbvc", "number of remote collaboration bookings (video or phone conference)", nbAVResvs)
        self._createIndicator(XG, "nbvcsupport", "number of remote collaboration bookings with planned IT support", nbAVResvsWithSupport)

        XG.closeTag("response")
        return XG.getXml()
コード例 #11
0
ファイル: room.py プロジェクト: jt1/indico
    def getAvailableRooms():
        Test.dalManager.connect()

        from datetime import datetime

        roomEx = Factory.newRoom()
        roomEx.isActive = True
        roomEx.isReservable = True

        resvEx = Factory.newReservation()
        resvEx.startDT = datetime(2006, 12, 01, 10)
        resvEx.endDT = datetime(2006, 12, 14, 15)
        resvEx.repeatability = 0  # Daily

        rooms = RoomBase.getRooms(roomExample=roomEx, resvExample=resvEx, available=True)

        for room in rooms:
            print "\n=======================================\n"
            print room

        Test.dalManager.disconnect()
コード例 #12
0
    def getAvailableRooms():
        Test.dalManager.connect()

        from datetime import datetime

        roomEx = Factory.newRoom()
        roomEx.isActive = True
        roomEx.isReservable = True

        resvEx = Factory.newReservation()
        resvEx.startDT = datetime( 2006, 12, 01, 10 )
        resvEx.endDT = datetime( 2006, 12, 14, 15 )
        resvEx.repeatability = 0 # Daily

        rooms = RoomBase.getRooms( \
            roomExample = roomEx,
            resvExample = resvEx,
            available = True )

        for room in rooms:
            print "\n=======================================\n"
            print room

        Test.dalManager.disconnect()
コード例 #13
0
ファイル: notifications.py プロジェクト: Ictp/indico
def _getRoomSpecificNotificationBeforeDays():
    """Get the resvStartNotificationBefore for all rooms that uses notifications. """
    def _filter(r):
        return (r.resvStartNotification or r.resvEndNotification) and r.resvStartNotificationBefore is not None
    return set(r.resvStartNotificationBefore for r in ifilter(_filter, RoomBase.getRooms()))