diff options
Diffstat (limited to 'app/photos')
-rw-r--r-- | app/photos/models.py | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/app/photos/models.py b/app/photos/models.py index 50f2aa4..9ec68e0 100644 --- a/app/photos/models.py +++ b/app/photos/models.py @@ -59,6 +59,8 @@ class LuxImage(models.Model): is_video = models.BooleanField(default=False) sizes = models.ManyToManyField(LuxImageSize, blank=True) flickr_id = models.CharField(null=True, blank=True, max_length=80) + twitter_link = models.CharField(null=True, blank=True, max_length=300) + facebook_link = models.CharField(null=True, blank=True, max_length=300) class Meta: ordering = ('-pub_date', 'id') @@ -89,12 +91,27 @@ class LuxImage(models.Model): else: return "%s%s/%s_%s.%s" % (settings.IMAGES_URL, self.pub_date.strftime("%Y"), base, size, self.get_image_ext()) + def get_image_path_by_size(self, size="original"): + base = self.get_image_name() + if size == "original": + return "%s/original/%s/%s.%s" % (settings.IMAGES_ROOT, self.pub_date.strftime("%Y"), base, self.get_image_ext()) + else: + return "%s/%s/%s_%s.%s" % (settings.IMAGES_ROOT, self.pub_date.strftime("%Y"), base, size, self.get_image_ext()) + def admin_thumbnail(self): return force_text('<a href="%s"><img src="%s"></a>' % (self.get_image_by_size(), self.get_image_by_size("tn"))) admin_thumbnail.allow_tags = True admin_thumbnail.short_description = 'Thumbnail' @property + def latitude(self): + return self.point.y + + @property + def longitude(self): + return self.point.x + + @property def get_previous_published(self): return self.get_previous_by_pub_date() @@ -115,12 +132,13 @@ class LuxImage(models.Model): @receiver(post_save, sender=LuxImage) def post_save_events(sender, update_fields, created, instance, **kwargs): - filename, file_extension = os.path.splitext(instance.image.path) - if file_extension != ".mp4": - instance = readexif(instance) - post_save.disconnect(post_save_events, sender=LuxImage) - instance.save() - post_save.connect(post_save_events, sender=LuxImage) + if instance.exif_raw == '': + filename, file_extension = os.path.splitext(instance.image.path) + if file_extension != ".mp4": + instance = readexif(instance) + post_save.disconnect(post_save_events, sender=LuxImage) + instance.save() + post_save.connect(post_save_events, sender=LuxImage) @receiver(m2m_changed, sender=LuxImage.sizes.through) |