Skip to content

Commit ec86817

Browse files
committed
Merged [3240] from adam@nostrum.com:
Added csv output format for meeting agenda information, to assist external applications (e.g., Android app, iPhone app) in harvesting and displaying meeting agenda info. - Legacy-Id: 3253 Note: SVN reference [3240] has been migrated to Git commit 1a6f720
2 parents 1ef0484 + 1a6f720 commit ec86817

3 files changed

Lines changed: 18 additions & 0 deletions

File tree

ietf/meeting/urls.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
(r'^agenda.txt$', views.text_agenda),
1111
(r'^agenda/agenda.ics$', views.ical_agenda),
1212
(r'^agenda.ics$', views.ical_agenda),
13+
(r'^agenda.csv$', views.csv_agenda),
1314
(r'^agenda/week-view.html$', views.week_view),
1415
(r'^week-view.html$', views.week_view),
1516
(r'^(?P<num>\d+)/agenda(?:.html)?/?$', views.html_agenda),
1617
(r'^(?P<num>\d+)/agenda.txt$', views.text_agenda),
1718
(r'^(?P<num>\d+)/agenda.ics$', views.ical_agenda),
19+
(r'^(?P<num>\d+)/agenda.csv$', views.csv_agenda),
1820
(r'^(?P<num>\d+)/week-view.html$', views.week_view),
1921
(r'^(?P<num>\d+)/agenda/(?P<session>[A-Za-z0-9-]+)-drafts.pdf$', views.session_draft_pdf),
2022
(r'^(?P<num>\d+)/agenda/(?P<session>[A-Za-z0-9-]+)-drafts.tgz$', views.session_draft_tarfile),

ietf/meeting/views.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,3 +351,14 @@ def ical_agenda(request, num=None):
351351
"plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda,
352352
"now":now},
353353
RequestContext(request)), mimetype="text/calendar")
354+
355+
def csv_agenda(request, num=None):
356+
timeslots, update, meeting, venue, ads, plenaryw_agenda, plenaryt_agenda = agenda_info(num)
357+
wgs = IETFWG.objects.filter(status=IETFWG.ACTIVE).order_by('group_acronym__acronym')
358+
rgs = IRTF.objects.all().order_by('acronym')
359+
areas = Area.objects.filter(status=Area.ACTIVE).order_by('area_acronym__acronym')
360+
361+
return HttpResponse(render_to_string("meeting/agenda.csv",
362+
{"timeslots":timeslots, "update":update, "meeting":meeting, "venue":venue, "ads":ads,
363+
"plenaryw_agenda":plenaryw_agenda, "plenaryt_agenda":plenaryt_agenda, },
364+
RequestContext(request)), mimetype="text/csv")

ietf/templates/meeting/agenda.csv

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{% load humanize %}{% autoescape off %}{% load ietf_filters %}"Date","Start","End","Session","Room","Area","Acronym","Type","Description","Session ID","Agenda","Slides"
2+
{% for slot in timeslots %}{% ifchanged %}{% if slot.reg_info %}"{{ slot.meeting_date|date:"Y-m-d" }}","{{ slot.registration.time_desc|slice:":4" }}","{{ slot.registration.time_desc|slice:"5:9" }}","Registration","{{ venue.reg_area_name }}","","","","{{ slot.registration.name }}","r{{slot.day_id}}","",""
3+
{% endif %}{% endifchanged %}{% if slot.session_name %}{% if slot.break_info %}"{{ slot.meeting_date|date:"Y-m-d" }}","{{ slot.break_info.time_desc|slice:":4" }}","{{ slot.break_info.time_desc|slice:"5:9" }}","Break","{{ venue.break_area_name }}","","","","{{ slot.break_info.name }}","b{{slot.time_id}}","",""
4+
{% endif %}{% endif %}{% for session in slot.sessions_by_area %}"{{ slot.meeting_date|date:"Y-m-d" }}","{{ slot.time_desc|slice:":4" }}","{{ slot.time_desc|slice:"5:9" }}","{{ slot.session_name }}","{{ session.info.room_id.room_name }}","{{ session.info.area|upper }}","{{ session.info.acronym }}","{{ session.info.group_type_str }}","{{ session.info.acronym_name }}","{{session.info.session_id}}-{{session.info.ordinality}}","{% if session.info.agenda_file %}http://datatracker.ietf.org/meeting/{{ session.info.agenda_file }}{% endif %}","{% if session.info.slides %}{% for slide in session.info.slides %}http://www.ietf.org/proceedings/{{ slide.file_loc }}{% if not forloop.last %}|{% endif %}{% endfor %}{% endif %}"
5+
{% endfor %}{% endfor %}{% endautoescape %}

0 commit comments

Comments
 (0)