本文整理汇总了Python中MaKaC.plugins.RoomBooking.default.dalManager.DALManager.getRoot方法的典型用法代码示例。如果您正苦于以下问题:Python DALManager.getRoot方法的具体用法?Python DALManager.getRoot怎么用?Python DALManager.getRoot使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MaKaC.plugins.RoomBooking.default.dalManager.DALManager
的用法示例。
在下文中一共展示了DALManager.getRoot方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: rebuildRoomReservationsIndex
# 需要导入模块: from MaKaC.plugins.RoomBooking.default.dalManager import DALManager [as 别名]
# 或者: from MaKaC.plugins.RoomBooking.default.dalManager.DALManager import getRoot [as 别名]
def rebuildRoomReservationsIndex():
from indico.core.db import DBMgr
from MaKaC.rb_location import CrossLocationDB
from MaKaC.rb_room import RoomBase
from MaKaC.plugins.RoomBooking.default.dalManager import DALManager
from BTrees.OOBTree import OOBTree
DBMgr.getInstance().startRequest()
CrossLocationDB.connect()
root = DALManager.getRoot()
resvEx = ReservationBase()
resvEx.isConfirmed = None
allResvs = CrossLocationQueries.getReservations(resvExample=resvEx)
print "There are " + str(len(allResvs)) + " resvs and pre-resvs to index..."
c = 0
root[_ROOM_RESERVATIONS_INDEX] = OOBTree()
print "Room => Reservations Index branch created"
for resv in allResvs:
roomReservationsIndexBTree = root[_ROOM_RESERVATIONS_INDEX]
resvs = roomReservationsIndexBTree.get(resv.room.id)
if resvs == None:
resvs = [] # New list of reservations for this room
roomReservationsIndexBTree.insert(resv.room.id, resvs)
resvs.append(resv)
roomReservationsIndexBTree[resv.room.id] = resvs
c += 1
if c % 100 == 0:
print c
CrossLocationDB.commit()
CrossLocationDB.disconnect()
DBMgr.getInstance().endRequest()