{# -*- 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 video macro #} {% macro mk_video(video) %} {% if video|lower != 'videotba' %} {% endif %} {% endmacro %} {# make desc details button macro #} {% macro mk_desc_details_btn(disc_list) %} {% if disc_list[0]|lower != 'desctba' %} {% endif %} {% endmacro %} {% macro mk_desc(disc_list) %} {% if disc_list[0]|lower != 'desctba' %}
{{ desc(disc_list) }}
{% 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) %} {% if session|trim not in ['', 'st-from-ts'] %}

{{ session }}

{% endif %} {% 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']) }} {{ mk_video(session_info['video']) }} {% call mk_desc_details_btn(session_info['desc']) %} day-{{ day_index }}-timeslot-{{ timeslot_index }}-session-{{ loop.index }}-collapse {% endcall %}
{% call mk_desc(session_info['desc']) %} day-{{ day_index }}-timeslot-{{ timeslot_index }}-session-{{ loop.index }}-collapse {% endcall %}
{% 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 2019 template start #} {% for day, timeslots in lp_dict.iteritems() %} {# day start #}
{{ mk_day_header(day) }} {{ populate_timeslots(timeslots, loop.index) }}
{% endfor %} {# day loop end #}