--- 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
--- 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)