Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(922)

Side by Side Diff: rietveld.py

Issue 6015008: Make many operations quieter. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/commit-queue
Patch Set: Rebase against trunk Created 9 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pending_manager.py ('k') | tests/checkout_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 """Defines class Rietveld to easily access a rietveld instance. 4 """Defines class Rietveld to easily access a rietveld instance.
5 5
6 Security implications: 6 Security implications:
7 7
8 The following hypothesis are made: 8 The following hypothesis are made:
9 - Rietveld enforces: 9 - Rietveld enforces:
10 - Nobody else than issue owner can upload a patch set 10 - Nobody else than issue owner can upload a patch set
(...skipping 26 matching lines...) Expand all
37 def xsrf_token(self): 37 def xsrf_token(self):
38 if (not self._xsrf_token_time or 38 if (not self._xsrf_token_time or
39 (time.time() - self._xsrf_token_time) > 30*60): 39 (time.time() - self._xsrf_token_time) > 30*60):
40 self._xsrf_token_time = time.time() 40 self._xsrf_token_time = time.time()
41 self._xsrf_token = self.get('/xsrf_token', 41 self._xsrf_token = self.get('/xsrf_token',
42 extra_headers={'X-Requesting-XSRF-Token': '1'}) 42 extra_headers={'X-Requesting-XSRF-Token': '1'})
43 return self._xsrf_token 43 return self._xsrf_token
44 44
45 def close_issue(self, issue): 45 def close_issue(self, issue):
46 """Closes the Rietveld issue for this changelist.""" 46 """Closes the Rietveld issue for this changelist."""
47 logging.info('closing issue %s' % issue)
47 self.post("/%d/close" % issue, [('xsrf_token', self.xsrf_token())]) 48 self.post("/%d/close" % issue, [('xsrf_token', self.xsrf_token())])
48 49
49 def get_description(self, issue): 50 def get_description(self, issue):
50 """Returns the issue's description.""" 51 """Returns the issue's description."""
51 return self.get('/%d/description' % issue) 52 return self.get('/%d/description' % issue)
52 53
53 def get_issue_properties(self, issue): 54 def get_issue_properties(self, issue):
54 """Returns all the issue's metadata as a dictionary.""" 55 """Returns all the issue's metadata as a dictionary."""
55 return json.loads(self.get('/api/%s' % issue)) 56 return json.loads(self.get('/api/%s' % issue))
56 57
57 def update_description(self, issue, description): 58 def update_description(self, issue, description):
58 """Sets the description for an issue on Rietveld.""" 59 """Sets the description for an issue on Rietveld."""
59 self.post('/%s/description' % issue, [ 60 self.post('/%s/description' % issue, [
60 ('description', description), 61 ('description', description),
61 ('xsrf_token', self.xsrf_token())]) 62 ('xsrf_token', self.xsrf_token())])
62 63
63 def add_comment(self, issue, message): 64 def add_comment(self, issue, message):
65 logging.info('issue %s; comment: %s' % (issue, message))
64 return self.post('/%s/publish' % issue, [ 66 return self.post('/%s/publish' % issue, [
65 ('xsrf_token', self.xsrf_token()), 67 ('xsrf_token', self.xsrf_token()),
66 ('message', message), 68 ('message', message),
67 ('message_only', 'True'), 69 ('message_only', 'True'),
68 ('send_mail', 'True'), 70 ('send_mail', 'True'),
69 ('no_redirect', 'True')]) 71 ('no_redirect', 'True')])
70 72
71 def set_flag(self, issue, patchset, flag, value): 73 def set_flag(self, issue, patchset, flag, value):
72 return self.post('/%s/edit_flags' % issue, [ 74 return self.post('/%s/edit_flags' % issue, [
73 ('last_patchset', str(patchset)), 75 ('last_patchset', str(patchset)),
(...skipping 14 matching lines...) Expand all
88 rpc_server = upload.HttpRpcServer(self.url, 90 rpc_server = upload.HttpRpcServer(self.url,
89 self._get_creds, 91 self._get_creds,
90 save_cookies=False) 92 save_cookies=False)
91 try: 93 try:
92 return rpc_server.Send(request_path, **kwargs) 94 return rpc_server.Send(request_path, **kwargs)
93 except urllib2.HTTPError, e: 95 except urllib2.HTTPError, e:
94 if (e.code != 500 and e.code != 503) and retry == (maxtries - 1): 96 if (e.code != 500 and e.code != 503) and retry == (maxtries - 1):
95 raise 97 raise
96 # Small backoff. 98 # Small backoff.
97 time.sleep(1+maxtries*2) 99 time.sleep(1+maxtries*2)
OLDNEW
« no previous file with comments | « pending_manager.py ('k') | tests/checkout_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698