本文整理汇总了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'))