# -*- 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