<s> import json <EOL> import os <EOL> import datetime <EOL> from south . db import db <EOL> from south . v2 import DataMigration <EOL> from django . db import models <EOL> class Migration ( DataMigration ) : <EOL> def forwards ( self , orm ) : <EOL> from django . core . management import call_command <EOL> jf = os . path . join ( os . path . abspath ( os . path . dirname ( __file__ ) ) , "<STR_LIT:..>" , "<STR_LIT>" , "<STR_LIT>" ) <EOL> with open ( jf ) as json_fd : <EOL> data = json_fd . read ( ) <EOL> groups = json . loads ( data ) <EOL> for entry in groups : <EOL> group = orm . bsdGroups ( pk = entry [ '<STR_LIT>' ] ) <EOL> for field in entry [ '<STR_LIT>' ] : <EOL> mfield = orm . bsdGroups . _meta . get_field ( field ) <EOL> setattr ( group , field , entry [ '<STR_LIT>' ] . get ( field ) ) <EOL> group . save ( ) <EOL> jf = os . path . join ( os . path . abspath ( os . path . dirname ( __file__ ) ) , "<STR_LIT:..>" , "<STR_LIT>" , "<STR_LIT>" ) <EOL> with open ( jf ) as json_fd : <EOL> data = json_fd . read ( ) <EOL> users = json . loads ( data ) <EOL> for entry in users : <EOL> user = orm . bsdUsers ( pk = entry [ '<STR_LIT>' ] ) <EOL> for field in entry [ '<STR_LIT>' ] : <EOL> mfield = orm . bsdUsers . _meta . get_field ( field ) <EOL> if mfield . rel != None : <EOL> inst = mfield . rel . to . objects . get ( pk = entry [ '<STR_LIT>' ] . get ( field ) ) <EOL> setattr ( user , field , inst ) <EOL> else : <EOL> setattr ( user , field , entry [ '<STR_LIT>' ] . get ( field ) ) <EOL> user . save ( ) <EOL> def backwards ( self , orm ) : <EOL> "<STR_LIT>" <EOL> models = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:Meta>' : { '<STR_LIT:object_name>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:to>' : "<STR_LIT>" } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:to>' : "<STR_LIT>" } ) , <EOL> '<STR_LIT:id>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:primary_key>' : '<STR_LIT:True>' } ) <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:Meta>' : { '<STR_LIT:object_name>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:default>' : '<STR_LIT:False>' } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:max_length>' : '<STR_LIT>' } ) , <EOL> '<STR_LIT:id>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:primary_key>' : '<STR_LIT:True>' } ) <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:Meta>' : { '<STR_LIT:object_name>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:default>' : '<STR_LIT:False>' } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:max_length>' : '<STR_LIT>' } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:to>' : "<STR_LIT>" } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:max_length>' : '<STR_LIT>' } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:default>' : "<STR_LIT>" , '<STR_LIT:max_length>' : '<STR_LIT>' } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:default>' : "<STR_LIT>" , '<STR_LIT:max_length>' : '<STR_LIT>' , '<STR_LIT:blank>' : '<STR_LIT:True>' } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT>' : "<STR_LIT>" , '<STR_LIT:max_length>' : '<STR_LIT>' } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:default>' : "<STR_LIT>" , '<STR_LIT:max_length>' : '<STR_LIT>' , '<STR_LIT:blank>' : '<STR_LIT:True>' } ) , <EOL> '<STR_LIT>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:default>' : "<STR_LIT>" , '<STR_LIT>' : '<STR_LIT:True>' , '<STR_LIT:max_length>' : '<STR_LIT>' } ) , <EOL> '<STR_LIT:id>' : ( '<STR_LIT>' , [ ] , { '<STR_LIT:primary_key>' : '<STR_LIT:True>' } ) <EOL> } <EOL> } <EOL> complete_apps = [ '<STR_LIT>' ] </s>
