~ubuntu-branches/ubuntu/trusty/python-keystoneclient/trusty-proposed

« back to all changes in this revision

Viewing changes to keystoneclient/openstack/common/apiclient/base.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2014-03-27 12:08:28 UTC
  • mfrom: (1.1.26)
  • Revision ID: package-import@ubuntu.com-20140327120828-yu3vm5g1v1pkl93w
Tags: 1:0.7.1-ubuntu1
New upstream release. (LP: #1298453)

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
# pylint: disable=E1102
25
25
 
26
26
import abc
 
27
import copy
27
28
 
28
29
import six
 
30
from six.moves.urllib import parse
29
31
 
30
32
from keystoneclient.openstack.common.apiclient import exceptions
31
 
from keystoneclient.openstack.common.py3kcompat import urlutils
32
33
from keystoneclient.openstack.common import strutils
33
34
 
34
35
 
327
328
        return self._list(
328
329
            '%(base_url)s%(query)s' % {
329
330
                'base_url': self.build_url(base_url=base_url, **kwargs),
330
 
                'query': '?%s' % urlutils.urlencode(kwargs) if kwargs else '',
 
331
                'query': '?%s' % parse.urlencode(kwargs) if kwargs else '',
331
332
            },
332
333
            self.collection_key)
333
334
 
366
367
        rl = self._list(
367
368
            '%(base_url)s%(query)s' % {
368
369
                'base_url': self.build_url(base_url=base_url, **kwargs),
369
 
                'query': '?%s' % urlutils.urlencode(kwargs) if kwargs else '',
 
370
                'query': '?%s' % parse.urlencode(kwargs) if kwargs else '',
370
371
            },
371
372
            self.collection_key)
372
373
        num = len(rl)
456
457
    def __getattr__(self, k):
457
458
        if k not in self.__dict__:
458
459
            #NOTE(bcwaldon): disallow lazy-loading if already loaded once
459
 
            if not self.is_loaded():
460
 
                self.get()
 
460
            if not self.is_loaded:
 
461
                self._get()
461
462
                return self.__getattr__(k)
462
463
 
463
464
            raise AttributeError(k)
464
465
        else:
465
466
            return self.__dict__[k]
466
467
 
467
 
    def get(self):
468
 
        # set_loaded() first ... so if we have to bail, we know we tried.
469
 
        self.set_loaded(True)
 
468
    def _get(self):
 
469
        # set _loaded first ... so if we have to bail, we know we tried.
 
470
        self._loaded = True
470
471
        if not hasattr(self.manager, 'get'):
471
472
            return
472
473
 
484
485
            return self.id == other.id
485
486
        return self._info == other._info
486
487
 
 
488
    @property
487
489
    def is_loaded(self):
488
490
        return self._loaded
489
491
 
490
 
    def set_loaded(self, val):
491
 
        self._loaded = val
 
492
    def to_dict(self):
 
493
        return copy.deepcopy(self._info)