diff options
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): | 
