summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
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
commita825c819ede7dd3b3524f218ffafa10fdd483e87 (patch)
tree6b601e5f7f0c6ab536cdabf8827e671f7a255869 /chimere/models.py
parent85c1ee167e2bbc4a3a71562f4d4423d1e88dcf79 (diff)
downloadChimère-a825c819ede7dd3b3524f218ffafa10fdd483e87.tar.bz2
Chimère-a825c819ede7dd3b3524f218ffafa10fdd483e87.zip
Manage multimedia type tree
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py27
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):