src/cm/management/commands/set_workspacename.py
author Simon Descarpentries <sid@sopinspace.com>
Wed, 12 Mar 2014 18:33:06 +0100
changeset 612 2bed79bde721
parent 142 9b3438382e53
permissions -rw-r--r--
Start testing mandatory fields being highlighted with empty values are submitted.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
142
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
     1
from django.core.management.base import LabelCommand, CommandError, BaseCommand, make_option
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
     2
from base64 import b64decode
141
3acc965253e2 add set_workspacename and create_manager management commands
raph
parents:
diff changeset
     3
3acc965253e2 add set_workspacename and create_manager management commands
raph
parents:
diff changeset
     4
class Command(LabelCommand):
142
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
     5
    option_list = BaseCommand.option_list + (
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
     6
        make_option('--base64', action='store_true', dest='base64', default=False,
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
     7
            help='Assume all input are base64 encoded.'),
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
     8
    )
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
     9
    
141
3acc965253e2 add set_workspacename and create_manager management commands
raph
parents:
diff changeset
    10
    help = "Change workspace name"
3acc965253e2 add set_workspacename and create_manager management commands
raph
parents:
diff changeset
    11
3acc965253e2 add set_workspacename and create_manager management commands
raph
parents:
diff changeset
    12
    def handle(self, *labels, **options):
3acc965253e2 add set_workspacename and create_manager management commands
raph
parents:
diff changeset
    13
        if len(labels)!=1:
3acc965253e2 add set_workspacename and create_manager management commands
raph
parents:
diff changeset
    14
            raise CommandError('Enter workspace name')
142
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    15
        base64 = options.get('base64')
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    16
        if base64:
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    17
            name = b64decode(labels[0])
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    18
        else:
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    19
            name = labels[0]
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    20
        name = name.decode('utf8')
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    21
        
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    22
        from cm.models import Configuration        
9b3438382e53 add base64 parameter passing mode
raph
parents: 141
diff changeset
    23
        Configuration.objects.set_workspace_name(name)