notified = models.BooleanField(_('notified'), default=False)
notified_live = models.BooleanField("Notifié live", default=False)
imported = models.BooleanField(_('imported'), default=False)
+ s3_exported = models.BooleanField(_('S3 exported'), default=False)
test = models.BooleanField(_('test'), default=False)
@property
max_length=255,
null=True,
blank=False)
+ poster_file_s3 = models.FileField(
+ _('poster S3 file'),
+ upload_to='items/%Y/%m/%d',
+ max_length=1024,
+ null=True,
+ blank=True,
+ storage=media_storage,
+ )
duration = models.DurationField(
_("duration"),
blank=True,
self.set_duration()
super(Media, self).save(**kwargs)
- def poster_url(self, geometry='640'):
- url = ''
- if self.poster_file:
- url = sorl_default.backend.get_thumbnail(
- self.poster_file, geometry).url
- return url
+ def poster_url(self):
+ poster_file = self.get_poster_file()
+ if poster_file:
+ return poster_file.url
+ return ""
def get_file(self):
if self.file_s3:
else:
return None
+ def get_poster_file(self):
+ if self.poster_file_s3:
+ return self.poster_file_s3
+ elif self.poster_file:
+ return self.poster_file
+ else:
+ return None
+
def set_duration(self):
result = subprocess.run(["ffprobe", "-v", "error", "-show_entries",
"format=duration", "-of",
{% endblock extra_javascript %}
-{% comment %}
-{% block module-action %}
- {% if media.file and media.conference.status == 3 or user.is_superuser or user.is_staff %}
- {% if not "video" in media.mime_type or request.user_agent.os.family == 'iOS' %}
- <div class="module_action">
- <a href="{{ MEDIA_URL }}{{ media.item.file }}" class="component_icon button" id="action_red" download><img src="/static/teleforma/images/download_media.png" alt="" style="vertical-align:middle" /> {% trans "Download" %}</a>
- </div>
- {% endif %}
- {% endif %}
-{% endblock module-action %}
-{% endcomment %}
-
{% block course %}
<div class="course_media">
width="100%"
height="auto"
data-setup='{"playbackRates": [1, 1.25, 1.5, 2]}'
- {% if media.poster_file %}{% thumbnail media.poster_file '640' as im %}poster="{{ im.url }}"{% endthumbnail %}{% endif %}
+ {% if media.poster_url %}
+ {% thumbnail media.poster_url '640' as im %}
+ poster="{{ im.url }}"
+ {% endthumbnail %}
+ {% endif %}
>
<source src="{% url 'teleforma-media-stream' period.id media.id %}" type="{{ media.mime_type }}" />
<p class="vjs-no-js">
<div style="margin-top:1em;">
{% if media.poster_file %}
- {% thumbnail media.poster_file "300" as im %}
+ {% thumbnail media.poster_url "300" as im %}
<img src="{{ im.url }}" width="300px" alt="preview" />
{% endthumbnail %}
<td {% if forloop.first %}class="border-top"{% endif %} width="230px" style="vertical-align:middle">
<a href="{% url 'teleforma-media-detail' period.id conference.video.id %}" title="{% trans "Play" %}">
{% if conference.video.poster_file %}
- {% thumbnail conference.video.poster_file "168x96" as im %}
+ {% thumbnail conference.video.poster_url "168x96" as im %}
<div style="background: no-repeat url('{{ im.url }}') 0 1px; background-size: 100%; background-color: #dfdfdf;">
<img src="/static/teleforma/images/play_168.png" width="100%" alt="{% trans 'Click here' %}" />
</div>
context['mime_type'] = media.mime_type
context['course'] = course
context['type'] = course_type
+
# context['notes'] = media.notes.all().filter(author=self.request.user)
content_type = ContentType.objects.get(
app_label="teleforma", model="course")