From 42d35abc071af2bf63972d1de8ebb69b74b7b264 Mon Sep 17 00:00:00 2001 From: Dan Braghis <dan.braghis@torchbox.com> Date: Wed, 28 Feb 2018 11:47:27 +0000 Subject: [PATCH] Change migration to OTF-provided export --- .../apply/users/management/commands/migrate_users.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/opentech/apply/users/management/commands/migrate_users.py b/opentech/apply/users/management/commands/migrate_users.py index eb2bb3524..9e13f18e6 100644 --- a/opentech/apply/users/management/commands/migrate_users.py +++ b/opentech/apply/users/management/commands/migrate_users.py @@ -9,7 +9,7 @@ class Command(BaseCommand): help = "User migration script. Requires a source JSON file." def add_arguments(self, parser): - parser.add_argument('source', nargs='?', type=argparse.FileType('r')) + parser.add_argument('source', nargs='?', type=argparse.FileType('r'), help='Migration source JSON file') parser.add_argument( '--dry-run', action='store_true', @@ -22,8 +22,14 @@ class Command(BaseCommand): User = get_user_model() users = json.load(json_data) - for user in users: + from pprint import pprint + for uid in users: + user = users[uid] + full_name = user.get('field_otf_real_name', None) + if isinstance(name, dict) and 'und' in name: + full_name = name['und'][0]['safe_value'] + if not full_name: full_name = user.get('name') @@ -33,4 +39,4 @@ class Command(BaseCommand): ) if created: - print("Imported user %s (%s)" % (user['uid'], full_name)) + print("Imported user %s (%s)" % (uid, full_name)) -- GitLab