Revision cd40143a kamaki/cli/commands/networking.py

b/kamaki/cli/commands/networking.py
100 100

  
101 101
    arguments = dict(
102 102
        detail=FlagArgument('show detailed output', ('-l', '--details')),
103
        more=FlagArgument(
104
            'output results in pages (-n to set items per page, default 10)',
105
            '--more'),
103 106
    )
104 107

  
105 108
    @errors.generic.all
106 109
    @errors.cyclades.connection
107
    @errors.cyclades.date
108 110
    def _run(self):
109 111
        nets = self.client.list_networks()
110 112
        nets = self._filter_by_name(nets)
111 113
        nets = self._filter_by_id(nets)
112 114
        if not self['detail']:
113 115
            nets = [dict(id=net['id'], name=net['name']) for net in nets]
114
        self._print(nets)
116
        kwargs = dict()
117
        if self['more']:
118
            kwargs['out'] = StringIO()
119
            kwargs['title'] = ()
120
        self._print(nets, **kwargs)
121
        if self['more']:
122
            pager(kwargs['out'].getvalue())
115 123

  
116 124
    def main(self):
117 125
        super(self.__class__, self)._run()
118 126
        self._run()
127

  
128

  
129
@command(network_cmds)
130
class network_info(_init_networking, _optional_json):
131
    """Get details about a network"""
132

  
133
    @errors.generic.all
134
    @errors.cyclades.connection
135
    @errors.cyclades.network_id
136
    def _run(self, network_id):
137
        net = self.client.get_network_details(network_id)
138
        self._print(net, self.print_dict)
139

  
140
    def main(self, network_id):
141
        super(self.__class__, self)._run()
142
        self._run(network_id=network_id)

Also available in: Unified diff