Revision 236e7d08 kamaki/cli/commands/errors.py

b/kamaki/cli/commands/errors.py
164 164
            try:
165 165
                foo(self, image_id, *args, **kwargs)
166 166
            except ClientError as ce:
167
                if ce.status == 404 and image_id:
168
                    raiseCLIError(ce,
169
                        'No image with id %s found' % image_id,
170
                        details=this.about_image_id)
167
                if image_id and (ce.status == 404 or (\
168
                    ce.status == 400 and
169
                    'image not found' in ('%s' % ce).lower())):
170
                        raiseCLIError(ce,
171
                            'No image with id %s found' % image_id,
172
                            details=this.about_image_id)
173
                raise
174
        return _raise
175

  
176
    @classmethod
177
    def metadata(this, foo):
178
        def _raise(self, image_id, key, *args, **kwargs):
179
            try:
180
                foo(self, image_id, key, *args, **kwargs)
181
            except ClientError as ce:
182
                if image_id and (ce.status == 404 or (\
183
                    ce.status == 400 and
184
                    'metadata' in ('%s' % ce).lower())):
185
                        raiseCLIError(ce,
186
                            'No properties with key %s in this image' % key)
171 187
                raise
172 188
        return _raise

Also available in: Unified diff