Calls the ReviewBoard API.
(self, url, data=None)
| 62 | self._review_ids(dependent_review, review_ids) |
| 63 | |
| 64 | def api(self, url, data=None): |
| 65 | """Calls the ReviewBoard API.""" |
| 66 | if self._opener_installed is False: |
| 67 | auth_handler = urllib2.HTTPBasicAuthHandler() |
| 68 | auth_handler.add_password( |
| 69 | realm="Web API", |
| 70 | uri="reviews.apache.org", |
| 71 | user=self.user, |
| 72 | passwd=self.password) |
| 73 | opener = urllib2.build_opener(auth_handler) |
| 74 | urllib2.install_opener(opener) |
| 75 | self._opener_installed = True |
| 76 | if data is not None: |
| 77 | data = data.encode(sys.getdefaultencoding()) |
| 78 | try: |
| 79 | return json.loads(urllib2.urlopen(url, data=data).read().decode( |
| 80 | sys.getdefaultencoding())) |
| 81 | except Exception as err: |
| 82 | print("Error handling URL %s: %s" % (url, err)) |
| 83 | # raise the error after printing the message |
| 84 | raise |
| 85 | |
| 86 | def get_dependent_review_ids(self, review_request): |
| 87 | """Returns the review requests' ids (together with any potential |
no test coverage detected