summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-29 19:29:48 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-29 19:29:48 +0200
commitef80c8a83e06b4eff26e2be7f35efb92064ce57a (patch)
tree25c815a4e9bf9227a9d5935c88edac80bc272072 /chimere/models.py
parentb033d05ed1464a6f2fd1aca7e98a00d87970ed5d (diff)
downloadChimère-ef80c8a83e06b4eff26e2be7f35efb92064ce57a.tar.bz2
Chimère-ef80c8a83e06b4eff26e2be7f35efb92064ce57a.zip
Manage auto-detection of multimedia type by extension - improvement on alternate multimedia widget
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 8f07576..8098ade 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -509,17 +509,30 @@ IFRAME_LINKS = {
'youtube':((re.compile(r'youtube.com\/watch\?v=([A-Za-z0-9_-]*)'),
re.compile(r'youtu.be\/([A-Za-z0-9_-]*)'),
re.compile(r'youtube.com\/embed\/([A-Za-z0-9_-]*)')),
- "http://www.youtube.com/embed/%s"),
+ "http://www.youtube.com/embed/%s"),
'dailymotion':(
(re.compile(r'dailymotion.com/video/([A-Za-z0-9]*)_[A-Za-z0-9_-]*'),
re.compile(r'dailymotion.com/embed/video/([A-Za-z0-9]*)'),
re.compile("http://www.dailymotion.com/embed/video/%s")),
- 'http://www.dailymotion.com/embed/video/%s'),
+ 'http://www.dailymotion.com/embed/video/%s'),
'vimeo':((re.compile(r'vimeo.com/([A-Za-z0-9]*)'),
re.compile(r'vimeo.com/video/([A-Za-z0-9]*)')),
- "http://player.vimeo.com/video/%s")
+ "http://player.vimeo.com/video/%s")
}
+class MultimediaExtension(models.Model):
+ name = models.CharField(_(u"Extension name"), max_length=6)
+ multimedia_type = models.ForeignKey(MultimediaType,
+ verbose_name=_(u"Associated multimedia type"),
+ related_name='extensions')
+
+ class Meta:
+ verbose_name = _(u"Multimedia extension")
+ verbose_name_plural = _(u"Multimedia extensions")
+
+ def __unicode__(self):
+ return self.name
+
class MultimediaFile(models.Model):
name = models.CharField(_(u"Name"), max_length=150)
url = models.URLField(_(u"Url"), max_length=200)