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

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

Issue 1151283007: Docserver overhaul: Gitiles away from me. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove inform_users template to fix presubmit failure (it's now a redirect) Created 5 years, 6 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 (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 from api_data_source import APIDataSource 5 from api_data_source import APIDataSource
6 from api_list_data_source import APIListDataSource 6 from api_list_data_source import APIListDataSource
7 from compiled_file_system import CompiledFileSystem 7 from compiled_file_system import CompiledFileSystem
8 from content_providers import ContentProviders 8 from content_providers import ContentProviders
9 from document_renderer import DocumentRenderer 9 from document_renderer import DocumentRenderer
10 from empty_dir_file_system import EmptyDirFileSystem 10 from empty_dir_file_system import EmptyDirFileSystem
11 from environment import IsDevServer 11 from environment import IsDevServer
12 from gcs_file_system_provider import CloudStorageFileSystemProvider 12 from gcs_file_system_provider import CloudStorageFileSystemProvider
13 from github_file_system_provider import GithubFileSystemProvider
14 from host_file_system_iterator import HostFileSystemIterator 13 from host_file_system_iterator import HostFileSystemIterator
15 from host_file_system_provider import HostFileSystemProvider 14 from host_file_system_provider import HostFileSystemProvider
16 from object_store_creator import ObjectStoreCreator 15 from object_store_creator import ObjectStoreCreator
17 from platform_bundle import PlatformBundle 16 from platform_bundle import PlatformBundle
18 from samples_data_source import SamplesDataSource 17 from samples_data_source import SamplesDataSource
19 from table_of_contents_renderer import TableOfContentsRenderer 18 from table_of_contents_renderer import TableOfContentsRenderer
20 from template_renderer import TemplateRenderer 19 from template_renderer import TemplateRenderer
21 from test_branch_utility import TestBranchUtility 20 from test_branch_utility import TestBranchUtility
22 from test_object_store import TestObjectStore 21 from test_object_store import TestObjectStore
23 22
24 23
25 class ServerInstance(object): 24 class ServerInstance(object):
26 25
27 def __init__(self, 26 def __init__(self,
28 object_store_creator, 27 object_store_creator,
29 compiled_fs_factory, 28 compiled_fs_factory,
30 branch_utility, 29 branch_utility,
31 host_file_system_provider, 30 host_file_system_provider,
32 github_file_system_provider,
33 gcs_file_system_provider, 31 gcs_file_system_provider,
34 base_path='/'): 32 base_path='/'):
35 ''' 33 '''
36 |object_store_creator| 34 |object_store_creator|
37 The ObjectStoreCreator used to create almost all caches. 35 The ObjectStoreCreator used to create almost all caches.
38 |compiled_fs_factory| 36 |compiled_fs_factory|
39 Factory used to create CompiledFileSystems, a higher-level cache type 37 Factory used to create CompiledFileSystems, a higher-level cache type
40 than ObjectStores. This can usually be derived from just 38 than ObjectStores. This can usually be derived from just
41 |object_store_creator| but under special circumstances a different 39 |object_store_creator| but under special circumstances a different
42 implementation needs to be passed in. 40 implementation needs to be passed in.
43 |branch_utility| 41 |branch_utility|
44 Has knowledge of Chrome branches, channels, and versions. 42 Has knowledge of Chrome branches, channels, and versions.
45 |host_file_system_provider| 43 |host_file_system_provider|
46 Creates FileSystem instances which host the server at alternative 44 Creates FileSystem instances which host the server at alternative
47 revisions. 45 revisions.
48 |github_file_system_provider|
49 Creates FileSystem instances backed by GitHub.
50 |base_path| 46 |base_path|
51 The path which all HTML is generated relative to. Usually this is / 47 The path which all HTML is generated relative to. Usually this is /
52 but some servlets need to override this. 48 but some servlets need to override this.
53 ''' 49 '''
54 self.object_store_creator = object_store_creator 50 self.object_store_creator = object_store_creator
55 51
56 self.compiled_fs_factory = compiled_fs_factory 52 self.compiled_fs_factory = compiled_fs_factory
57 53
58 self.host_file_system_provider = host_file_system_provider 54 self.host_file_system_provider = host_file_system_provider
59 host_fs_at_master = host_file_system_provider.GetMaster() 55 host_fs_at_master = host_file_system_provider.GetMaster()
60 56
61 self.github_file_system_provider = github_file_system_provider
62 self.gcs_file_system_provider = gcs_file_system_provider 57 self.gcs_file_system_provider = gcs_file_system_provider
63 58
64 assert base_path.startswith('/') and base_path.endswith('/') 59 assert base_path.startswith('/') and base_path.endswith('/')
65 self.base_path = base_path 60 self.base_path = base_path
66 61
67 self.host_file_system_iterator = HostFileSystemIterator( 62 self.host_file_system_iterator = HostFileSystemIterator(
68 host_file_system_provider, 63 host_file_system_provider,
69 branch_utility) 64 branch_utility)
70 65
71 self.platform_bundle = PlatformBundle( 66 self.platform_bundle = PlatformBundle(
72 branch_utility, 67 branch_utility,
73 self.compiled_fs_factory, 68 self.compiled_fs_factory,
74 host_fs_at_master, 69 host_fs_at_master,
75 self.host_file_system_iterator, 70 self.host_file_system_iterator,
76 self.object_store_creator, 71 self.object_store_creator,
77 self.base_path) 72 self.base_path)
78 73
79 self.content_providers = ContentProviders( 74 self.content_providers = ContentProviders(
80 object_store_creator, 75 object_store_creator,
81 self.compiled_fs_factory, 76 self.compiled_fs_factory,
82 host_fs_at_master, 77 host_fs_at_master,
83 self.github_file_system_provider,
84 self.gcs_file_system_provider) 78 self.gcs_file_system_provider)
85 79
86 # TODO(kalman): Move all the remaining DataSources into DataSourceRegistry, 80 # TODO(kalman): Move all the remaining DataSources into DataSourceRegistry,
87 # then factor out the DataSource creation into a factory method, so that 81 # then factor out the DataSource creation into a factory method, so that
88 # the entire ServerInstance doesn't need to be passed in here. 82 # the entire ServerInstance doesn't need to be passed in here.
89 self.template_renderer = TemplateRenderer(self) 83 self.template_renderer = TemplateRenderer(self)
90 84
91 # TODO(kalman): It may be better for |document_renderer| to construct a 85 # TODO(kalman): It may be better for |document_renderer| to construct a
92 # TemplateDataSource itself rather than depending on template_renderer, but 86 # TemplateDataSource itself rather than depending on template_renderer, but
93 # for that the above todo should be addressed. 87 # for that the above todo should be addressed.
(...skipping 13 matching lines...) Expand all
107 raise ValueError('Only one of |file_system| and |file_system_provider| ' 101 raise ValueError('Only one of |file_system| and |file_system_provider| '
108 'can be specified') 102 'can be specified')
109 if file_system_provider is None: 103 if file_system_provider is None:
110 file_system_provider = HostFileSystemProvider.ForTest( 104 file_system_provider = HostFileSystemProvider.ForTest(
111 file_system, 105 file_system,
112 object_store_creator) 106 object_store_creator)
113 return ServerInstance(object_store_creator, 107 return ServerInstance(object_store_creator,
114 CompiledFileSystem.Factory(object_store_creator), 108 CompiledFileSystem.Factory(object_store_creator),
115 TestBranchUtility.CreateWithCannedData(), 109 TestBranchUtility.CreateWithCannedData(),
116 file_system_provider, 110 file_system_provider,
117 GithubFileSystemProvider.ForEmpty(),
118 CloudStorageFileSystemProvider(object_store_creator), 111 CloudStorageFileSystemProvider(object_store_creator),
119 base_path=base_path) 112 base_path=base_path)
120 113
121 @staticmethod 114 @staticmethod
122 def ForLocal(): 115 def ForLocal():
123 object_store_creator = ObjectStoreCreator(start_empty=False, 116 object_store_creator = ObjectStoreCreator(start_empty=False,
124 store_type=TestObjectStore) 117 store_type=TestObjectStore)
125 host_file_system_provider = HostFileSystemProvider.ForLocal( 118 host_file_system_provider = HostFileSystemProvider.ForLocal(
126 object_store_creator) 119 object_store_creator)
127 return ServerInstance( 120 return ServerInstance(
128 object_store_creator, 121 object_store_creator,
129 CompiledFileSystem.Factory(object_store_creator), 122 CompiledFileSystem.Factory(object_store_creator),
130 TestBranchUtility.CreateWithCannedData(), 123 TestBranchUtility.CreateWithCannedData(),
131 host_file_system_provider, 124 host_file_system_provider,
132 GithubFileSystemProvider.ForEmpty(),
133 CloudStorageFileSystemProvider(object_store_creator)) 125 CloudStorageFileSystemProvider(object_store_creator))
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/samples_data_source.py ('k') | chrome/common/extensions/docs/server2/servlet.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698