class Command(RecordSaveModCommand): args = '<node path> <short_name>' help = "Create new node. To create a root node (with no parent), use 'None' as <node path>." option_list = BaseCommand.option_list + ( make_option('--admins', dest='admins', default=None, help='Administrator usernames separated by comma (,).'), make_option('--long-name', dest='long_name', default=None, help='Long name (Required)')) def handle(self, *args, **options): if len(args) != 2: raise CommandError( 'Node path and short name is required. See --help.') if options['long_name'] == None: raise CommandError('Long name is required. See --help.') verbosity = int(options.get('verbosity', '1')) node_path = args[0] short_name = args[1] if node_path == "None": node = None else: try: node = get_by_path(node_path) except Node.DoesNotExist, e: raise CommandError('Invalid node path.') if Node.objects.filter(short_name=short_name).count() == 0: long_name = options['long_name'] record = Node(short_name=short_name, long_name=long_name, parentnode=node) self.save_record(record, verbosity) else: raise CommandError('Node "{0}" already exists.'.format(short_name))