##// END OF EJS Templates
Using opening post ID from cache, not passing it to the post view
Using opening post ID from cache, not passing it to the post view

File last commit:

r527:5cd89122 default
r621:59a1deab default
Show More
0020_image_hashes.py
91 lines | 5.8 KiB | text/x-python | PythonLexer
# -*- coding: utf-8 -*-
import hashlib
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import DataMigration
from django.db import models
class Migration(DataMigration):
def forwards(self, orm):
# Note: Don't use "from appname.models import ModelName".
# Use orm.ModelName to refer to models in this application,
# and orm['appname.ModelName'] for models in other applications.
for post in orm.Post.objects.filter(image_width__gt=0):
md5 = hashlib.md5()
for chunk in post.image.chunks():
md5.update(chunk)
image_hash = md5.hexdigest()
post.image_hash = image_hash
post.save()
def backwards(self, orm):
"Write your backwards methods here."
models = {
'boards.ban': {
'Meta': {'object_name': 'Ban'},
'can_read': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
'reason': ('django.db.models.fields.CharField', [], {'default': "'Auto'", 'max_length': '200'})
},
'boards.post': {
'Meta': {'object_name': 'Post'},
'_text_rendered': ('django.db.models.fields.TextField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'image': ('boards.thumbs.ImageWithThumbsField', [], {'max_length': '100', 'blank': 'True'}),
'image_hash': ('django.db.models.fields.CharField', [], {'max_length': '36'}),
'image_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'image_pre_height': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'image_pre_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'image_width': ('django.db.models.fields.IntegerField', [], {'default': '0'}),
'last_edit_time': ('django.db.models.fields.DateTimeField', [], {}),
'poster_ip': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39'}),
'poster_user_agent': ('django.db.models.fields.TextField', [], {}),
'pub_time': ('django.db.models.fields.DateTimeField', [], {}),
'referenced_posts': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'rfp+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Post']"}),
'text': ('markupfield.fields.MarkupField', [], {'rendered_field': 'True'}),
'text_markup_type': ('django.db.models.fields.CharField', [], {'default': "'markdown'", 'max_length': '30'}),
'thread': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['boards.Post']", 'null': 'True'}),
'thread_new': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['boards.Thread']", 'null': 'True'}),
'title': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['boards.User']", 'null': 'True'})
},
'boards.setting': {
'Meta': {'object_name': 'Setting'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['boards.User']"}),
'value': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
'boards.tag': {
'Meta': {'object_name': 'Tag'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'linked': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['boards.Tag']", 'null': 'True', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'threads': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'tag+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Thread']"})
},
'boards.thread': {
'Meta': {'object_name': 'Thread'},
'archived': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'bump_time': ('django.db.models.fields.DateTimeField', [], {}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'last_edit_time': ('django.db.models.fields.DateTimeField', [], {}),
'replies': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'tre+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Post']"}),
'tags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['boards.Tag']", 'symmetrical': 'False'})
},
'boards.user': {
'Meta': {'object_name': 'User'},
'fav_tags': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['boards.Tag']", 'null': 'True', 'blank': 'True'}),
'fav_threads': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['boards.Post']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'rank': ('django.db.models.fields.IntegerField', [], {}),
'registration_time': ('django.db.models.fields.DateTimeField', [], {}),
'user_id': ('django.db.models.fields.CharField', [], {'max_length': '50'})
}
}
complete_apps = ['boards']
symmetrical = True