Revision 392d902d

b/kamaki/cli/__init__.py
496 496
    return False
497 497

  
498 498

  
499
def main(foo):
499
def main(func):
500 500
    def wrap():
501 501
        try:
502 502
            exe = basename(argv[0])
......
517 517
            global _colors
518 518
            exclude = ['ansicolors'] if not _colors == 'on' else []
519 519
            suggest_missing(exclude=exclude)
520
            foo(exe, parser)
520
            func(exe, parser)
521 521
        except CLIError as err:
522 522
            print_error_message(err)
523 523
            if _debug:
b/kamaki/cli/commands/__init__.py
42 42
log = get_logger(__name__)
43 43

  
44 44

  
45
def DontRaiseKeyError(foo):
45
def DontRaiseKeyError(func):
46 46
    def wrap(*args, **kwargs):
47 47
        try:
48
            return foo(*args, **kwargs)
48
            return func(*args, **kwargs)
49 49
        except KeyError:
50 50
            return None
51 51
    return wrap
52 52

  
53 53

  
54
def addLogSettings(foo):
54
def addLogSettings(func):
55 55
    def wrap(self, *args, **kwargs):
56 56
        try:
57
            return foo(self, *args, **kwargs)
57
            return func(self, *args, **kwargs)
58 58
        finally:
59 59
            self._set_log_params()
60 60
    return wrap
b/kamaki/cli/commands/astakos.py
67 67
    service_commands, commission_commands, endpoint_commands]
68 68

  
69 69

  
70
def with_temp_token(foo):
71
    """ Set token to self.client.token, run foo, recover old token """
70
def with_temp_token(func):
71
    """ Set token to self.client.token, run func, recover old token """
72 72
    def wrap(self, *args, **kwargs):
73 73
        try:
74 74
            token = kwargs.pop('token')
75 75
        except KeyError:
76
            raise CLISyntaxError('A token is needed for %s' % foo)
76
            raise CLISyntaxError('A token is needed for %s' % func)
77 77
        token_bu = self.client.token
78 78
        try:
79 79
            self.client.token = token or token_bu
80
            return foo(self, *args, **kwargs)
80
            return func(self, *args, **kwargs)
81 81
        finally:
82 82
            self.client.token = token_bu
83 83
    return wrap
