# HG changeset patch # User raph # Date 1265208176 -3600 # Node ID 9b3438382e53da7226e8ed7e6d60dadf60400a38 # Parent 3acc965253e21ead01ea1a61ed93ee36e5b5de58 add base64 parameter passing mode diff -r 3acc965253e2 -r 9b3438382e53 src/cm/management/commands/create_manager.py --- a/src/cm/management/commands/create_manager.py Wed Feb 03 15:09:30 2010 +0100 +++ b/src/cm/management/commands/create_manager.py Wed Feb 03 15:42:56 2010 +0100 @@ -1,16 +1,37 @@ -from django.core.management.base import LabelCommand, CommandError +from django.core.management.base import LabelCommand, CommandError, BaseCommand, make_option +from base64 import b64decode class Command(LabelCommand): + option_list = BaseCommand.option_list + ( + make_option('--base64', action='store_true', dest='base64', default=False, + help='Assume all input are base64 encoded.'), + ) + help = "Create manager" def handle(self, *labels, **options): if len(labels)!=5: raise CommandError("Enter manager's email, username, password, first_name, last_name") - email = labels[0] - username = labels[1] - password = labels[2] - first_name = labels[3] - last_name = labels[4] + + base64 = options.get('base64') + if base64: + email = b64decode(labels[0]) + username = b64decode(labels[1]) + password = b64decode(labels[2]) + first_name = b64decode(labels[3]) + last_name = b64decode(labels[4]) + else: + email = labels[0] + username = labels[1] + password = labels[2] + first_name = labels[3] + last_name = labels[4] + + email = email.decode('utf8') + username = username.decode('utf8') + password = password.decode('utf8') + first_name = first_name.decode('utf8') + last_name = last_name.decode('utf8') from cm.models import UserProfile UserProfile.objects._create_manager(email, username, password, first_name, last_name) \ No newline at end of file diff -r 3acc965253e2 -r 9b3438382e53 src/cm/management/commands/set_workspacename.py --- a/src/cm/management/commands/set_workspacename.py Wed Feb 03 15:09:30 2010 +0100 +++ b/src/cm/management/commands/set_workspacename.py Wed Feb 03 15:42:56 2010 +0100 @@ -1,11 +1,23 @@ -from django.core.management.base import LabelCommand, CommandError +from django.core.management.base import LabelCommand, CommandError, BaseCommand, make_option +from base64 import b64decode class Command(LabelCommand): + option_list = BaseCommand.option_list + ( + make_option('--base64', action='store_true', dest='base64', default=False, + help='Assume all input are base64 encoded.'), + ) + help = "Change workspace name" def handle(self, *labels, **options): if len(labels)!=1: raise CommandError('Enter workspace name') - name = labels[0] - from cm.models import Configuration - Configuration.objects.set_workspace_name(name.decode('utf8')) + base64 = options.get('base64') + if base64: + name = b64decode(labels[0]) + else: + name = labels[0] + name = name.decode('utf8') + + from cm.models import Configuration + Configuration.objects.set_workspace_name(name)