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

« back to all changes in this revision

Viewing changes to keystoneclient/generic/client.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2012-06-22 12:58:18 UTC
  • mfrom: (1.1.11)
  • Revision ID: package-import@ubuntu.com-20120622125818-yy6uzmhxu12q20cr
Tags: 2012.2~f2~20120621.121-0ubuntu
New upstream release. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
        try:
83
83
            httpclient = client.HTTPClient()
84
84
            resp, body = httpclient.request(url, "GET",
85
 
                                      headers={'Accept': 'application/json'})
 
85
                                            headers={'Accept':
 
86
                                                     'application/json'})
86
87
            if resp.status in (200, 204):  # in some cases we get No Content
87
88
                try:
88
89
                    results = {}
90
91
                        results['message'] = "Keystone found at %s" % url
91
92
                        version = body['version']
92
93
                        # Stable/diablo incorrect format
93
 
                        id, status, version_url = self._get_version_info(
94
 
                                                                version, url)
 
94
                        id, status, version_url = \
 
95
                            self._get_version_info(version, url)
95
96
                        results[str(id)] = {"id": id,
96
97
                                            "status": status,
97
98
                                            "url": version_url}
100
101
                        # Correct format
101
102
                        results['message'] = "Keystone found at %s" % url
102
103
                        for version in body['versions']['values']:
103
 
                            id, status, version_url = self._get_version_info(
104
 
                                                                version, url)
 
104
                            id, status, version_url = \
 
105
                                self._get_version_info(version, url)
105
106
                            results[str(id)] = {"id": id,
106
107
                                                "status": status,
107
108
                                                "url": version_url}
142
143
            if not url.endswith("/"):
143
144
                url += '/'
144
145
            resp, body = httpclient.request("%sextensions" % url, "GET",
145
 
                                      headers={'Accept': 'application/json'})
 
146
                                            headers={'Accept':
 
147
                                                     'application/json'})
146
148
            if resp.status in (200, 204):  # in some cases we get No Content
147
149
                try:
148
150
                    results = {}
150
152
                        if 'values' in body['extensions']:
151
153
                            # Parse correct format (per contract)
152
154
                            for extension in body['extensions']['values']:
153
 
                                alias, name = self._get_extension_info(
154
 
                                        extension['extension'])
 
155
                                alias, name = \
 
156
                                    self._get_extension_info(
 
157
                                        extension['extension']
 
158
                                    )
155
159
                                results[alias] = name
156
160
                            return results
157
161
                        else:
158
162
                            # Support incorrect, but prevalent format
159
163
                            for extension in body['extensions']:
160
 
                                alias, name = self._get_extension_info(
161
 
                                        extension)
 
164
                                alias, name = \
 
165
                                    self._get_extension_info(extension)
162
166
                                results[alias] = name
163
167
                            return results
164
168
                    else: