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

Side by Side Diff: chrome/common/extensions/docs/server2/patch_servlet.py

Issue 139303023: add GCS support to docs server (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated third party library, rebased and fixed a path issue caused by rebasing Created 6 years, 10 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
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 from fnmatch import fnmatch 5 from fnmatch import fnmatch
6 import logging 6 import logging
7 from urlparse import urlparse 7 from urlparse import urlparse
8 8
9 from appengine_url_fetcher import AppEngineUrlFetcher 9 from appengine_url_fetcher import AppEngineUrlFetcher
10 from caching_rietveld_patcher import CachingRietveldPatcher 10 from caching_rietveld_patcher import CachingRietveldPatcher
11 from chained_compiled_file_system import ChainedCompiledFileSystem 11 from chained_compiled_file_system import ChainedCompiledFileSystem
12 from environment import IsDevServer 12 from environment import IsDevServer
13 from extensions_paths import CONTENT_PROVIDERS 13 from extensions_paths import CONTENT_PROVIDERS
14 from instance_servlet import InstanceServlet 14 from instance_servlet import InstanceServlet
15 from render_servlet import RenderServlet 15 from render_servlet import RenderServlet
16 from rietveld_patcher import RietveldPatcher, RietveldPatcherError 16 from rietveld_patcher import RietveldPatcher, RietveldPatcherError
17 from object_store_creator import ObjectStoreCreator 17 from object_store_creator import ObjectStoreCreator
18 from patched_file_system import PatchedFileSystem 18 from patched_file_system import PatchedFileSystem
19 from server_instance import ServerInstance 19 from server_instance import ServerInstance
20 from servlet import Request, Response, Servlet 20 from servlet import Request, Response, Servlet
21 import url_constants 21 import url_constants
22 from gcs_file_system_provider import CloudStorageFileSystemProvider
22 23
23 24
24 class _PatchServletDelegate(RenderServlet.Delegate): 25 class _PatchServletDelegate(RenderServlet.Delegate):
25 def __init__(self, issue, delegate): 26 def __init__(self, issue, delegate):
26 self._issue = issue 27 self._issue = issue
27 self._delegate = delegate 28 self._delegate = delegate
28 29
29 def CreateServerInstance(self): 30 def CreateServerInstance(self):
30 # start_empty=False because a patch can rely on files that are already in 31 # start_empty=False because a patch can rely on files that are already in
31 # SVN repository but not yet pulled into data store by cron jobs (a typical 32 # SVN repository but not yet pulled into data store by cron jobs (a typical
(...skipping 24 matching lines...) Expand all
56 [unpatched_file_system], object_store_creator) 57 [unpatched_file_system], object_store_creator)
57 58
58 branch_utility = self._delegate.CreateBranchUtility(object_store_creator) 59 branch_utility = self._delegate.CreateBranchUtility(object_store_creator)
59 60
60 server_instance = ServerInstance( 61 server_instance = ServerInstance(
61 object_store_creator, 62 object_store_creator,
62 combined_compiled_fs_factory, 63 combined_compiled_fs_factory,
63 branch_utility, 64 branch_utility,
64 patched_host_file_system_provider, 65 patched_host_file_system_provider,
65 self._delegate.CreateGithubFileSystemProvider(object_store_creator), 66 self._delegate.CreateGithubFileSystemProvider(object_store_creator),
67 CloudStorageFileSystemProvider(object_store_creator),
66 base_path='/_patch/%s/' % self._issue) 68 base_path='/_patch/%s/' % self._issue)
67 69
68 # HACK: if content_providers.json changes in this patch then the cron needs 70 # HACK: if content_providers.json changes in this patch then the cron needs
69 # to be re-run to pull in the new configuration. 71 # to be re-run to pull in the new configuration.
70 _, _, modified = rietveld_patcher.GetPatchedFiles() 72 _, _, modified = rietveld_patcher.GetPatchedFiles()
71 if CONTENT_PROVIDERS in modified: 73 if CONTENT_PROVIDERS in modified:
72 server_instance.content_providers.Cron().Get() 74 server_instance.content_providers.Cron().Get()
73 75
74 return server_instance 76 return server_instance
75 77
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 # Disable cache for patched content. 109 # Disable cache for patched content.
108 response.headers.pop('cache-control', None) 110 response.headers.pop('cache-control', None)
109 except RietveldPatcherError as e: 111 except RietveldPatcherError as e:
110 response = Response.NotFound(e.message, {'Content-Type': 'text/plain'}) 112 response = Response.NotFound(e.message, {'Content-Type': 'text/plain'})
111 113
112 redirect_url, permanent = response.GetRedirect() 114 redirect_url, permanent = response.GetRedirect()
113 if redirect_url is not None: 115 if redirect_url is not None:
114 response = Response.Redirect('/_patch/%s%s' % (issue, redirect_url), 116 response = Response.Redirect('/_patch/%s%s' % (issue, redirect_url),
115 permanent) 117 permanent)
116 return response 118 return response
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/instance_servlet.py ('k') | chrome/common/extensions/docs/server2/server_instance.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698