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

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

Issue 23867003: Docserver: Consolidate features caching and access. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 7 years, 3 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 appengine_wrappers import IsDevServer 7 from appengine_wrappers import IsDevServer
8 from availability_finder import AvailabilityFinder 8 from availability_finder import AvailabilityFinder
9 from compiled_file_system import CompiledFileSystem 9 from compiled_file_system import CompiledFileSystem
10 from empty_dir_file_system import EmptyDirFileSystem 10 from empty_dir_file_system import EmptyDirFileSystem
11 from example_zipper import ExampleZipper 11 from example_zipper import ExampleZipper
12 from features_bundle import FeaturesBundle
12 from host_file_system_creator import HostFileSystemCreator 13 from host_file_system_creator import HostFileSystemCreator
13 from host_file_system_iterator import HostFileSystemIterator 14 from host_file_system_iterator import HostFileSystemIterator
14 from intro_data_source import IntroDataSource 15 from intro_data_source import IntroDataSource
15 from object_store_creator import ObjectStoreCreator 16 from object_store_creator import ObjectStoreCreator
16 from path_canonicalizer import PathCanonicalizer 17 from path_canonicalizer import PathCanonicalizer
17 from permissions_data_source import PermissionsDataSource
18 from redirector import Redirector 18 from redirector import Redirector
19 from reference_resolver import ReferenceResolver 19 from reference_resolver import ReferenceResolver
20 from samples_data_source import SamplesDataSource 20 from samples_data_source import SamplesDataSource
21 import svn_constants 21 import svn_constants
22 from template_data_source import TemplateDataSource 22 from template_data_source import TemplateDataSource
23 from test_branch_utility import TestBranchUtility 23 from test_branch_utility import TestBranchUtility
24 from test_object_store import TestObjectStore 24 from test_object_store import TestObjectStore
25 25
26
27 class ServerInstance(object): 26 class ServerInstance(object):
28 27
29 def __init__(self, 28 def __init__(self,
30 object_store_creator, 29 object_store_creator,
31 host_file_system, 30 host_file_system,
32 app_samples_file_system, 31 app_samples_file_system,
33 base_path, 32 base_path,
34 compiled_fs_factory, 33 compiled_fs_factory,
35 branch_utility, 34 branch_utility,
36 host_file_system_creator): 35 host_file_system_creator):
37 self.object_store_creator = object_store_creator 36 self.object_store_creator = object_store_creator
38 37
39 self.host_file_system = host_file_system 38 self.host_file_system = host_file_system
40 39
41 self.app_samples_file_system = app_samples_file_system 40 self.app_samples_file_system = app_samples_file_system
42 41
43 self.compiled_host_fs_factory = compiled_fs_factory 42 self.compiled_host_fs_factory = compiled_fs_factory
44 43
45 self.host_file_system_creator = host_file_system_creator 44 self.host_file_system_creator = host_file_system_creator
46 45
47 self.host_file_system_iterator = HostFileSystemIterator( 46 self.host_file_system_iterator = HostFileSystemIterator(
48 host_file_system_creator, 47 host_file_system_creator,
49 host_file_system, 48 host_file_system,
50 branch_utility) 49 branch_utility)
51 50
51 self.features_bundle = FeaturesBundle(
52 self.host_file_system,
53 self.compiled_host_fs_factory,
54 svn_constants.API_FEATURES_PATH,
55 svn_constants.MANIFEST_FEATURES_PATH,
56 svn_constants.MANIFEST_JSON_PATH,
57 svn_constants.PERMISSION_FEATURES_PATH,
58 svn_constants.PERMISSIONS_JSON_PATH)
59
52 self.availability_finder = AvailabilityFinder( 60 self.availability_finder = AvailabilityFinder(
53 self.host_file_system_iterator, 61 self.host_file_system_iterator,
54 object_store_creator, 62 object_store_creator,
55 branch_utility) 63 branch_utility)
56 64
57 self.api_list_data_source_factory = APIListDataSource.Factory( 65 self.api_list_data_source_factory = APIListDataSource.Factory(
66 self.host_file_system,
58 self.compiled_host_fs_factory, 67 self.compiled_host_fs_factory,
59 self.host_file_system, 68 svn_constants.PUBLIC_TEMPLATE_PATH,
60 svn_constants.API_PATH, 69 self.features_bundle)
61 svn_constants.PUBLIC_TEMPLATE_PATH)
62 70
63 self.api_data_source_factory = APIDataSource.Factory( 71 self.api_data_source_factory = APIDataSource.Factory(
64 self.compiled_host_fs_factory, 72 self.compiled_host_fs_factory,
65 svn_constants.API_PATH, 73 svn_constants.API_PATH,
66 self.availability_finder, 74 self.availability_finder,
67 branch_utility) 75 branch_utility)
68 76
69 self.ref_resolver_factory = ReferenceResolver.Factory( 77 self.ref_resolver_factory = ReferenceResolver.Factory(
70 self.api_data_source_factory, 78 self.api_data_source_factory,
71 self.api_list_data_source_factory, 79 self.api_list_data_source_factory,
(...skipping 19 matching lines...) Expand all
91 base_path) 99 base_path)
92 100
93 self.api_data_source_factory.SetSamplesDataSourceFactory( 101 self.api_data_source_factory.SetSamplesDataSourceFactory(
94 self.samples_data_source_factory) 102 self.samples_data_source_factory)
95 103
96 self.intro_data_source_factory = IntroDataSource.Factory( 104 self.intro_data_source_factory = IntroDataSource.Factory(
97 self.compiled_host_fs_factory, 105 self.compiled_host_fs_factory,
98 self.ref_resolver_factory, 106 self.ref_resolver_factory,
99 [svn_constants.INTRO_PATH, svn_constants.ARTICLE_PATH]) 107 [svn_constants.INTRO_PATH, svn_constants.ARTICLE_PATH])
100 108
101 self.permissions_data_source = PermissionsDataSource(
102 self.compiled_host_fs_factory,
103 self.host_file_system,
104 '/'.join((svn_constants.API_PATH, '_api_features.json')),
105 '/'.join((svn_constants.API_PATH, '_permission_features.json')),
106 '/'.join((svn_constants.JSON_PATH, 'permissions.json')))
107
108 self.example_zipper = ExampleZipper( 109 self.example_zipper = ExampleZipper(
109 self.compiled_host_fs_factory, 110 self.compiled_host_fs_factory,
110 self.host_file_system, 111 self.host_file_system,
111 svn_constants.DOCS_PATH) 112 svn_constants.DOCS_PATH)
112 113
113 self.path_canonicalizer = PathCanonicalizer(self.compiled_host_fs_factory) 114 self.path_canonicalizer = PathCanonicalizer(self.compiled_host_fs_factory)
114 115
115 self.redirector = Redirector( 116 self.redirector = Redirector(
116 self.compiled_host_fs_factory, 117 self.compiled_host_fs_factory,
117 self.host_file_system, 118 self.host_file_system,
118 svn_constants.PUBLIC_TEMPLATE_PATH) 119 svn_constants.PUBLIC_TEMPLATE_PATH)
119 120
120 self.strings_json_path = '/'.join((svn_constants.JSON_PATH, 'strings.json')) 121 self.strings_json_path = svn_constants.STRINGS_JSON_PATH
121 self.sidenav_json_base_path = svn_constants.JSON_PATH 122 self.sidenav_json_base_path = svn_constants.JSON_PATH
122 self.manifest_json_path = '/'.join( 123 self.manifest_json_path = svn_constants.MANIFEST_JSON_PATH
123 (svn_constants.JSON_PATH, 'manifest.json')) 124 self.manifest_features_path = svn_constants.MANIFEST_FEATURES_PATH
124 self.manifest_features_path = '/'.join(
125 (svn_constants.API_PATH, '_manifest_features.json'))
126 125
127 self.template_data_source_factory = TemplateDataSource.Factory( 126 self.template_data_source_factory = TemplateDataSource.Factory(
128 self.api_data_source_factory, 127 self.api_data_source_factory,
129 self.api_list_data_source_factory, 128 self.api_list_data_source_factory,
130 self.intro_data_source_factory, 129 self.intro_data_source_factory,
131 self.samples_data_source_factory, 130 self.samples_data_source_factory,
132 self.compiled_host_fs_factory, 131 self.compiled_host_fs_factory,
133 self.ref_resolver_factory, 132 self.ref_resolver_factory,
134 self.permissions_data_source, 133 self.features_bundle,
135 svn_constants.PUBLIC_TEMPLATE_PATH, 134 svn_constants.PUBLIC_TEMPLATE_PATH,
136 svn_constants.PRIVATE_TEMPLATE_PATH, 135 svn_constants.PRIVATE_TEMPLATE_PATH,
137 base_path) 136 base_path)
138 137
139 self.api_data_source_factory.SetTemplateDataSource( 138 self.api_data_source_factory.SetTemplateDataSource(
140 self.template_data_source_factory) 139 self.template_data_source_factory)
141 self.permissions_data_source.SetTemplateDataSource( 140 self.features_bundle.AnnotateWithTemplateData(
142 self.template_data_source_factory) 141 self.template_data_source_factory)
143 142
144 @staticmethod 143 @staticmethod
145 def ForTest(file_system): 144 def ForTest(file_system):
146 object_store_creator = ObjectStoreCreator.ForTest() 145 object_store_creator = ObjectStoreCreator.ForTest()
147 return ServerInstance(object_store_creator, 146 return ServerInstance(object_store_creator,
148 file_system, 147 file_system,
149 EmptyDirFileSystem(), 148 EmptyDirFileSystem(),
150 '', 149 '',
151 CompiledFileSystem.Factory(file_system, 150 CompiledFileSystem.Factory(file_system,
(...skipping 10 matching lines...) Expand all
162 object_store_creator) 161 object_store_creator)
163 trunk_file_system = host_file_system_creator.Create() 162 trunk_file_system = host_file_system_creator.Create()
164 return ServerInstance( 163 return ServerInstance(
165 object_store_creator, 164 object_store_creator,
166 trunk_file_system, 165 trunk_file_system,
167 EmptyDirFileSystem(), 166 EmptyDirFileSystem(),
168 '', 167 '',
169 CompiledFileSystem.Factory(trunk_file_system, object_store_creator), 168 CompiledFileSystem.Factory(trunk_file_system, object_store_creator),
170 TestBranchUtility.CreateWithCannedData(), 169 TestBranchUtility.CreateWithCannedData(),
171 host_file_system_creator) 170 host_file_system_creator)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698