Revision af88de58 snf-cyclades-app/synnefo/api/management/commands/flavor-list.py

b/snf-cyclades-app/synnefo/api/management/commands/flavor-list.py
42 42

  
43 43
class Command(BaseCommand):
44 44
    help = "List flavors"
45
    
45

  
46 46
    option_list = BaseCommand.option_list + (
47 47
        make_option('-c',
48 48
            action='store_true',
49 49
            dest='csv',
50 50
            default=False,
51 51
            help="Use pipes to separate values"),
52
        make_option('--deleted',
53
            action='store_true',
54
            dest='deleted',
55
            default=False,
56
            help="Include deleted flavors"),
52 57
        )
53
    
58

  
54 59
    def handle(self, *args, **options):
55 60
        if args:
56 61
            raise CommandError("Command doesn't accept any arguments")
57
        
62

  
58 63
        labels = ('id', 'name', 'cpus', 'ram', 'disk', 'template', 'deleted')
59 64
        columns = (3, 12, 6, 6, 6, 10, 7)
60
        
65

  
61 66
        if not options['csv']:
62 67
            line = ' '.join(l.rjust(w) for l, w in zip(labels, columns))
63 68
            self.stdout.write(line + '\n')
64 69
            sep = '-' * len(line)
65 70
            self.stdout.write(sep + '\n')
66
        
67
        for flavor in Flavor.objects.all():
71

  
72
        if options['deleted']:
73
            flavors = Flavor.objects.all()
74
        else:
75
            flavors = Flavor.objects.filter(deleted=False)
76

  
77
        for flavor in flavors:
68 78
            id = str(flavor.id)
69 79
            cpu = str(flavor.cpu)
70 80
            ram = str(flavor.ram)
......
72 82
            deleted = format_bool(flavor.deleted)
73 83
            fields = (id, flavor.name, cpu, ram, disk, flavor.disk_template,
74 84
                      deleted)
75
            
85

  
76 86
            if options['csv']:
77 87
                line = '|'.join(fields)
78 88
            else:
79 89
                line = ' '.join(f.rjust(w) for f, w in zip(fields, columns))
80
            
90

  
81 91
            self.stdout.write(line.encode('utf8') + '\n')

Also available in: Unified diff