--- a/web/ldt/ldt_utils/models.py Thu Oct 14 12:17:31 2010 +0200
+++ b/web/ldt/ldt_utils/models.py Fri Oct 15 12:36:43 2010 +0200
@@ -23,9 +23,9 @@
class Media(models.Model):
external_id = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('media.external_id'))
- external_permalink = models.URLField(max_length=1024, null=True, blank=True, verbose_name=_('content.external_permalink'))
- external_publication_url = models.URLField(max_length=1024, null=True, blank=True, verbose_name=_('content.external_publication_url'))
- external_src_url = models.URLField(max_length=1024, null=True, blank=True, verbose_name=_('content.external_publication_url'))
+ external_permalink = models.URLField(max_length=1024, verify_exists=False, null=True, blank=True, verbose_name=_('media.external_permalink'))
+ external_publication_url = models.URLField(max_length=1024, verify_exists=True, null=True, blank=True, verbose_name=_('media.external_publication_url'))
+ external_src_url = models.URLField(max_length=1024, verify_exists=False, null=True, blank=True, verbose_name=_('media.external_src_url'))
creation_date = models.DateTimeField(auto_now_add=True, verbose_name=_('media.creation_date'))
media_creation_date = models.DateTimeField(null=True, blank=True, verbose_name=_('media.media_creation_date'))
update_date = models.DateTimeField(auto_now=True, verbose_name=_('media.update_date'))
@@ -47,7 +47,7 @@
'mp3': lambda s: "%s:%s" %("mp3",res_src[:-4]),
'mp4': lambda s: "%s:%s" %("mp4",res_src[:-4]),
'f4v': lambda s: "%s:%s" %("mp4",res_src[:-4]),
- }.get(extension, lambda s:s)(res_src)
+ }.get(extension, lambda s:s)(res_src.lower())
return res_src
return locals()
@@ -82,12 +82,21 @@
content_creation_date = models.DateTimeField(null=True, blank=True, verbose_name=_('content.content_creation_date'))
tags = tagging.fields.TagField(max_length=2048, null=True, blank=True )
media_obj = models.ForeignKey('Media', blank=True, null=True )
+
+ class Meta:
+ ordering = ["title"]
def get_duration(self):
if self.duration is None:
doc = lxml.etree.parse(self.iri_file_path())
res = doc.xpath("/iri/body/medias/media[@id='video']/video")
- self.duration = int(res[0].get(u'dur') or 0)
+ if len(res) > 0:
+ try:
+ self.duration = int(res[0].get(u'dur',0) or 0)
+ except:
+ self.duration = 0
+ else:
+ self.duration = 0
self.save()
return self.duration
@@ -248,6 +257,10 @@
changed_by = models.CharField(_("changed by"), max_length=70)
state = models.IntegerField(choices=STATE_CHOICES, default=1)
+ class Meta:
+ ordering = ["title"]
+
+
def __unicode__(self):
return unicode(self.id) + u": " + unicode(self.ldt_id)
@@ -286,6 +299,13 @@
project.contents.add(content)
project.save()
return project
+
+ def checkAccess(self, user):
+ if (user and user.is_staff) or self.state == 2:
+ return True
+ else:
+ return False
+
class Segment(models.Model):