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

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: let's try this again, shall we? Created 7 years, 2 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 permissions_data_source import PermissionsDataSource
18 from redirector import Redirector 19 from redirector import Redirector
19 from reference_resolver import ReferenceResolver 20 from reference_resolver import ReferenceResolver
20 from samples_data_source import SamplesDataSource 21 from samples_data_source import SamplesDataSource
21 import svn_constants 22 import svn_constants
22 from template_data_source import TemplateDataSource 23 from template_data_source import TemplateDataSource
23 from test_branch_utility import TestBranchUtility 24 from test_branch_utility import TestBranchUtility
24 from test_object_store import TestObjectStore 25 from test_object_store import TestObjectStore
25 26
26
27 class ServerInstance(object): 27 class ServerInstance(object):
28 28
29 def __init__(self, 29 def __init__(self,
30 object_store_creator, 30 object_store_creator,
31 host_file_system, 31 host_file_system,
32 app_samples_file_system, 32 app_samples_file_system,
33 base_path, 33 base_path,
34 compiled_fs_factory, 34 compiled_fs_factory,
35 branch_utility, 35 branch_utility,
36 host_file_system_creator): 36 host_file_system_creator):
37 self.object_store_creator = object_store_creator 37 self.object_store_creator = object_store_creator
38 38
39 self.host_file_system = host_file_system 39 self.host_file_system = host_file_system
40 40
41 self.app_samples_file_system = app_samples_file_system 41 self.app_samples_file_system = app_samples_file_system
42 42
43 self.compiled_host_fs_factory = compiled_fs_factory 43 self.compiled_host_fs_factory = compiled_fs_factory
44 44
45 self.host_file_system_creator = host_file_system_creator 45 self.host_file_system_creator = host_file_system_creator
46 46
47 self.host_file_system_iterator = HostFileSystemIterator( 47 self.host_file_system_iterator = HostFileSystemIterator(
48 host_file_system_creator, 48 host_file_system_creator,
49 host_file_system, 49 host_file_system,
50 branch_utility) 50 branch_utility)
51 51
52 self.features_bundle = FeaturesBundle(
53 self.host_file_system,
54 self.compiled_host_fs_factory,
55 self.object_store_creator)
56
52 self.availability_finder = AvailabilityFinder( 57 self.availability_finder = AvailabilityFinder(
53 self.host_file_system_iterator, 58 self.host_file_system_iterator,
54 object_store_creator, 59 object_store_creator,
55 branch_utility, 60 branch_utility,
56 host_file_system) 61 host_file_system)
57 62
58 self.api_list_data_source_factory = APIListDataSource.Factory( 63 self.api_list_data_source_factory = APIListDataSource.Factory(
59 self.compiled_host_fs_factory, 64 self.compiled_host_fs_factory,
60 self.host_file_system, 65 self.host_file_system,
61 svn_constants.API_PATH, 66 svn_constants.PUBLIC_TEMPLATE_PATH,
62 svn_constants.PUBLIC_TEMPLATE_PATH) 67 self.features_bundle,
68 self.object_store_creator)
63 69
64 self.api_data_source_factory = APIDataSource.Factory( 70 self.api_data_source_factory = APIDataSource.Factory(
65 self.compiled_host_fs_factory, 71 self.compiled_host_fs_factory,
66 svn_constants.API_PATH, 72 svn_constants.API_PATH,
67 self.availability_finder, 73 self.availability_finder,
68 branch_utility) 74 branch_utility)
69 75
70 self.ref_resolver_factory = ReferenceResolver.Factory( 76 self.ref_resolver_factory = ReferenceResolver.Factory(
71 self.api_data_source_factory, 77 self.api_data_source_factory,
72 self.api_list_data_source_factory, 78 self.api_list_data_source_factory,
(...skipping 19 matching lines...) Expand all
92 base_path) 98 base_path)
93 99
94 self.api_data_source_factory.SetSamplesDataSourceFactory( 100 self.api_data_source_factory.SetSamplesDataSourceFactory(
95 self.samples_data_source_factory) 101 self.samples_data_source_factory)
96 102
97 self.intro_data_source_factory = IntroDataSource.Factory( 103 self.intro_data_source_factory = IntroDataSource.Factory(
98 self.compiled_host_fs_factory, 104 self.compiled_host_fs_factory,
99 self.ref_resolver_factory, 105 self.ref_resolver_factory,
100 [svn_constants.INTRO_PATH, svn_constants.ARTICLE_PATH]) 106 [svn_constants.INTRO_PATH, svn_constants.ARTICLE_PATH])
101 107
102 self.permissions_data_source = PermissionsDataSource( 108 self.permissions_data_source = PermissionsDataSource(self)
103 self.compiled_host_fs_factory,
104 self.host_file_system,
105 '/'.join((svn_constants.API_PATH, '_api_features.json')),
106 '/'.join((svn_constants.API_PATH, '_permission_features.json')),
107 '/'.join((svn_constants.JSON_PATH, 'permissions.json')))
108 109
109 self.example_zipper = ExampleZipper( 110 self.example_zipper = ExampleZipper(
110 self.compiled_host_fs_factory, 111 self.compiled_host_fs_factory,
111 self.host_file_system, 112 self.host_file_system,
112 svn_constants.DOCS_PATH) 113 svn_constants.DOCS_PATH)
113 114
114 self.path_canonicalizer = PathCanonicalizer(self.compiled_host_fs_factory) 115 self.path_canonicalizer = PathCanonicalizer(self.compiled_host_fs_factory)
115 116
116 self.redirector = Redirector( 117 self.redirector = Redirector(
117 self.compiled_host_fs_factory, 118 self.compiled_host_fs_factory,
118 self.host_file_system, 119 self.host_file_system,
119 svn_constants.PUBLIC_TEMPLATE_PATH) 120 svn_constants.PUBLIC_TEMPLATE_PATH)
120 121
121 self.strings_json_path = '/'.join((svn_constants.JSON_PATH, 'strings.json')) 122 self.strings_json_path = svn_constants.STRINGS_JSON_PATH
122 self.sidenav_json_base_path = svn_constants.JSON_PATH 123 self.sidenav_json_base_path = svn_constants.JSON_PATH
123 self.manifest_json_path = '/'.join( 124 self.manifest_json_path = svn_constants.MANIFEST_JSON_PATH
124 (svn_constants.JSON_PATH, 'manifest.json')) 125 self.manifest_features_path = svn_constants.MANIFEST_FEATURES_PATH
125 self.manifest_features_path = '/'.join(
126 (svn_constants.API_PATH, '_manifest_features.json'))
127 126
128 self.template_data_source_factory = TemplateDataSource.Factory( 127 self.template_data_source_factory = TemplateDataSource.Factory(
129 self.api_data_source_factory, 128 self.api_data_source_factory,
130 self.api_list_data_source_factory, 129 self.api_list_data_source_factory,
131 self.intro_data_source_factory, 130 self.intro_data_source_factory,
132 self.samples_data_source_factory, 131 self.samples_data_source_factory,
133 self.compiled_host_fs_factory, 132 self.compiled_host_fs_factory,
134 self.ref_resolver_factory, 133 self.ref_resolver_factory,
135 self.permissions_data_source, 134 self.permissions_data_source,
136 svn_constants.PUBLIC_TEMPLATE_PATH, 135 svn_constants.PUBLIC_TEMPLATE_PATH,
(...skipping 26 matching lines...) Expand all
163 object_store_creator) 162 object_store_creator)
164 trunk_file_system = host_file_system_creator.Create() 163 trunk_file_system = host_file_system_creator.Create()
165 return ServerInstance( 164 return ServerInstance(
166 object_store_creator, 165 object_store_creator,
167 trunk_file_system, 166 trunk_file_system,
168 EmptyDirFileSystem(), 167 EmptyDirFileSystem(),
169 '', 168 '',
170 CompiledFileSystem.Factory(trunk_file_system, object_store_creator), 169 CompiledFileSystem.Factory(trunk_file_system, object_store_creator),
171 TestBranchUtility.CreateWithCannedData(), 170 TestBranchUtility.CreateWithCannedData(),
172 host_file_system_creator) 171 host_file_system_creator)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698