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

Side by Side Diff: appengine/findit/infra_api_clients/codereview/rietveld.py

Issue 2488113005: [Findit] Re-org code. (Closed)
Patch Set: Rebase. Created 4 years, 1 month 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
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 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 4
5 # TODO: In the new layout, this should move to the ./services or 5 # TODO: In the new layout, this should move to the ./services or
6 # ./services/waterfall_app directories, since it is only used by Waterfall. 6 # ./services/waterfall_app directories, since it is only used by Waterfall.
7 7
8 # TODO: we ought to abstract over the HTTP_CLIENT member (which is only 8 # TODO: we ought to abstract over the HTTP_CLIENT member (which is only
9 # used by the Post method) by passing it to the constructor. That way 9 # used by the Post method) by passing it to the constructor. That way
10 # things are more losely coupled, improving modularity and reducing 10 # things are more losely coupled, improving modularity and reducing
11 # fragility. In addition, for easier mocking, we may want to just have 11 # fragility. In addition, for easier mocking, we may want to just have
12 # the thing passed for HTTP_CLIENT to be ``callable``, rather than giving 12 # the thing passed for HTTP_CLIENT to be ``callable``, rather than giving
13 # a name to the method we use on that object. 13 # a name to the method we use on that object.
14 14
15 import logging 15 import logging
16 import re 16 import re
17 import urlparse 17 import urlparse
18 18
19 from common.codereview import CodeReview 19 from infra_api_clients.codereview import codereview
20 from common.http_client_appengine import HttpClientAppengine 20 from common.http_client_appengine import HttpClientAppengine
21 21
22 22
23 _RIETVELD_ISSUE_NUMBER_RE = re.compile('^/(\d+)/?.*') 23 _RIETVELD_ISSUE_NUMBER_RE = re.compile('^/(\d+)/?.*')
24 24
25 25
26 class Rietveld(CodeReview): 26 class Rietveld(codereview.CodeReview):
27 """The implementation of CodeReview interface for Rietveld.""" 27 """The implementation of CodeReview interface for Rietveld."""
28 HTTP_CLIENT = HttpClientAppengine(follow_redirects=False) 28 HTTP_CLIENT = HttpClientAppengine(follow_redirects=False)
29 29
30 def _GetXsrfToken(self, rietveld_url): 30 def _GetXsrfToken(self, rietveld_url):
31 """Returns the xsrf token for follow-up requests.""" 31 """Returns the xsrf token for follow-up requests."""
32 headers = { 32 headers = {
33 'X-Requesting-XSRF-Token': '1', 33 'X-Requesting-XSRF-Token': '1',
34 'Accept': 'text/plain', 34 'Accept': 'text/plain',
35 } 35 }
36 url = '%s/xsrf_token' % rietveld_url 36 url = '%s/xsrf_token' % rietveld_url
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 'no_redirect': 'True', 87 'no_redirect': 'True',
88 } 88 }
89 content_type, body = self._EncodeMultipartFormData(form_fields) 89 content_type, body = self._EncodeMultipartFormData(form_fields)
90 headers = { 90 headers = {
91 'Content-Type': content_type, 91 'Content-Type': content_type,
92 'Accept': 'text/plain', 92 'Accept': 'text/plain',
93 } 93 }
94 status_code, content = self.HTTP_CLIENT.Post( 94 status_code, content = self.HTTP_CLIENT.Post(
95 url, data=body, headers=headers) 95 url, data=body, headers=headers)
96 return status_code == 200 and content == 'OK' 96 return status_code == 200 and content == 'OK'
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698