summaryrefslogtreecommitdiff
path: root/apps/photos/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'apps/photos/models.py')
-rw-r--r--apps/photos/models.py201
1 files changed, 0 insertions, 201 deletions
diff --git a/apps/photos/models.py b/apps/photos/models.py
deleted file mode 100644
index d5f4d51..0000000
--- a/apps/photos/models.py
+++ /dev/null
@@ -1,201 +0,0 @@
-import datetime
-import Image
-from django.contrib.gis.db import models
-from django.contrib.syndication.feeds import Feed
-from django.contrib.sitemaps import Sitemap
-from django.utils.encoding import force_unicode
-from django.conf import settings
-
-
-from taggit.managers import TaggableManager
-
-from locations.models import Location,Region
-
-class Photo(models.Model):
- description = models.TextField(blank=True, null=True)
- title = models.CharField(blank=True, max_length=300)
- pub_date = models.DateTimeField()
- tags = TaggableManager(blank=True)
- exif_aperture = models.CharField(max_length=50, blank=True, null=True)
- exif_make = models.CharField(max_length=50, blank=True, null=True)
- exif_model = models.CharField(max_length=50, blank=True, null=True)
- exif_exposure = models.CharField(max_length=50, blank=True, null=True)
- exif_iso = models.CharField(max_length=50, blank=True, null=True)
- exif_focal_length = models.CharField(max_length=50, blank=True, null=True)
- exif_lens = models.CharField(max_length=50, blank=True, null=True)
- exif_date = models.DateTimeField()
- """Flickr Specific Stuff"""
- flickr_id = models.CharField(max_length=300) #varchar since Flickr ids are larger than than integerfield can handle and BigIntegerField gets weird in Postgres.
- flickr_owner = models.CharField(max_length=20)
- flickr_server = models.IntegerField()
- flickr_farm = models.IntegerField()
- flickr_secret = models.CharField(max_length=50)
- flickr_originalsecret = models.CharField(max_length=50)
- lon = models.FloatField('Longitude',help_text="Longitude of centerpoint",null=True)
- lat = models.FloatField('Latitude',help_text="Latitude of centerpoint",null=True)
- location = models.ForeignKey(Location, null=True)
- region = models.ForeignKey(Region, null=True)
- slideshowimage_width = models.CharField(max_length=4, blank=True, null=True)
- slideshowimage_height = models.CharField(max_length=4, blank=True, null=True)
- slideshowimage_margintop = models.CharField(max_length=4, blank=True, null=True)
- slideshowimage_marginleft = models.CharField(max_length=4, blank=True, null=True)
-
-
-
- class Meta:
- ordering = ('-pub_date',)
-
-
- def admin_thumbnail(self):
- return force_unicode('<a href="%s"><img src="%s"></a>' % \
- (self.get_absolute_url(), self.get_small_square_url()))
- admin_thumbnail.allow_tags = True
- admin_thumbnail.short_description = 'Thumbnail'
-
- def get_local_medium_url(self):
- return '%sflickr/med/%s/%s.jpg' %(settings.IMAGES_URL,self.pub_date.strftime("%Y"),self.flickr_id)
-
- def get_local_orig_url(self):
- return '%sflickr/full/%s/%s.jpg' %(settings.IMAGES_URL,self.pub_date.strftime("%Y"),self.flickr_id)
-
- def get_local_slideshow_url(self):
- return '%sslideshow/%s/%s.jpg' %(settings.IMAGES_URL,self.pub_date.strftime("%Y"),self.flickr_id)
- def __unicode__(self):
- return self.title
-
- def get_absolute_url(self):
- return "/photo/%s/" % (self.id)
-
- def get_model_name(self):
- return 'photo'
-
- def get_small_square_url(self):
- return self.get_pic_url(size="small_square")
-
- def get_large_url(self):
- return self.get_pic_url(size="large")
-
- def get_small_url(self):
- return self.get_pic_url(size="small")
-
- def get_medium_url(self):
- return self.get_pic_url(size="medium")
-
- def get_original_url(self):
- #return self.get_pic_url(size="original")
- return "http://farm%s.static.flickr.com/%s/%s_%s_o.jpg" % (self.flickr_farm, self.flickr_server, self.flickr_id, self.flickr_originalsecret)
-
- @property
- def get_height(self):
- im = Image.open('%sslideshow/%s/%s.jpg' %(settings.IMAGES_ROOT,self.pub_date.strftime("%Y"),self.flickr_id))
- xsize, ysize = im.size
- return ysize
- @property
- def get_width(self):
- im = Image.open('%sslideshow/%s/%s.jpg' %(settings.IMAGES_ROOT,self.pub_date.strftime("%Y"),self.flickr_id))
- xsize, ysize = im.size
- cal = xsize-120
- return xsize
- @property
- def get_margin_top(self):
- im = Image.open('%sslideshow/%s/%s.jpg' %(settings.IMAGES_ROOT,self.pub_date.strftime("%Y"),self.flickr_id))
- xsize, ysize = im.size
- mtop = 340-(ysize/2)
- return mtop
-
- @property
- def get_margin_left(self):
- im = Image.open('%sslideshow/%s/%s.jpg' %(settings.IMAGES_ROOT,self.pub_date.strftime("%Y"),self.flickr_id))
- xsize, ysize = im.size
- mtop = 500-(xsize/2)
- return mtop
-
- @property
- def flickr_link(self):
- return '%s%s/' %('http://www.flickr.com/photos/luxagraf/', self.flickr_id)
-
- @property
- def is_portait(self):
- if int(self.slideshowimage_height) > int(self.slideshowimage_width):
- return True
- else:
- return False
- def get_pic_url(self, size='small'):
- # small_square=75x75
- # thumb=100 on longest side
- # small=240 on longest side
- # medium=500 on longest side
- # large=1024 on longest side
- # original=duh
-
- base_url = "http://static.flickr.com"
- size_char='s' # default to small_square
-
- if size == 'small_square':
- size_char='_s'
- elif size == 'thumb':
- size_char='_t'
- elif size == 'small':
- size_char='_m'
- elif size == 'medium':
- size_char=''
- elif size == 'large':
- size_char='_b'
- elif size == 'original':
- size_char='_o'
-
- return "http://farm%s.static.flickr.com/%s/%s_%s%s.jpg" % (self.flickr_farm, self.flickr_server, self.flickr_id, self.flickr_secret, size_char)
-
- def get_tumble_image(self):
- return "%s/crops/%s/%s.jpg" %(settings.IMAGES_URL, self.pub_date.strftime("%Y/%b").lower(), self.id)
-
-
- def get_previous_published(self):
- return self.get_previous_by_pub_date()
-
- def get_next_published(self):
- return self.get_next_by_pub_date()
-
- def comment_period_open(self):
- return self.enable_comments and datetime.datetime.today() - datetime.timedelta(30) <= self.pub_date
-
- def save(self, *args, **kwargs):
- super(Photo, self).save()
-
-class PhotoGallery(models.Model):
- set_id = models.CharField(blank=True, max_length=300)
- set_title = models.CharField(blank=True, max_length=300)
- set_desc = models.TextField(blank=True, null=True)
- set_slug = models.CharField(blank=True, max_length=300)
- primary = models.CharField(blank=True, max_length=300)
- photos = models.ManyToManyField(Photo)
- location = models.ForeignKey(Location, null=True)
- region = models.ForeignKey(Region, null=True)
- pub_date = models.DateTimeField(null=True)
-
- class Meta:
- ordering = ('-pub_date','id')
- verbose_name_plural = 'Photo Galleries'
- get_latest_by = 'pub_date'
-
-
- def __unicode__(self):
- return self.set_title
-
- def get_main_image(self):
- return "%sgallery_thumbs/%s.jpg" % (settings.IMAGES_URL, self.id)
-
- def get_absolute_url(self):
- return "/photos/galleries/%s/" % (self.set_slug)
-
-
-class PhotoGallerySitemap(Sitemap):
- changefreq = "never"
- priority = 0.7
-
- def items(self):
- return PhotoGallery.objects.all()
-
- def lastmod(self, obj):
- return obj.pub_date
-