changeset 142:0ed4865bee45

Refactored the way thumbnails are created a bit.
author Atul Varma <varmaa@toolness.com>
date Fri, 04 Apr 2008 07:41:02 -0700
parents eb0a2b924b89
children b339275b682f
files personasbackend/personas/models.py
diffstat 1 files changed, 13 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/personasbackend/personas/models.py	Fri Apr 04 07:19:17 2008 -0700
+++ b/personasbackend/personas/models.py	Fri Apr 04 07:41:02 2008 -0700
@@ -53,6 +53,7 @@
 import datetime
 
 from django.db import models
+from django.conf import settings
 from django.core.urlresolvers import reverse
 from django.contrib.auth.models import User
 from django.core.validators import ValidationError
@@ -325,24 +326,27 @@
     def create_thumbnail_and_get_url( self ):
         from distutils.dir_util import mkpath
 
-        from django.conf import settings
+        abspath = self.thumbnail_filename
+        thumbnail_dir = os.path.dirname( abspath )
 
-        thumbnail_dir = os.path.join( settings.MEDIA_ROOT,
-                                      THUMBNAIL_DIR )
         if not os.path.exists( thumbnail_dir ):
             mkpath( thumbnail_dir )
-        thumbnail_filename = "%d.jpg" % self.id
-        thumbnail_path = os.path.join( thumbnail_dir,
-                                       thumbnail_filename )
-        if ( (not os.path.exists( thumbnail_path ))
-             and (not self.__make_thumbnail( thumbnail_path )) ):
+        if ( (not os.path.exists( abspath ))
+             and (not self.__make_thumbnail( abspath )) ):
             return NO_THUMBNAIL_IMAGE
         else:
             return make_absolute_url(
                 "%s%s/%s" % (settings.MEDIA_URL, THUMBNAIL_DIR,
-                             thumbnail_filename)
+                             os.path.basename(abspath))
                 )
 
+    def __get_thumbnail_filename( self ):
+        return os.path.join( settings.MEDIA_ROOT,
+                             THUMBNAIL_DIR,
+                             "%d.jpg" % self.id )
+
+    thumbnail_filename = property( __get_thumbnail_filename )
+
     def __get_thumbnail_url( self ):
         return reverse(
             'persona-thumbnail',