| OLD | NEW |
| 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_categorizer import APICategorizer | |
| 6 from api_data_source import APIDataSource | 5 from api_data_source import APIDataSource |
| 7 from api_list_data_source import APIListDataSource | 6 from api_list_data_source import APIListDataSource |
| 8 from api_models import APIModels | |
| 9 from availability_finder import AvailabilityFinder | |
| 10 from compiled_file_system import CompiledFileSystem | 7 from compiled_file_system import CompiledFileSystem |
| 11 from content_providers import ContentProviders | 8 from content_providers import ContentProviders |
| 12 from document_renderer import DocumentRenderer | 9 from document_renderer import DocumentRenderer |
| 13 from empty_dir_file_system import EmptyDirFileSystem | 10 from empty_dir_file_system import EmptyDirFileSystem |
| 14 from environment import IsDevServer | 11 from environment import IsDevServer |
| 15 from features_bundle import FeaturesBundle | |
| 16 from gcs_file_system_provider import CloudStorageFileSystemProvider | 12 from gcs_file_system_provider import CloudStorageFileSystemProvider |
| 17 from github_file_system_provider import GithubFileSystemProvider | 13 from github_file_system_provider import GithubFileSystemProvider |
| 18 from host_file_system_iterator import HostFileSystemIterator | 14 from host_file_system_iterator import HostFileSystemIterator |
| 19 from host_file_system_provider import HostFileSystemProvider | 15 from host_file_system_provider import HostFileSystemProvider |
| 20 from object_store_creator import ObjectStoreCreator | 16 from object_store_creator import ObjectStoreCreator |
| 21 from reference_resolver import ReferenceResolver | 17 from platform_bundle import PlatformBundle |
| 22 from samples_data_source import SamplesDataSource | 18 from samples_data_source import SamplesDataSource |
| 23 from table_of_contents_renderer import TableOfContentsRenderer | 19 from table_of_contents_renderer import TableOfContentsRenderer |
| 24 from template_renderer import TemplateRenderer | 20 from template_renderer import TemplateRenderer |
| 25 from test_branch_utility import TestBranchUtility | 21 from test_branch_utility import TestBranchUtility |
| 26 from test_object_store import TestObjectStore | 22 from test_object_store import TestObjectStore |
| 27 | 23 |
| 28 | 24 |
| 29 class ServerInstance(object): | 25 class ServerInstance(object): |
| 30 | 26 |
| 31 def __init__(self, | 27 def __init__(self, |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 self.github_file_system_provider = github_file_system_provider | 61 self.github_file_system_provider = github_file_system_provider |
| 66 self.gcs_file_system_provider = gcs_file_system_provider | 62 self.gcs_file_system_provider = gcs_file_system_provider |
| 67 | 63 |
| 68 assert base_path.startswith('/') and base_path.endswith('/') | 64 assert base_path.startswith('/') and base_path.endswith('/') |
| 69 self.base_path = base_path | 65 self.base_path = base_path |
| 70 | 66 |
| 71 self.host_file_system_iterator = HostFileSystemIterator( | 67 self.host_file_system_iterator = HostFileSystemIterator( |
| 72 host_file_system_provider, | 68 host_file_system_provider, |
| 73 branch_utility) | 69 branch_utility) |
| 74 | 70 |
| 75 self.features_bundle = FeaturesBundle( | 71 self.platform_bundle = PlatformBundle( |
| 72 branch_utility, |
| 73 self.compiled_fs_factory, |
| 76 host_fs_at_trunk, | 74 host_fs_at_trunk, |
| 77 self.compiled_fs_factory, | 75 self.host_file_system_iterator, |
| 78 self.object_store_creator) | 76 self.object_store_creator) |
| 79 | 77 |
| 80 self.api_models = APIModels( | |
| 81 self.features_bundle, | |
| 82 self.compiled_fs_factory, | |
| 83 host_fs_at_trunk) | |
| 84 | |
| 85 self.availability_finder = AvailabilityFinder( | |
| 86 branch_utility, | |
| 87 compiled_fs_factory, | |
| 88 self.host_file_system_iterator, | |
| 89 host_fs_at_trunk, | |
| 90 object_store_creator) | |
| 91 | |
| 92 self.api_categorizer = APICategorizer( | |
| 93 host_fs_at_trunk, | |
| 94 compiled_fs_factory) | |
| 95 | |
| 96 self.ref_resolver = ReferenceResolver( | |
| 97 self.api_models, | |
| 98 self.object_store_creator.Create(ReferenceResolver)) | |
| 99 | |
| 100 # Note: samples are super slow in the dev server because it doesn't support | 78 # Note: samples are super slow in the dev server because it doesn't support |
| 101 # async fetch, so disable them. | 79 # async fetch, so disable them. |
| 102 if IsDevServer(): | 80 if IsDevServer(): |
| 103 extension_samples_fs = EmptyDirFileSystem() | 81 extension_samples_fs = EmptyDirFileSystem() |
| 104 app_samples_fs = EmptyDirFileSystem() | 82 app_samples_fs = EmptyDirFileSystem() |
| 105 else: | 83 else: |
| 106 extension_samples_fs = host_fs_at_trunk | 84 extension_samples_fs = host_fs_at_trunk |
| 107 # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097. | 85 # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097. |
| 108 app_samples_fs = EmptyDirFileSystem() | 86 app_samples_fs = EmptyDirFileSystem() |
| 109 #app_samples_fs = github_file_system_provider.Create( | 87 #app_samples_fs = github_file_system_provider.Create( |
| 110 # 'GoogleChrome', 'chrome-app-samples') | 88 # 'GoogleChrome', 'chrome-app-samples') |
| 111 self.samples_data_source_factory = SamplesDataSource.Factory( | 89 self.samples_data_source_factory = SamplesDataSource.Factory( |
| 112 extension_samples_fs, | 90 extension_samples_fs, |
| 113 app_samples_fs, | 91 app_samples_fs, |
| 114 CompiledFileSystem.Factory(object_store_creator), | 92 CompiledFileSystem.Factory(object_store_creator), |
| 115 self.ref_resolver, | 93 self.platform_bundle, |
| 116 base_path) | 94 base_path) |
| 117 | 95 |
| 118 self.content_providers = ContentProviders( | 96 self.content_providers = ContentProviders( |
| 119 object_store_creator, | 97 object_store_creator, |
| 120 self.compiled_fs_factory, | 98 self.compiled_fs_factory, |
| 121 host_fs_at_trunk, | 99 host_fs_at_trunk, |
| 122 self.github_file_system_provider, | 100 self.github_file_system_provider, |
| 123 self.gcs_file_system_provider) | 101 self.gcs_file_system_provider) |
| 124 | 102 |
| 125 # TODO(kalman): Move all the remaining DataSources into DataSourceRegistry, | 103 # TODO(kalman): Move all the remaining DataSources into DataSourceRegistry, |
| 126 # then factor out the DataSource creation into a factory method, so that | 104 # then factor out the DataSource creation into a factory method, so that |
| 127 # the entire ServerInstance doesn't need to be passed in here. | 105 # the entire ServerInstance doesn't need to be passed in here. |
| 128 self.template_renderer = TemplateRenderer(self) | 106 self.template_renderer = TemplateRenderer(self) |
| 129 | 107 |
| 130 # TODO(kalman): It may be better for |document_renderer| to construct a | 108 # TODO(kalman): It may be better for |document_renderer| to construct a |
| 131 # TemplateDataSource itself rather than depending on template_renderer, but | 109 # TemplateDataSource itself rather than depending on template_renderer, but |
| 132 # for that the above todo should be addressed. | 110 # for that the above todo should be addressed. |
| 133 self.document_renderer = DocumentRenderer( | 111 self.document_renderer = DocumentRenderer( |
| 134 TableOfContentsRenderer(host_fs_at_trunk, | 112 TableOfContentsRenderer(host_fs_at_trunk, |
| 135 compiled_fs_factory, | 113 compiled_fs_factory, |
| 136 self.template_renderer), | 114 self.template_renderer), |
| 137 self.ref_resolver) | 115 self.platform_bundle) |
| 138 | 116 |
| 139 @staticmethod | 117 @staticmethod |
| 140 def ForTest(file_system=None, file_system_provider=None, base_path='/'): | 118 def ForTest(file_system=None, file_system_provider=None, base_path='/'): |
| 141 object_store_creator = ObjectStoreCreator.ForTest() | 119 object_store_creator = ObjectStoreCreator.ForTest() |
| 142 if file_system is None and file_system_provider is None: | 120 if file_system is None and file_system_provider is None: |
| 143 raise ValueError('Either |file_system| or |file_system_provider| ' | 121 raise ValueError('Either |file_system| or |file_system_provider| ' |
| 144 'must be specified') | 122 'must be specified') |
| 145 if file_system and file_system_provider: | 123 if file_system and file_system_provider: |
| 146 raise ValueError('Only one of |file_system| and |file_system_provider| ' | 124 raise ValueError('Only one of |file_system| and |file_system_provider| ' |
| 147 'can be specified') | 125 'can be specified') |
| (...skipping 15 matching lines...) Expand all Loading... |
| 163 store_type=TestObjectStore) | 141 store_type=TestObjectStore) |
| 164 host_file_system_provider = HostFileSystemProvider.ForLocal( | 142 host_file_system_provider = HostFileSystemProvider.ForLocal( |
| 165 object_store_creator) | 143 object_store_creator) |
| 166 return ServerInstance( | 144 return ServerInstance( |
| 167 object_store_creator, | 145 object_store_creator, |
| 168 CompiledFileSystem.Factory(object_store_creator), | 146 CompiledFileSystem.Factory(object_store_creator), |
| 169 TestBranchUtility.CreateWithCannedData(), | 147 TestBranchUtility.CreateWithCannedData(), |
| 170 host_file_system_provider, | 148 host_file_system_provider, |
| 171 GithubFileSystemProvider.ForEmpty(), | 149 GithubFileSystemProvider.ForEmpty(), |
| 172 CloudStorageFileSystemProvider(object_store_creator)) | 150 CloudStorageFileSystemProvider(object_store_creator)) |
| OLD | NEW |