def migrate_node(node): if isinstance(node, str): return migrate_template(node) if isinstance(node, list): for n in range(len(node)): node[n] = migrate_node(node[n]) if isinstance(node, dict): for key, val in node.items(): node[key] = migrate_node(val) return node
def migrate_node(node): if isinstance(node, basestring): return migrate_template(node) if isinstance(node, list): for n in range(len(node)): node[n] = migrate_node(node[n]) if isinstance(node, dict): for key, val in node.iteritems(): node[key] = migrate_node(val) return node
def migrate_node(node): if isinstance(node, six.string_types): return migrate_template(node) if isinstance(node, list): for n in range(len(node)): node[n] = migrate_node(node[n]) if isinstance(node, dict): for key, val in six.iteritems(node): node[key] = migrate_node(val) return node
def migrate_broadcasts(apps, schema_editor): Broadcast = apps.get_model('msgs', 'Broadcast') num_migrated = 0 num_unchanged = 0 for broadcast in Broadcast.objects.filter(Q(status='I') | ~Q(schedule=None)): migrated = migrate_template(broadcast.text) if migrated != broadcast.text: broadcast.text = migrated broadcast.save(update_fields=('text',)) print '"%s" -> "%s"' % (broadcast.text, migrated) num_migrated += 1 else: num_unchanged += 1 if num_migrated or num_unchanged: print "Migrated expressions in %d broadcasts (%d unchanged)" % (num_migrated, num_unchanged)