url = url.decode()
else:
continue
- if not recording['metadata'].get('periodid'):
- continue
+
start = int(recording['startTime'].decode()[:-3])
end = int(recording['endTime'].decode()[:-3])
data = {
'url': url,
'preview': recording.get('playback', {}).get('format', {}).get('preview', {}).get('images', {}).get('image', [])[0].decode(),
'state': recording['state'].decode(),
- 'period_id': int(recording['metadata'].get('periodid').decode()),
- 'course_id': int(recording['metadata'].get('courseid').decode()),
- 'slot': WebclassSlot.objects.get(pk=int(recording['metadata'].get('slotid').decode()))
}
+ if recording['metadata'].get('periodid'):
+ data.update({
+ 'period_id': int(recording['metadata'].get('periodid').decode()),
+ 'course_id': int(recording['metadata'].get('courseid').decode()),
+ 'slot': WebclassSlot.objects.get(pk=int(recording['metadata'].get('slotid').decode()))
+ })
+
data['duration'] = data['end'] - data['start']
records.append(data)
return records
<td {% if forloop.first %}class="border-top" {% endif %} style="padding-left: 1em;">
<div>
<dl class="listing" style="font-size: 1.2em;">
- <dt>{% trans "Professor" %}</dt>
- <dd><a href="{% url telemeta-profile-detail record.slot.professor.user.username %}"
- target="_blank">{{ record.slot.professor }}</a></dd>
+ {% if record.slot %}
+ <dt>{% trans "Professor" %}</dt>
+ <dd><a href="{% url telemeta-profile-detail record.slot.professor.user.username %}"
+ target="_blank">{{ record.slot.professor }}</a></dd>
+ {% endif %}
<dt>{% trans "Begin" %}</dt>
<dd>{{ record.start_date }}</dd>
</dl>