本文整理匯總了Python中fedocal.fedocallib.model.Meeting.get_by_date_at_location方法的典型用法代碼示例。如果您正苦於以下問題:Python Meeting.get_by_date_at_location方法的具體用法?Python Meeting.get_by_date_at_location怎麽用?Python Meeting.get_by_date_at_location使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類fedocal.fedocallib.model.Meeting
的用法示例。
在下文中一共展示了Meeting.get_by_date_at_location方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: get_by_date_at_location
# 需要導入模塊: from fedocal.fedocallib.model import Meeting [as 別名]
# 或者: from fedocal.fedocallib.model.Meeting import get_by_date_at_location [as 別名]
def get_by_date_at_location(
session, location, start_date, end_date, tzone='UTC'):
""" Returns all the meetings in a given time period at a given location.
Recursive meetings are expanded as if each was a single meeting.
:arg session: the database session to use
:arg calendarobj: the calendar (object) of interest.
:arg start_date: a Date object representing the beginning of the
period
:arg start_date: a Date object representing the ending of the period
:kwarg tzone: the timezone in which the meetings should be displayed
defaults to UTC.
"""
meetings_utc = Meeting.get_by_date_at_location(
session, location, start_date, end_date, no_recursive=True)
meetings_utc.extend(Meeting.get_regular_meeting_by_date_at_location(
session, location, start_date, end_date))
meetings = list(set(meetings_utc))
if tzone:
meetings = [
convert_meeting_timezone(
meeting, meeting.meeting_timezone, tzone)
for meeting in meetings
]
meetings.sort(key=operator.attrgetter('meeting_date'))
return meetings
示例2: get_full_day_meetings
# 需要導入模塊: from fedocal.fedocallib.model import Meeting [as 別名]
# 或者: from fedocal.fedocallib.model.Meeting import get_by_date_at_location [as 別名]
def get_full_day_meetings(self):
""" Retrieve all the full day meetings for this week. """
if self.calendar:
self.full_day_meetings = Meeting.get_by_date(
self.session, self.calendar, self.start_date,
self.stop_date, full_day=True)
meetings = Meeting.get_active_regular_meeting(
self.session, self.calendar,
self.start_date, self.stop_date, full_day=True)
else:
self.full_day_meetings = Meeting.get_by_date_at_location(
self.session, self.location, self.start_date,
self.stop_date, full_day=True)
meetings = Meeting.get_active_regular_meeting_at_location(
self.session, self.location,
self.start_date, self.stop_date, full_day=True)
for meeting in meetings:
for delta in range(0, 7):
day = self.start_date + timedelta(days=delta)
if ((meeting.meeting_date - day).days %
meeting.recursion_frequency) == 0:
if meeting not in self.full_day_meetings:
self.full_day_meetings.append(meeting)
# Expand the regular meetings so that they appear as meeting
self.full_day_meetings = Meeting.expand_regular_meetings(
self.full_day_meetings, end_date=self.stop_date,
start_date=self.start_date)
# Sort the meetings by date, time_start and name
self.full_day_meetings.sort(key=operator.attrgetter(
'meeting_date', 'meeting_time_start', 'meeting_name'))