diff options
author | jayparikh111 | 2012-07-26 12:32:17 +0530 |
---|---|---|
committer | jayparikh111 | 2012-07-26 12:32:17 +0530 |
commit | fb25a59dd7e675fd785dcd2626e5521489ffbd7f (patch) | |
tree | 92733734122ce8a29443e281fc1f88c730193932 | |
parent | e63812344a37fb8ff510e388e78069974cef5bcf (diff) | |
download | stproject-fb25a59dd7e675fd785dcd2626e5521489ffbd7f.tar.gz stproject-fb25a59dd7e675fd785dcd2626e5521489ffbd7f.tar.bz2 stproject-fb25a59dd7e675fd785dcd2626e5521489ffbd7f.zip |
random video id generation
-rw-r--r-- | stapp/video/models.py | 15 | ||||
-rw-r--r-- | stapp/video/views.py | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/stapp/video/models.py b/stapp/video/models.py index 0f79ca7..b40067b 100644 --- a/stapp/video/models.py +++ b/stapp/video/models.py @@ -3,12 +3,24 @@ from django.db.models.signals import post_delete from signals import delete_files from taggit.managers import TaggableManager +from base64 import b32encode +from hashlib import sha1 +from random import random import settings import uuid import datetime import Image, os +def pkgen(): + rude = ('lol',) + bad_pk = True + while bad_pk: + pk = b32encode(sha1(str(random())).digest()).lower()[:6] + bad_pk = False + for rw in rude: + if pk.find(rw) >= 0: bad_pk = True + return pk def get_file_path(instance, filename): ext = filename.split('.')[-1] @@ -26,12 +38,15 @@ class Video(models.Model): filename = models.FileField(upload_to=get_file_path) image = models.ImageField(upload_to=get_image_path) description = models.TextField() + mykey = models.CharField(max_length=6, default=pkgen) created = models.DateTimeField(auto_now_add=True) tags = TaggableManager() def __unicode__(self): return self.name + + #Call the delete_files signal to delete physical files on delete of record post_delete.connect(delete_files, Video) diff --git a/stapp/video/views.py b/stapp/video/views.py index d517c74..54d3f54 100644 --- a/stapp/video/views.py +++ b/stapp/video/views.py @@ -11,7 +11,7 @@ def show(request): #Get the latest video to display on the front page latest_video = Video.objects.latest('created') - + return HttpResponse(latest_video.mykey) #Get last three modified modules latest_modules = Module.objects.order_by('-modified')[0:3] all_modules = Module.objects.order_by('modified') |