OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 # These are fake fetchers that are used for testing and the preview server. | 5 # These are fake fetchers that are used for testing and the preview server. |
6 # They return canned responses for URLs. appengine_wrappers.py uses the fake | 6 # They return canned responses for URLs. appengine_wrappers.py uses the fake |
7 # fetchers if the App Engine imports fail. | 7 # fetchers if the App Engine imports fail. |
8 | 8 |
9 import base64 | 9 import base64 |
10 import json | 10 import json |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 html.append('</html>') | 70 html.append('</html>') |
71 return '\n'.join(html) | 71 return '\n'.join(html) |
72 except OSError as e: | 72 except OSError as e: |
73 return None | 73 return None |
74 try: | 74 try: |
75 return ReadFile(path) | 75 return ReadFile(path) |
76 except IOError: | 76 except IOError: |
77 return None | 77 return None |
78 | 78 |
79 | 79 |
80 _GITILES_BASE_RE = re.escape(url_constants.GITILES_BASE) | 80 _GITILES_BASE_RE = re.escape('%s/%s' % |
81 _GITILES_BRANCH_BASE_RE = re.escape(url_constants.GITILES_BRANCH_BASE) | 81 (url_constants.GITILES_BASE, url_constants.GITILES_SRC_ROOT)) |
| 82 _GITILES_BRANCH_BASE_RE = re.escape('%s/%s/%s' % |
| 83 (url_constants.GITILES_BASE, |
| 84 url_constants.GITILES_SRC_ROOT, |
| 85 url_constants.GITILES_BRANCHES_PATH)) |
82 # NOTE: _GITILES_BRANCH_BASE_RE must be first, because _GITILES_BASE_RE is | 86 # NOTE: _GITILES_BRANCH_BASE_RE must be first, because _GITILES_BASE_RE is |
83 # a more general pattern. | 87 # a more general pattern. |
84 _GITILES_URL_RE = r'(%s|%s)/' % (_GITILES_BRANCH_BASE_RE, _GITILES_BASE_RE) | 88 _GITILES_URL_RE = r'(%s|%s)/' % (_GITILES_BRANCH_BASE_RE, _GITILES_BASE_RE) |
85 _GITILES_URL_TO_COMMIT_PATTERN = re.compile(r'%s[^/]+$' % _GITILES_URL_RE) | 89 _GITILES_URL_TO_COMMIT_PATTERN = re.compile(r'%s[^/]+$' % _GITILES_URL_RE) |
86 _GITILES_URL_TO_PATH_PATTERN = re.compile(r'%s.+?/(.*)' % _GITILES_URL_RE) | 90 _GITILES_URL_TO_PATH_PATTERN = re.compile(r'%s.+?/(.*)' % _GITILES_URL_RE) |
87 def _ExtractPathFromGitilesUrl(url): | 91 def _ExtractPathFromGitilesUrl(url): |
88 return _GITILES_URL_TO_PATH_PATTERN.match(url).group(2) | 92 return _GITILES_URL_TO_PATH_PATTERN.match(url).group(2) |
89 | 93 |
90 | 94 |
91 class _FakeGitilesServer(_FakeFetcher): | 95 class _FakeGitilesServer(_FakeFetcher): |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 url_constants.OMAHA_PROXY_URL: _FakeOmahaProxy(), | 186 url_constants.OMAHA_PROXY_URL: _FakeOmahaProxy(), |
183 '%s/.*' % url_constants.SVN_URL: _FakeSubversionServer(), | 187 '%s/.*' % url_constants.SVN_URL: _FakeSubversionServer(), |
184 '%s/.*' % url_constants.VIEWVC_URL: _FakeViewvcServer(), | 188 '%s/.*' % url_constants.VIEWVC_URL: _FakeViewvcServer(), |
185 '%s/.*/commits/.*' % url_constants.GITHUB_REPOS: _FakeGithubStat(), | 189 '%s/.*/commits/.*' % url_constants.GITHUB_REPOS: _FakeGithubStat(), |
186 '%s/.*/zipball' % url_constants.GITHUB_REPOS: _FakeGithubZip(), | 190 '%s/.*/zipball' % url_constants.GITHUB_REPOS: _FakeGithubZip(), |
187 '%s/api/.*' % url_constants.CODEREVIEW_SERVER: _FakeRietveldAPI(), | 191 '%s/api/.*' % url_constants.CODEREVIEW_SERVER: _FakeRietveldAPI(), |
188 '%s/tarball/.*' % url_constants.CODEREVIEW_SERVER: _FakeRietveldTarball(), | 192 '%s/tarball/.*' % url_constants.CODEREVIEW_SERVER: _FakeRietveldTarball(), |
189 '%s/.*' % _GITILES_BASE_RE: _FakeGitilesServer(), | 193 '%s/.*' % _GITILES_BASE_RE: _FakeGitilesServer(), |
190 '%s/.*' % _GITILES_BRANCH_BASE_RE: _FakeGitilesServer() | 194 '%s/.*' % _GITILES_BRANCH_BASE_RE: _FakeGitilesServer() |
191 }) | 195 }) |
OLD | NEW |