path = dir + os.sep + filename
seminar_title = '_'.join([course_code, str(seminar_rank)])
- collection_id = '_'.join([department_name, seminar_title])
course = Course.objects.get(code=course_code)
department, c = Department.objects.get_or_create(name=department_name,
organization=organization)
app_label = app_label
+
class ClonableMixin(object):
def clone(self):
elif self.conference:
self.conference.course.save()
self.set_mime_type()
+ self.set_duration()
def poster_url(self, geometry='640'):
url = ''
m.save()
return markers
+ def set_duration(self):
+ """
+ set media duration
+ """
+ if self.file:
+ process = subprocess.Popen(["ffmpeg", "-i", self.file.path], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ stdout, stderr = process.communicate()
+ try:
+ pattern = re.compile(r'Duration: ([\w.-]+):([\w.-]+):([\w.-]+),')
+ match = pattern.search(stdout)
+ duration = "%s:%s:%s" % (match.group(1), match.group(2), match.group(3))
+ except:
+ duration = None
+ else:
+ duration = None
+
+ self.approx_duration = duration
+
class Meta(MetaCore):
db_table = app_label + '_' + 'media'
ordering = ['rank']
+
+
class SuggestionsMixin(Model):
suggested_seminars = models.ManyToManyField('teleforma.Seminar', related_name="%(class)ss_related",
verbose_name=_('suggested seminars'),