......
606 606
"""
607 607

  
608 608

  
609
def apply_notification(foo):
609
def apply_notification(func):
610 610
    def wrap(self, *args, **kwargs):
611
        r = foo(self, *args, **kwargs)
611
        r = func(self, *args, **kwargs)
612 612
        self.writeln('Application is submitted successfully')
613 613
        return r
614 614
    return wrap
b/kamaki/cli/commands/errors.py
46 46
class generic(object):
47 47

  
48 48
    @classmethod
49
    def all(this, foo):
49
    def all(this, func):
50 50
        def _raise(self, *args, **kwargs):
51 51
            try:
52
                return foo(self, *args, **kwargs)
52
                return func(self, *args, **kwargs)
53 53
            except Exception as e:
54 54
                if _debug:
55 55
                    print_stack()
......
60 60
        return _raise
61 61

  
62 62
    @classmethod
63
    def _connection(this, foo):
63
    def _connection(this, func):
64 64
        def _raise(self, *args, **kwargs):
65 65
            try:
66
                foo(self, *args, **kwargs)
66
                func(self, *args, **kwargs)
67 67
            except ClientError as ce:
68 68
                ce_msg = ('%s' % ce).lower()
69 69
                if ce.status == 401:
......
102 102
        '*  (temporary):  re-run with <token> parameter'] + CLOUDNAME
103 103

  
104 104
    @classmethod
105
    def astakosclient(this, foo):
105
    def astakosclient(this, func):
106 106
        def _raise(self, *args, **kwargs):
107 107
            try:
108
                r = foo(self, *args, **kwargs)
108
                r = func(self, *args, **kwargs)
109 109
            except AstakosClientException as ace:
110 110
                raiseCLIError(ace, 'Error in synnefo-AstakosClient')
111 111
            return r
112 112
        return _raise
113 113

  
114 114
    @classmethod
115
    def load(this, foo):
115
    def load(this, func):
116 116
        def _raise(self, *args, **kwargs):
117
            r = foo(self, *args, **kwargs)
117
            r = func(self, *args, **kwargs)
118 118
            try:
119 119
                client = getattr(self, 'client')
120 120
            except AttributeError as ae:
......
135 135
        return _raise
136 136

  
137 137
    @classmethod
138
    def authenticate(this, foo):
138
    def authenticate(this, func):
139 139
        def _raise(self, *args, **kwargs):
140 140
            try:
141
                return foo(self, *args, **kwargs)
141
                return func(self, *args, **kwargs)
142 142
            except (ClientError, AstakosClientException) as ce:
143 143
                if ce.status == 401:
144 144
                    token = kwargs.get('custom_token', 0) or self.client.token
......
147 147
                    details = [] if token else this._token_details
148 148
                    raiseCLIError(ce, msg, details=details)
149 149
                raise ce
150
            self._raise = foo
150
            self._raise = func
151 151
        return _raise
152 152

  
153 153

  
154 154
class history(object):
155 155
    @classmethod
156
    def init(this, foo):
156
    def init(this, func):
157 157
        def _raise(self, *args, **kwargs):
158
            r = foo(self, *args, **kwargs)
158
            r = func(self, *args, **kwargs)
159 159
            if not hasattr(self, 'history'):
160 160
                raise CLIError('Failed to load history', importance=2)
161 161
            return r
162 162
        return _raise
163 163

  
164 164
    @classmethod
165
    def _get_cmd_ids(this, foo):
165
    def _get_cmd_ids(this, func):
166 166
        def _raise(self, cmd_ids, *args, **kwargs):
167 167
            if not cmd_ids:
168 168
                raise CLISyntaxError(
169 169
                    'Usage: <id1|id1-id2> [id3|id3-id4] ...',
170 170
                    details=self.__doc__.split('\n'))
171
            return foo(self, cmd_ids, *args, **kwargs)
171
            return func(self, cmd_ids, *args, **kwargs)
172 172
        return _raise
173 173

  
174 174

  
......
186 186
    net_types = ('CUSTOM', 'MAC_FILTERED', 'IP_LESS_ROUTED', 'PHYSICAL_VLAN')
187 187

  
188 188
    @classmethod
189
    def connection(this, foo):
190
        return generic._connection(foo)
189
    def connection(this, func):
190
        return generic._connection(func)
191 191

  
192 192
    @classmethod
193
    def date(this, foo):
193
    def date(this, func):
194 194
        def _raise(self, *args, **kwargs):
195 195
            try:
196
                return foo(self, *args, **kwargs)
196
                return func(self, *args, **kwargs)
197 197
            except ClientError as ce:
198 198
                if ce.status == 400 and 'changes-since' in ('%s' % ce):
199 199
                    raise CLIError(
......
203 203
        return _raise
204 204

  
205 205
    @classmethod
206
    def cluster_size(this, foo):
206
    def cluster_size(this, func):
207 207
        def _raise(self, *args, **kwargs):
208 208
            size = kwargs.get('size', None)
209 209
            try:
210 210
                size = int(size)
211 211
                assert size > 0, 'Cluster size must be a positive integer'
212
                return foo(self, *args, **kwargs)
212
                return func(self, *args, **kwargs)
213 213
            except ValueError as ve:
214 214
                msg = 'Invalid cluster size value %s' % size
215 215
                raiseCLIError(ve, msg, importance=1, details=[
......
222 222
        return _raise
223 223

  
224 224
    @classmethod
225
    def network_id(this, foo):
225
    def network_id(this, func):
226 226
        def _raise(self, *args, **kwargs):
227 227
            network_id = kwargs.get('network_id', None)
228 228
            try:
229 229
                network_id = int(network_id)
230
                return foo(self, *args, **kwargs)
230
                return func(self, *args, **kwargs)
231 231
            except ValueError as ve:
232 232
                msg = 'Invalid network id %s ' % network_id
233 233
                details = 'network id must be a positive integer'
......
242 242
        return _raise
243 243

  
244 244
    @classmethod
245
    def network_type(this, foo):
245
    def network_type(this, func):
246 246
        def _raise(self, *args, **kwargs):
247 247
            network_type = kwargs.get('network_type', None)
248 248
            msg = 'Invalid network type %s.\nValid types: %s' % (
249 249
                network_type, ' '.join(this.net_types))
250 250
            assert network_type in this.net_types, msg
251
            return foo(self, *args, **kwargs)
251
            return func(self, *args, **kwargs)
252 252
        return _raise
253 253

  
254 254
    @classmethod
255
    def network_max(this, foo):
255
    def network_max(this, func):
256 256
        def _raise(self, *args, **kwargs):
257 257
            try:
258
                return foo(self, *args, **kwargs)
258
                return func(self, *args, **kwargs)
259 259
            except ClientError as ce:
260 260
                if ce.status == 413:
261 261
                    msg = 'Cannot create another network',
......
268 268
        return _raise
269 269

  
270 270
    @classmethod
271
    def network_in_use(this, foo):
271
    def network_in_use(this, func):
272 272
        def _raise(self, *args, **kwargs):
273 273
            network_id = kwargs.get('network_id', None)
274 274
            try:
275
                return foo(self, *args, **kwargs)
275
                return func(self, *args, **kwargs)
276 276
            except ClientError as ce:
277 277
                if network_id and ce.status in (400, ):
278 278
                    msg = 'Network with id %s does not exist' % network_id,
......
288 288
        return _raise
289 289

  
290 290
    @classmethod
291
    def flavor_id(this, foo):
291
    def flavor_id(this, func):
292 292
        def _raise(self, *args, **kwargs):
293 293
            flavor_id = kwargs.get('flavor_id', None)
294 294
            try:
295 295
                flavor_id = int(flavor_id)
296
                return foo(self, *args, **kwargs)
296
                return func(self, *args, **kwargs)
297 297
            except ValueError as ve:
298 298
                msg = 'Invalid flavor id %s ' % flavor_id,
299 299
                details = 'Flavor id must be a positive integer'
......
308 308
        return _raise
309 309

  
310 310
    @classmethod
311
    def server_id(this, foo):
311
    def server_id(this, func):
312 312
        def _raise(self, *args, **kwargs):
313 313
            server_id = kwargs.get('server_id', None)
314 314
            try:
315 315
                server_id = int(server_id)
316
                return foo(self, *args, **kwargs)
316
                return func(self, *args, **kwargs)
317 317
            except ValueError as ve:
318 318
                msg = 'Invalid virtual server id %s' % server_id,
319 319
                details = 'Server id must be a positive integer'
......
333 333
        return _raise
334 334

  
335 335
    @classmethod
336
    def firewall(this, foo):
336
    def firewall(this, func):
337 337
        def _raise(self, *args, **kwargs):
338 338
            profile = kwargs.get('profile', None)
339 339
            try:
340
                return foo(self, *args, **kwargs)
340
                return func(self, *args, **kwargs)
341 341
            except ClientError as ce:
342 342
                if ce.status == 400 and profile and (
343 343
                    'firewall' in ('%s' % ce).lower()
......
352 352
        return _raise
353 353

  
354 354
    @classmethod
355
    def nic_id(this, foo):
355
    def nic_id(this, func):
356 356
        def _raise(self, *args, **kwargs):
357 357
            try:
358
                return foo(self, *args, **kwargs)
358
                return func(self, *args, **kwargs)
359 359
            except ClientError as ce:
360 360
                nic_id = kwargs.get('nic_id', None)
361 361
                if nic_id and ce.status == 404 and (
......
375 375
        return _raise
376 376

  
377 377
    @classmethod
378
    def nic_format(this, foo):
378
    def nic_format(this, func):
379 379
        def _raise(self, *args, **kwargs):
380 380
            try:
381
                return foo(self, *args, **kwargs)
381
                return func(self, *args, **kwargs)
382 382
            except IndexError as ie:
383 383
                nic_id = kwargs.get('nic_id', None)
384 384
                msg = 'Invalid format for network interface (nic) %s' % nic_id
......
389 389
        return _raise
390 390

  
391 391
    @classmethod
392
    def metadata(this, foo):
392
    def metadata(this, func):
393 393
        def _raise(self, *args, **kwargs):
394 394
            key = kwargs.get('key', None)
395 395
            try:
396
                foo(self, *args, **kwargs)
396
                func(self, *args, **kwargs)
397 397
            except ClientError as ce:
398 398
                if key and ce.status == 404 and (
399 399
                    'metadata' in ('%s' % ce).lower()
......
412 412
        '* details of image: /image meta <image id>']
413 413

  
414 414
    @classmethod
415
    def connection(this, foo):
416
        return generic._connection(foo)
415
    def connection(this, func):
416
        return generic._connection(func)
417 417

  
418 418
    @classmethod
419
    def id(this, foo):
419
    def id(this, func):
420 420
        def _raise(self, *args, **kwargs):
421 421
            image_id = kwargs.get('image_id', None)
422 422
            try:
423
                foo(self, *args, **kwargs)
423
                func(self, *args, **kwargs)
424 424
            except ClientError as ce:
425 425
                if image_id and (
426 426
                    ce.status == 404
......
435 435
        return _raise
436 436

  
437 437
    @classmethod
438
    def metadata(this, foo):
438
    def metadata(this, func):
439 439
        def _raise(self, *args, **kwargs):
440 440
            key = kwargs.get('key', None)
441 441
            try:
442
                return foo(self, *args, **kwargs)
442
                return func(self, *args, **kwargs)
443 443
            except ClientError as ce:
444 444
                ce_msg = ('%s' % ce).lower()
445 445
                if ce.status == 404 or (
......
460 460
        'For a list of containers: /file list']
461 461

  
462 462
    @classmethod
463
    def connection(this, foo):
464
        return generic._connection(foo)
463
    def connection(this, func):
464
        return generic._connection(func)
465 465

  
466 466
    @classmethod
467
    def account(this, foo):
467
    def account(this, func):
468 468
        def _raise(self, *args, **kwargs):
469 469
            try:
470
                return foo(self, *args, **kwargs)
470
                return func(self, *args, **kwargs)
471 471
            except ClientError as ce:
472 472
                if ce.status == 403:
473 473
                    raiseCLIError(
......
478 478
        return _raise
479 479

  
480 480
    @classmethod
481
    def quota(this, foo):
481
    def quota(this, func):
482 482
        def _raise(self, *args, **kwargs):
483 483
            try:
484
                return foo(self, *args, **kwargs)
484
                return func(self, *args, **kwargs)
485 485
            except ClientError as ce:
486 486
                if ce.status == 413:
487 487
                    raiseCLIError(ce, 'User quota exceeded', details=[
......
495 495
        return _raise
496 496

  
497 497
    @classmethod
498
    def container(this, foo):
498
    def container(this, func):
499 499
        def _raise(self, *args, **kwargs):
500 500
            dst_cont = kwargs.get('dst_cont', None)
501 501
            try:
502
                return foo(self, *args, **kwargs)
502
                return func(self, *args, **kwargs)
503 503
            except ClientError as ce:
504 504
                if ce.status == 404 and 'container' in ('%s' % ce).lower():
505 505
                        cont = ('%s or %s' % (
......
511 511
        return _raise
512 512

  
513 513
    @classmethod
514
    def local_path_download(this, foo):
514
    def local_path_download(this, func):
515 515
        def _raise(self, *args, **kwargs):
516 516
            try:
517
                return foo(self, *args, **kwargs)
517
                return func(self, *args, **kwargs)
518 518
            except IOError as ioe:
519 519
                msg = 'Failed to access a file',
520 520
                raiseCLIError(ioe, msg, importance=2, details=[
......
527 527
        return _raise
528 528

  
529 529
    @classmethod
530
    def local_path(this, foo):
530
    def local_path(this, func):
531 531
        def _raise(self, *args, **kwargs):
532 532
            local_path = kwargs.get('local_path', None)
533 533
            try:
534
                return foo(self, *args, **kwargs)
534
                return func(self, *args, **kwargs)
535 535
            except IOError as ioe:
536 536
                msg = 'Failed to access file %s' % local_path,
537 537
                raiseCLIError(ioe, msg, importance=2)
538 538
        return _raise
539 539

  
540 540
    @classmethod
541
    def object_path(this, foo):
541
    def object_path(this, func):
542 542
        def _raise(self, *args, **kwargs):
543 543
            try:
544
                return foo(self, *args, **kwargs)
544
                return func(self, *args, **kwargs)
545 545
            except ClientError as ce:
546 546
                err_msg = ('%s' % ce).lower()
547 547
                if (
......
555 555
        return _raise
556 556

  
557 557
    @classmethod
558
    def object_size(this, foo):
558
    def object_size(this, func):
559 559
        def _raise(self, *args, **kwargs):
560 560
            size = kwargs.get('size', None)
561 561
            start = kwargs.get('start', 0)
......
587 587
                        importance=1)
588 588
                size = end - start
589 589
            try:
590
                return foo(self, *args, **kwargs)
590
                return func(self, *args, **kwargs)
591 591
            except ClientError as ce:
592 592
                err_msg = ('%s' % ce).lower()
593 593
                expected = 'object length is smaller than range length'
b/kamaki/cli/logger.py
55 55
    old_logger.setLevel(_blacklist.pop(name, old_logger.level))
56 56

  
57 57

  
58
def if_logger_enabled(foo):
58
def if_logger_enabled(func):
59 59
    def wrap(name, *args, **kwargs):
60 60
        if name in _blacklist:
61 61
            return logging.getLogger(name)
62
        return foo(name, *args, **kwargs)
62
        return func(name, *args, **kwargs)
63 63
    return wrap
64 64

  
65 65

  

Also available in: Unified diff