{# -*- mode: jinja2; -*- #} {# SPDX-License-Identifier: CC0-1.0 This file is part of lpschedule-generator. #} {# macros start #} {# make speakers macro #} {% macro mk_speakers(speakers) %} {% if speakers[0]|lower != 'speakertba' %} {% for speaker in speakers %} {% if loop.last %} {{ speaker }} {% else %} {{ speaker }}, {% endif %} {% endfor %} {% endif %} {% endmacro %} {# make room macro #} {% macro mk_room(room) %} {% if room|lower != 'roomtba' %} {{ room }} {% endif %} {% endmacro %} {# make day header macro #} {% macro mk_day_header(day, collapse_area) %} {% if day|trim != '' %}

{{ day }}

{% endif %} {% endmacro %} {# make timeslot header macro #} {% macro mk_timeslot_header(timeslot, collapse, collapse_area='') %} {% if timeslot|trim != '' %}

{{ timeslot }}

{% endif %} {% endmacro %} {# make session header macro #} {% macro mk_session_header(session) %}

{{ session }}

{% endmacro %} {# desc macro #} {% macro desc(disc_list) %} {% for desc_p in disc_list %}

{{ desc_p }}

{% endfor %} {% endmacro %} {# populate sessions macro #} {% macro populate_sessions(sessions, day_index, timeslot_index) %} {% for session, session_info in sessions.iteritems() %} {# session start #}
{{ mk_session_header(session) }} {{ mk_speakers(session_info['speakers']) }}

{{ mk_room(session_info['room']) }} {% if session_info['desc'][0]|lower == 'desctba' %}

{% else %}

{{ desc(session_info['desc']) }}
{% endif %}
{% endfor %} {# session end #} {% endmacro %} {# populate timeslots macro #} {% macro populate_timeslots(timeslots, day_index) %} {% for timeslot, sessions in timeslots.iteritems() %} {# timeslot start #}
{{ mk_timeslot_header(timeslot) }} {% if sessions|length > 0 %} {{ populate_sessions(sessions, day_index, loop.index) }} {% endif %}
{% endfor %} {# timeslot start #} {% endmacro %} {# lp schedule 2016 template start #} {% for day, timeslots in lp_dict.iteritems() %} {# day start #}
{{ mk_day_header(day) }} {{ populate_timeslots(timeslots, loop.index) }}
{% endfor %} {# day loop end #}