# HG changeset patch # User neko259 # Date 2013-05-24 18:37:44 # Node ID 9ceb712a4b8d8b5642ee74b55faf4c9cdf072586 # Parent 8537e179ad36e2b423b3ca5edd6397b80ab8aea5 Converting file name to a preudo-unique number instead of the original name. diff --git a/boards/models.py b/boards/models.py --- a/boards/models.py +++ b/boards/models.py @@ -1,4 +1,5 @@ import os +from random import random import re from django.db import models from django.utils import timezone @@ -15,14 +16,6 @@ NO_IP = '0.0.0.0' UNKNOWN_UA = '' -def update_image_filename(instance, filename): - """Get unique image filename""" - - path = 'images/' - new_name = str(int(time.mktime(time.gmtime()))) + '_' + filename - return os.path.join(path, new_name) - - class PostManager(models.Manager): ALL_PAGES = -1 @@ -169,12 +162,26 @@ class Tag(models.Model): class Post(models.Model): """A post is a message.""" + IMAGES_DIRECTORY = 'images/' + FILE_EXTENSION_DELIMITER = '.' + objects = PostManager() + def _update_image_filename(self, filename): + """Get unique image filename""" + + path = self.IMAGES_DIRECTORY + new_name = str(int(time.mktime(time.gmtime()))) + new_name += str(int(random() * 1000)) + new_name += self.FILE_EXTENSION_DELIMITER + new_name += filename.split(self.FILE_EXTENSION_DELIMITER)[-1:][0] + + return os.path.join(path, new_name) + title = models.CharField(max_length=50) pub_time = models.DateTimeField() text = MarkupField(default_markup_type='markdown', escape_html=True) - image = thumbs.ImageWithThumbsField(upload_to=update_image_filename, + image = thumbs.ImageWithThumbsField(upload_to=_update_image_filename, blank=True, sizes=((200, 150),)) poster_ip = models.IPAddressField() poster_user_agent = models.TextField()