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

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

Issue 15087006: Docserver: there is only one. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: epic rebase Created 7 years, 5 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
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 fnmatch import fnmatch 5 from fnmatch import fnmatch
6 import mimetypes 6 import mimetypes
7 import traceback 7 import traceback
8 import os 8 import os
9 9
10 from api_data_source import APIDataSource 10 from api_data_source import APIDataSource
(...skipping 19 matching lines...) Expand all
30 from sidenav_data_source import SidenavDataSource 30 from sidenav_data_source import SidenavDataSource
31 import svn_constants 31 import svn_constants
32 from template_data_source import TemplateDataSource 32 from template_data_source import TemplateDataSource
33 from test_branch_utility import TestBranchUtility 33 from test_branch_utility import TestBranchUtility
34 from test_object_store import TestObjectStore 34 from test_object_store import TestObjectStore
35 from third_party.json_schema_compiler.model import UnixName 35 from third_party.json_schema_compiler.model import UnixName
36 import url_constants 36 import url_constants
37 37
38 class ServerInstance(object): 38 class ServerInstance(object):
39 def __init__(self, 39 def __init__(self,
40 channel,
41 object_store_creator, 40 object_store_creator,
42 host_file_system, 41 host_file_system,
43 app_samples_file_system, 42 app_samples_file_system,
44 base_path, 43 base_path,
45 compiled_fs_factory, 44 compiled_fs_factory,
46 branch_utility, 45 branch_utility,
47 host_file_system_creator): 46 host_file_system_creator):
48 self.channel = channel
49
50 self.object_store_creator = object_store_creator 47 self.object_store_creator = object_store_creator
51 48
52 self.host_file_system = host_file_system 49 self.host_file_system = host_file_system
53 50
54 self.app_samples_file_system = app_samples_file_system 51 self.app_samples_file_system = app_samples_file_system
55 52
56 self.compiled_host_fs_factory = compiled_fs_factory 53 self.compiled_host_fs_factory = compiled_fs_factory
57 54
58 self.host_file_system_creator = host_file_system_creator 55 self.host_file_system_creator = host_file_system_creator
59 56
(...skipping 21 matching lines...) Expand all
81 self.api_data_source_factory.SetReferenceResolverFactory( 78 self.api_data_source_factory.SetReferenceResolverFactory(
82 self.ref_resolver_factory) 79 self.ref_resolver_factory)
83 80
84 # Note: samples are super slow in the dev server because it doesn't support 81 # Note: samples are super slow in the dev server because it doesn't support
85 # async fetch, so disable them. 82 # async fetch, so disable them.
86 if IsDevServer(): 83 if IsDevServer():
87 extension_samples_fs = EmptyDirFileSystem() 84 extension_samples_fs = EmptyDirFileSystem()
88 else: 85 else:
89 extension_samples_fs = self.host_file_system 86 extension_samples_fs = self.host_file_system
90 self.samples_data_source_factory = SamplesDataSource.Factory( 87 self.samples_data_source_factory = SamplesDataSource.Factory(
91 channel,
92 extension_samples_fs, 88 extension_samples_fs,
93 CompiledFileSystem.Factory(extension_samples_fs, object_store_creator), 89 CompiledFileSystem.Factory(extension_samples_fs, object_store_creator),
94 self.app_samples_file_system, 90 self.app_samples_file_system,
95 CompiledFileSystem.Factory(self.app_samples_file_system, 91 CompiledFileSystem.Factory(self.app_samples_file_system,
96 object_store_creator), 92 object_store_creator),
97 self.ref_resolver_factory, 93 self.ref_resolver_factory,
98 svn_constants.EXAMPLES_PATH) 94 svn_constants.EXAMPLES_PATH,
95 base_path)
99 96
100 self.api_data_source_factory.SetSamplesDataSourceFactory( 97 self.api_data_source_factory.SetSamplesDataSourceFactory(
101 self.samples_data_source_factory) 98 self.samples_data_source_factory)
102 99
103 self.intro_data_source_factory = IntroDataSource.Factory( 100 self.intro_data_source_factory = IntroDataSource.Factory(
104 self.compiled_host_fs_factory, 101 self.compiled_host_fs_factory,
105 self.ref_resolver_factory, 102 self.ref_resolver_factory,
106 [svn_constants.INTRO_PATH, svn_constants.ARTICLE_PATH]) 103 [svn_constants.INTRO_PATH, svn_constants.ARTICLE_PATH])
107 104
108 self.sidenav_data_source_factory = SidenavDataSource.Factory( 105 self.sidenav_data_source_factory = SidenavDataSource.Factory(
109 self.compiled_host_fs_factory, 106 self.compiled_host_fs_factory,
110 svn_constants.JSON_PATH, 107 svn_constants.JSON_PATH)
111 base_path)
112 108
113 self.template_data_source_factory = TemplateDataSource.Factory( 109 self.template_data_source_factory = TemplateDataSource.Factory(
114 channel,
115 self.api_data_source_factory, 110 self.api_data_source_factory,
116 self.api_list_data_source_factory, 111 self.api_list_data_source_factory,
117 self.intro_data_source_factory, 112 self.intro_data_source_factory,
118 self.samples_data_source_factory, 113 self.samples_data_source_factory,
119 self.sidenav_data_source_factory, 114 self.sidenav_data_source_factory,
120 self.compiled_host_fs_factory, 115 self.compiled_host_fs_factory,
121 self.ref_resolver_factory, 116 self.ref_resolver_factory,
122 svn_constants.PUBLIC_TEMPLATE_PATH, 117 svn_constants.PUBLIC_TEMPLATE_PATH,
123 svn_constants.PRIVATE_TEMPLATE_PATH, 118 svn_constants.PRIVATE_TEMPLATE_PATH,
124 base_path) 119 base_path)
125 120
126 self.api_data_source_factory.SetTemplateDataSource( 121 self.api_data_source_factory.SetTemplateDataSource(
127 self.template_data_source_factory) 122 self.template_data_source_factory)
128 123
129 self.example_zipper = ExampleZipper( 124 self.example_zipper = ExampleZipper(
130 self.compiled_host_fs_factory, 125 self.compiled_host_fs_factory,
131 svn_constants.DOCS_PATH) 126 svn_constants.DOCS_PATH)
132 127
133 self.path_canonicalizer = PathCanonicalizer( 128 self.path_canonicalizer = PathCanonicalizer(self.compiled_host_fs_factory)
134 channel,
135 self.compiled_host_fs_factory)
136 129
137 # TODO(kalman): delete content cache. 130 # TODO(kalman): delete content cache.
138 self.content_cache = self.compiled_host_fs_factory.CreateIdentity( 131 self.content_cache = self.compiled_host_fs_factory.CreateIdentity(
139 ServerInstance) 132 ServerInstance)
140 133
141 self.redirector = Redirector( 134 self.redirector = Redirector(
142 self.compiled_host_fs_factory, 135 self.compiled_host_fs_factory,
143 self.host_file_system, 136 self.host_file_system,
144 svn_constants.PUBLIC_TEMPLATE_PATH) 137 svn_constants.PUBLIC_TEMPLATE_PATH)
145 138
146 @staticmethod 139 @staticmethod
147 def ForTest(file_system): 140 def ForTest(file_system):
148 object_store_creator = ObjectStoreCreator.ForTest() 141 object_store_creator = ObjectStoreCreator.ForTest()
149 return ServerInstance('test', 142 return ServerInstance(object_store_creator,
150 object_store_creator,
151 file_system, 143 file_system,
152 EmptyDirFileSystem(), 144 EmptyDirFileSystem(),
153 '', 145 '',
154 CompiledFileSystem.Factory(file_system, 146 CompiledFileSystem.Factory(file_system,
155 object_store_creator), 147 object_store_creator),
156 TestBranchUtility.CreateWithCannedData(), 148 TestBranchUtility.CreateWithCannedData(),
157 HostFileSystemCreator.ForTest(file_system, 149 HostFileSystemCreator.ForTest(file_system,
158 object_store_creator)) 150 object_store_creator))
159 151
160 @staticmethod 152 @staticmethod
161 def ForLocal(): 153 def ForLocal():
162 channel = 'trunk' 154 object_store_creator = ObjectStoreCreator(start_empty=False,
163 object_store_creator = ObjectStoreCreator(channel,
164 start_empty=False,
165 store_type=TestObjectStore) 155 store_type=TestObjectStore)
166 host_file_system_creator = HostFileSystemCreator.ForLocal( 156 host_file_system_creator = HostFileSystemCreator.ForLocal(
167 object_store_creator) 157 object_store_creator)
168 trunk_file_system = host_file_system_creator.Create('trunk') 158 trunk_file_system = host_file_system_creator.Create()
169 return ServerInstance( 159 return ServerInstance(
170 channel,
171 object_store_creator, 160 object_store_creator,
172 trunk_file_system, 161 trunk_file_system,
173 EmptyDirFileSystem(), 162 EmptyDirFileSystem(),
174 '', 163 '',
175 CompiledFileSystem.Factory(trunk_file_system, object_store_creator), 164 CompiledFileSystem.Factory(trunk_file_system, object_store_creator),
176 TestBranchUtility.CreateWithCannedData(), 165 TestBranchUtility.CreateWithCannedData(),
177 host_file_system_creator) 166 host_file_system_creator)
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/samples_data_source_test.py ('k') | chrome/common/extensions/docs/server2/servlet.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698