diff options
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 |
commit | ef80c8a83e06b4eff26e2be7f35efb92064ce57a (patch) | |
tree | 25c815a4e9bf9227a9d5935c88edac80bc272072 /chimere/models.py | |
parent | b033d05ed1464a6f2fd1aca7e98a00d87970ed5d (diff) | |
download | Chimè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.py | 19 |
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) |