| |
@@ -54,7 +54,7 @@
|
| |
|
| |
|
| |
footer_template = templating.environment.get_template('templates/meeting_footer.html')
|
| |
- chrome = panel(title = 'Meetings', key='meetings', footer_template=footer_template)
|
| |
+ chrome = panel(title='Meetings', footer_template=footer_template)
|
| |
templating.environment.filters['humanize'] = lambda d: arrow.get(d).humanize()
|
| |
template = templating.environment.get_template('templates/meetings.html')
|
| |
position = 'both'
|
| |
@@ -64,7 +64,11 @@
|
| |
default=None,
|
| |
validator=validators.required,
|
| |
help="A fedocal calendar.")
|
| |
- def data(session, widget, calendar):
|
| |
+ @argument(name="n_meetings",
|
| |
+ default=4,
|
| |
+ validator=validators.integer,
|
| |
+ help="The number of meetings to display.")
|
| |
+ def data(session, widget, calendar, n_meetings=4):
|
| |
base = 'https://apps.fedoraproject.org/calendar/api/meetings/?calendar=%s'
|
| |
url = base % calendar
|
| |
response = requests.get(url).json()
|
| |
@@ -82,8 +86,13 @@
|
| |
if not selected:
|
| |
continue
|
| |
meetings[title] = selected
|
| |
+ if len(meetings) >= n_meetings:
|
| |
+ break
|
| |
|
| |
- return dict(meetings=meetings)
|
| |
+ return dict(
|
| |
+ calendar=calendar,
|
| |
+ meetings=meetings,
|
| |
+ )
|
| |
|
| |
|
| |
@hint(ubiquitous=True)
|
| |