diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-09 17:39:59 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-03-09 17:39:59 +0100 |
commit | a825c819ede7dd3b3524f218ffafa10fdd483e87 (patch) | |
tree | 6b601e5f7f0c6ab536cdabf8827e671f7a255869 /chimere/models.py | |
parent | 85c1ee167e2bbc4a3a71562f4d4423d1e88dcf79 (diff) | |
download | Chimère-a825c819ede7dd3b3524f218ffafa10fdd483e87.tar.bz2 Chimère-a825c819ede7dd3b3524f218ffafa10fdd483e87.zip |
Manage multimedia type tree
Diffstat (limited to 'chimere/models.py')
-rw-r--r-- | chimere/models.py | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/chimere/models.py b/chimere/models.py index da9104d..03c54a8 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -368,21 +368,36 @@ class MultimediaType(models.Model): name = models.CharField(_(u"Name"), max_length=150) mime_type = models.CharField(_(u"Mime type"), max_length=50, blank=True, null=True) - iframe = models.BooleanField(u"Inside an iframe", default=False) + iframe = models.BooleanField(_(u"Inside an iframe"), default=False) available = models.BooleanField(_(u"Available"), default=True) def __unicode__(self): return self.name + @classmethod + def get_tuples(cls): + vals = cls.objects.filter(available=True).order_by('media_type', + 'name') + tuples, c_tpe = [('', '--')], None + media_type_dct = dict(cls.MEDIA_TYPES) + for tpe, pk, name in [(media_type_dct[v.media_type], v.pk, v.name) + for v in vals]: + if not c_tpe or c_tpe != tpe: + c_tpe = tpe + tuples.append([tpe, []]) + tuples[-1][1].append((pk, name)) + return tuples + 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"), - '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'), + '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'), '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") @@ -417,7 +432,7 @@ class PictureFile(models.Model): height_field='height', width_field='width') height = models.IntegerField(_(u"Height")) width = models.IntegerField(_(u"Width")) - miniature = models.BooleanField(_(u"Display inside the resume?")) + miniature = models.BooleanField(_(u"Display inside the description?")) order = models.IntegerField(_(u"Order"), default=1) def __unicode__(self): |