| 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 fnmatch import fnmatch | 5 from fnmatch import fnmatch |
| 6 import logging | |
| 7 import mimetypes | 6 import mimetypes |
| 8 import traceback | 7 import traceback |
| 9 import os | 8 import os |
| 10 | 9 |
| 11 from api_data_source import APIDataSource | 10 from api_data_source import APIDataSource |
| 12 from api_list_data_source import APIListDataSource | 11 from api_list_data_source import APIListDataSource |
| 13 from appengine_url_fetcher import AppEngineUrlFetcher | 12 from appengine_url_fetcher import AppEngineUrlFetcher |
| 14 from appengine_wrappers import GetAppVersion, IsDevServer | 13 from appengine_wrappers import GetAppVersion, IsDevServer |
| 14 from availability_finder import AvailabilityFinder |
| 15 from branch_utility import BranchUtility | 15 from branch_utility import BranchUtility |
| 16 from caching_file_system import CachingFileSystem | 16 from caching_file_system import CachingFileSystem |
| 17 from chrome_version_utility import ChromeVersionUtility |
| 17 from compiled_file_system import CompiledFileSystem | 18 from compiled_file_system import CompiledFileSystem |
| 18 from empty_dir_file_system import EmptyDirFileSystem | 19 from empty_dir_file_system import EmptyDirFileSystem |
| 19 from example_zipper import ExampleZipper | 20 from example_zipper import ExampleZipper |
| 20 from file_system import FileNotFoundError | 21 from file_system import FileNotFoundError |
| 21 from github_file_system import GithubFileSystem | 22 from github_file_system import GithubFileSystem |
| 22 from intro_data_source import IntroDataSource | 23 from intro_data_source import IntroDataSource |
| 23 from local_file_system import LocalFileSystem | 24 from local_file_system import LocalFileSystem |
| 24 from object_store_creator import ObjectStoreCreator | 25 from object_store_creator import ObjectStoreCreator |
| 25 from offline_file_system import OfflineFileSystem | 26 from offline_file_system import OfflineFileSystem |
| 26 from path_canonicalizer import PathCanonicalizer | 27 from path_canonicalizer import PathCanonicalizer |
| 27 from reference_resolver import ReferenceResolver | 28 from reference_resolver import ReferenceResolver |
| 28 from samples_data_source import SamplesDataSource | 29 from samples_data_source import SamplesDataSource |
| 29 from sidenav_data_source import SidenavDataSource | 30 from sidenav_data_source import SidenavDataSource |
| 30 from subversion_file_system import SubversionFileSystem | |
| 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_file_system import TestFileSystem |
| 33 from test_object_store import TestObjectStore | 34 from test_object_store import TestObjectStore |
| 34 from third_party.json_schema_compiler.model import UnixName | 35 from third_party.json_schema_compiler.model import UnixName |
| 35 import url_constants | 36 import url_constants |
| 36 | 37 |
| 37 class ServerInstance(object): | 38 class ServerInstance(object): |
| 38 def __init__(self, | 39 def __init__(self, |
| 39 channel, | 40 channel, |
| 40 object_store_creator, | 41 object_store_creator, |
| 41 host_file_system, | 42 host_file_system, |
| 42 app_samples_file_system, | 43 app_samples_file_system, |
| 43 static_path, | 44 static_path, |
| 44 compiled_fs_factory): | 45 compiled_fs_factory, |
| 46 create_file_system): |
| 45 self.channel = channel | 47 self.channel = channel |
| 46 | 48 |
| 47 self.object_store_creator = object_store_creator | 49 self.object_store_creator = object_store_creator |
| 48 | 50 |
| 49 self.host_file_system = host_file_system | 51 self.host_file_system = host_file_system |
| 50 | 52 |
| 51 self.app_samples_file_system = app_samples_file_system | 53 self.app_samples_file_system = app_samples_file_system |
| 52 | 54 |
| 53 self.compiled_host_fs_factory = compiled_fs_factory | 55 self.compiled_host_fs_factory = compiled_fs_factory |
| 54 | 56 |
| 57 self.chrome_version_utility = ChromeVersionUtility( |
| 58 url_constants.OMAHA_DEV_HISTORY, |
| 59 AppEngineUrlFetcher(), |
| 60 object_store_creator) |
| 61 |
| 62 self.availability_finder_factory = AvailabilityFinder.Factory( |
| 63 self.chrome_version_utility, |
| 64 object_store_creator, |
| 65 self.compiled_host_fs_factory, |
| 66 create_file_system) |
| 67 |
| 55 self.api_list_data_source_factory = APIListDataSource.Factory( | 68 self.api_list_data_source_factory = APIListDataSource.Factory( |
| 56 self.compiled_host_fs_factory, | 69 self.compiled_host_fs_factory, |
| 57 svn_constants.API_PATH, | 70 svn_constants.API_PATH, |
| 58 svn_constants.PUBLIC_TEMPLATE_PATH) | 71 svn_constants.PUBLIC_TEMPLATE_PATH) |
| 59 | 72 |
| 60 self.api_data_source_factory = APIDataSource.Factory( | 73 self.api_data_source_factory = APIDataSource.Factory( |
| 61 self.compiled_host_fs_factory, | 74 self.compiled_host_fs_factory, |
| 62 svn_constants.API_PATH) | 75 svn_constants.API_PATH, |
| 76 self.availability_finder_factory) |
| 63 | 77 |
| 64 self.ref_resolver_factory = ReferenceResolver.Factory( | 78 self.ref_resolver_factory = ReferenceResolver.Factory( |
| 65 self.api_data_source_factory, | 79 self.api_data_source_factory, |
| 66 self.api_list_data_source_factory, | 80 self.api_list_data_source_factory, |
| 67 object_store_creator) | 81 object_store_creator) |
| 68 | 82 |
| 69 self.api_data_source_factory.SetReferenceResolverFactory( | 83 self.api_data_source_factory.SetReferenceResolverFactory( |
| 70 self.ref_resolver_factory) | 84 self.ref_resolver_factory) |
| 71 | 85 |
| 72 # Note: samples are super slow in the dev server because it doesn't support | 86 # Note: samples are super slow in the dev server because it doesn't support |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 | 137 |
| 124 @staticmethod | 138 @staticmethod |
| 125 def ForTest(file_system): | 139 def ForTest(file_system): |
| 126 object_store_creator = ObjectStoreCreator.ForTest() | 140 object_store_creator = ObjectStoreCreator.ForTest() |
| 127 return ServerInstance('test', | 141 return ServerInstance('test', |
| 128 object_store_creator, | 142 object_store_creator, |
| 129 file_system, | 143 file_system, |
| 130 EmptyDirFileSystem(), | 144 EmptyDirFileSystem(), |
| 131 '/static', | 145 '/static', |
| 132 CompiledFileSystem.Factory(file_system, | 146 CompiledFileSystem.Factory(file_system, |
| 133 object_store_creator)) | 147 object_store_creator), |
| 148 lambda branch: file_system) |
| 134 | 149 |
| 135 @staticmethod | 150 @staticmethod |
| 136 def ForLocal(): | 151 def ForLocal(): |
| 137 channel = 'trunk' | 152 channel = 'trunk' |
| 138 object_store_creator = ObjectStoreCreator(channel, | 153 object_store_creator = ObjectStoreCreator(channel, |
| 139 start_empty=False, | 154 start_empty=False, |
| 140 store_type=TestObjectStore) | 155 store_type=TestObjectStore) |
| 141 file_system = CachingFileSystem(LocalFileSystem.Create(), | 156 def create_file_system(branch): |
| 142 object_store_creator) | 157 return CachingFileSystem(LocalFileSystem.Create(), object_store_creator) |
| 158 file_system = create_file_system('trunk'); |
| 143 return ServerInstance( | 159 return ServerInstance( |
| 144 channel, | 160 channel, |
| 145 object_store_creator, | 161 object_store_creator, |
| 146 file_system, | 162 file_system, |
| 147 EmptyDirFileSystem(), | 163 EmptyDirFileSystem(), |
| 148 '/static', | 164 '/static', |
| 149 CompiledFileSystem.Factory(file_system, object_store_creator)) | 165 CompiledFileSystem.Factory(file_system, object_store_creator), |
| 166 create_file_system) |
| OLD | NEW |