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

b/snf-cyclades-app/synnefo/api/management/commands/flavor-list.py
34 34
from optparse import make_option
35 35

  
36 36
from django.core.management.base import BaseCommand, CommandError
37
from synnefo.management.common import format_bool
37
from synnefo.management.common import format_bool, filter_results
38 38

  
39 39
from synnefo.db.models import Flavor
40 40

  
41
FIELDS = Flavor._meta.get_all_field_names()
42

  
41 43

  
42 44
class Command(BaseCommand):
43 45
    help = "List flavors"
......
53 55
            dest='deleted',
54 56
            default=False,
55 57
            help="Include deleted flavors"),
58
         make_option('--filter-by',
59
            dest='filter_by',
60
            help="Filter results. Comma seperated list of key=val pairs"
61
                 " that displayed entries must satisfy. e.g."
62
                 " --filter-by \"cpu=1,ram!=1024\"."
63
                 "Available keys are: %s" % ", ".join(FIELDS))
56 64
        )
57 65

  
58 66
    def handle(self, *args, **options):
......
73 81
        else:
74 82
            flavors = Flavor.objects.filter(deleted=False)
75 83

  
84
        filter_by = options['filter_by']
85
        if filter_by:
86
            flavors = filter_results(flavors, filter_by)
87

  
88

  
76 89
        for flavor in flavors.order_by('id'):
77 90
            id = str(flavor.id)
78 91
            cpu = str(flavor.cpu)

Also available in: Unified diff