Correct south migrations
authorymh <ymh.work@gmail.com>
Wed, 08 Aug 2012 01:32:34 +0200
changeset 738 51294f20e8ad
parent 737 0a483c6b75fa
child 739 b42a390be463
Correct south migrations
src/ldt/ldt/ldt_utils/migrations/0019_recalculate_media_hash_src.py
src/ldt/ldt/ldt_utils/migrations/0021_recalculate_segment_id_hash_script.py
src/ldt/ldt/ldt_utils/models.py
--- a/src/ldt/ldt/ldt_utils/migrations/0019_recalculate_media_hash_src.py	Tue Aug 07 15:40:54 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/migrations/0019_recalculate_media_hash_src.py	Wed Aug 08 01:32:34 2012 +0200
@@ -1,12 +1,22 @@
 # -*- coding: utf-8 -*-
 from south.v2 import DataMigration
+from ldt.management.utils import show_progress
+from ldt.utils import generate_hash
 
 class Migration(DataMigration):
 
     def forwards(self, orm):
         "Write your forwards methods here."
         # Note: Remember to use orm['appname.ModelName'] rather than "from appname.models..."
-        for media in orm['ldt_utils.media'].objects.all():
+        
+        qs = orm['ldt_utils.media'].objects.all()
+        
+        count = qs.count() 
+        writer = None
+        
+        for i,media in enumerate(qs):
+            writer = show_progress(i+1, count, "", 50, writer)
+            media.src_hash = generate_hash(media.src)
             media.save()
 
     def backwards(self, orm):
--- a/src/ldt/ldt/ldt_utils/migrations/0021_recalculate_segment_id_hash_script.py	Tue Aug 07 15:40:54 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/migrations/0021_recalculate_segment_id_hash_script.py	Wed Aug 08 01:32:34 2012 +0200
@@ -1,11 +1,19 @@
 # -*- coding: utf-8 -*-
 from south.v2 import DataMigration
-
+from ldt.management.utils import show_progress
+from ldt.utils import generate_hash
 
 class Migration(DataMigration):
 
     def forwards(self, orm):
-        for segment in orm['ldt_utils.segment'].objects.all():
+        
+        qs = orm['ldt_utils.segment'].objects.all()
+        count = qs.count()
+        writer = None
+        
+        for i,segment in enumerate(qs):
+            writer = show_progress(i+1, count, "", 50, writer)
+            segment.id_hash = generate_hash("/".join((unicode(segment.project_id), unicode(segment.iri_id), unicode(segment.ensemble_id), unicode(segment.cutting_id), unicode(segment.element_id))))
             segment.save()
         pass
 
--- a/src/ldt/ldt/ldt_utils/models.py	Tue Aug 07 15:40:54 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/models.py	Wed Aug 08 01:32:34 2012 +0200
@@ -694,9 +694,9 @@
                 value.difference_update(self.mask[keyword])
             
         return value.pop()
-        
+    
     def save(self, *args, **kwargs):
-        self.id_hash = generate_hash(str(self))
+        self.id_hash = generate_hash(self.__unicode__())
         super(Segment, self).save(*args, **kwargs)