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()
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()
def getRoomsByFreeText(): Test.dalManager.connect() rooms = RoomBase.getRooms( freeText = 'meyrin vrvs' ) # 78828 assert( len( rooms ) == 12 ) Test.dalManager.disconnect()
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
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
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()))
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()
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()
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()
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()
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()))