audio_formats = ['ogg', 'mp3']
video_formats = ['webm', 'mp4']
image_formats = ['png', 'jpg']
- media_rank_dict = {'bis': 2, 'ter': 3, 'quarter': 4}
+ media_rank_dict = {'bis': 2, 'ter': 3, 'quarter': 4, 'quinquies': 5, 'quater': 4}
def cleanup(self):
medias = MediaPackage.objects.all()
for m in media.audio.all():
m.delete()
media.delete()
+ related = MediaItemRelated.objects.all()
+ for r in related:
+ r.delete()
def handle(self, *args, **options):
organization_name = args[0]
organization = Organization.objects.get(name=organization_name)
self.media_dir = settings.MEDIA_ROOT + organization.name
+ print self.media_dir
file_list = []
i = 1
self.cleanup()
- for root, dirs, files in os.walk(self.media_dir):
+ for root, dirs, files in os.walk(self.media_dir, followlinks=True):
for filename in files:
name = os.path.splitext(filename)[0]
ext = os.path.splitext(filename)[1][1:]
+ print filename
+ root_list = root.split(os.sep)
- if ext in self.video_formats or ext in self.audio_formats:
- root_list = root.split(os.sep)
-
- # seminar_rank <= 9
+ if (ext in self.video_formats or ext in self.audio_formats) \
+ and not 'preview' in root_list and not 'preview' in filename:
+ # seminar_rank <= 9
seminar_rank = int(root_list[-1][0])
if len(root_list[-1]) != 1:
- media_rank = media_rank_dict(root_list[-1][1:])
+ media_rank = self.media_rank_dict[root_list[-1][1:]]
else:
media_rank = 1
course_code = root_list[-2]
- department_name = root_list[-3]
- organization_name = root_list[-4]
+ master_dir = root_list[-3]
+ department_name = root_list[-4]
+ organization_name = root_list[-5]
- dir = os.sep.join(root_list[-4:])
+ dir = os.sep.join(root_list[-5:])
path = dir + os.sep + filename
seminar_title = '_'.join([course_code, str(seminar_rank)])
department, c = Department.objects.get_or_create(name=department_name,
organization=organization)
seminar, c = Seminar.objects.get_or_create(course=course, rank=seminar_rank)
-
+ print str(seminar.id)
exist = False
media_packages = seminar.media.all()
print path
decoder = timeside.decoder.FileDecoder(root+os.sep+filename)
decoder.setup()
- time.sleep(0.1)
+ time.sleep(0.5)
value = str(datetime.timedelta(0,decoder.input_duration))
t = value.split(':')
t[2] = t[2].split('.')[0]
related.title = 'preview'
related.set_mime_type()
related.save()
+ print 'thumb added'
break
media = Media(item=item, course=course, type=ext)
media.set_mime_type()
+ media.is_published = True
media.save()
media_package_exist = False
if ext in self.audio_formats:
media_package.audio.add(media)
+ media_package.is_published = True
+ media_package.save()
logger.logger.info(path)
i += 1
<div class="audio">
<audio controls preload="auto">
- {% for media in media_package.audio.all %}
+ {% for media in media_package.audio.all|free_first %}
<source src="{{ MEDIA_URL }}{{ media.item.file }}" type="{{ media.mime_type }}" />
{% endfor %}
</audio>
{% endif %}
{% if user.is_staff or user.is_superuser %}
-<dt>{% trans "Mime type" %}</dt><dd>{% for media in media_package.video.all %}{{ media.mime_type }}, {% endfor %}</dd>
+<dt>{% trans "Mime type" %}</dt><dd>{% for media in media_package.audio.all %}{{ media.mime_type }}, {% endfor %}</dd>
<dt>{% trans "Date added" %}</dt><dd>{{ media_package.date_added }}</dd>
<dt>{% trans "Date modified" %}</dt><dd>{{ media_package.date_modified }}</dd>
<dt>{% trans "Media package ID" %}</dt><dd>{{ media_package.id }}</dd>
{% block chat %}
-{% endblock chat %}
\ No newline at end of file
+{% endblock chat %}