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

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

Issue 12996003: Dynamically generate a heading for Extension Docs API pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing comments - Patch currently being broken up Created 7 years, 6 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 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 compiled_file_system import CompiledFileSystem 17 from compiled_file_system import CompiledFileSystem
18 from empty_dir_file_system import EmptyDirFileSystem 18 from empty_dir_file_system import EmptyDirFileSystem
19 from example_zipper import ExampleZipper 19 from example_zipper import ExampleZipper
20 from file_system import FileNotFoundError 20 from file_system import FileNotFoundError
21 from github_file_system import GithubFileSystem 21 from github_file_system import GithubFileSystem
22 from intro_data_source import IntroDataSource 22 from intro_data_source import IntroDataSource
23 from local_file_system import LocalFileSystem 23 from local_file_system import LocalFileSystem
24 from object_store_creator import ObjectStoreCreator 24 from object_store_creator import ObjectStoreCreator
25 from offline_file_system import OfflineFileSystem 25 from offline_file_system import OfflineFileSystem
26 from path_canonicalizer import PathCanonicalizer 26 from path_canonicalizer import PathCanonicalizer
27 from reference_resolver import ReferenceResolver 27 from reference_resolver import ReferenceResolver
28 from samples_data_source import SamplesDataSource 28 from samples_data_source import SamplesDataSource
29 from sidenav_data_source import SidenavDataSource 29 from sidenav_data_source import SidenavDataSource
30 from subversion_file_system import SubversionFileSystem
31 import svn_constants 30 import svn_constants
32 from template_data_source import TemplateDataSource 31 from template_data_source import TemplateDataSource
32 from test_branch_utility import TestBranchUtility
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 base_path, 44 base_path,
44 compiled_fs_factory): 45 compiled_fs_factory,
46 branch_utility,
47 create_file_system):
45 self.channel = channel 48 self.channel = channel
46 49
47 self.object_store_creator = object_store_creator 50 self.object_store_creator = object_store_creator
48 51
49 self.host_file_system = host_file_system 52 self.host_file_system = host_file_system
50 53
51 self.app_samples_file_system = app_samples_file_system 54 self.app_samples_file_system = app_samples_file_system
52 55
53 self.compiled_host_fs_factory = compiled_fs_factory 56 self.compiled_host_fs_factory = compiled_fs_factory
54 57
58 self.availability_finder_factory = AvailabilityFinder.Factory(
59 object_store_creator,
60 self.compiled_host_fs_factory,
61 branch_utility,
62 create_file_system)
63
55 self.api_list_data_source_factory = APIListDataSource.Factory( 64 self.api_list_data_source_factory = APIListDataSource.Factory(
56 self.compiled_host_fs_factory, 65 self.compiled_host_fs_factory,
57 svn_constants.API_PATH, 66 svn_constants.API_PATH,
58 svn_constants.PUBLIC_TEMPLATE_PATH) 67 svn_constants.PUBLIC_TEMPLATE_PATH)
59 68
60 self.api_data_source_factory = APIDataSource.Factory( 69 self.api_data_source_factory = APIDataSource.Factory(
61 self.compiled_host_fs_factory, 70 self.compiled_host_fs_factory,
62 svn_constants.API_PATH) 71 svn_constants.API_PATH,
72 self.availability_finder_factory)
63 73
64 self.ref_resolver_factory = ReferenceResolver.Factory( 74 self.ref_resolver_factory = ReferenceResolver.Factory(
65 self.api_data_source_factory, 75 self.api_data_source_factory,
66 self.api_list_data_source_factory, 76 self.api_list_data_source_factory,
67 object_store_creator) 77 object_store_creator)
68 78
69 self.api_data_source_factory.SetReferenceResolverFactory( 79 self.api_data_source_factory.SetReferenceResolverFactory(
70 self.ref_resolver_factory) 80 self.ref_resolver_factory)
71 81
72 # Note: samples are super slow in the dev server because it doesn't support 82 # Note: samples are super slow in the dev server because it doesn't support
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 134
125 @staticmethod 135 @staticmethod
126 def ForTest(file_system): 136 def ForTest(file_system):
127 object_store_creator = ObjectStoreCreator.ForTest() 137 object_store_creator = ObjectStoreCreator.ForTest()
128 return ServerInstance('test', 138 return ServerInstance('test',
129 object_store_creator, 139 object_store_creator,
130 file_system, 140 file_system,
131 EmptyDirFileSystem(), 141 EmptyDirFileSystem(),
132 '', 142 '',
133 CompiledFileSystem.Factory(file_system, 143 CompiledFileSystem.Factory(file_system,
134 object_store_creator)) 144 object_store_creator),
145 TestBranchUtility(),
146 lambda version: file_system)
135 147
136 @staticmethod 148 @staticmethod
137 def ForLocal(): 149 def ForLocal():
138 channel = 'trunk' 150 channel = 'trunk'
139 object_store_creator = ObjectStoreCreator(channel, 151 object_store_creator = ObjectStoreCreator(channel,
140 start_empty=False, 152 start_empty=False,
141 store_type=TestObjectStore) 153 store_type=TestObjectStore)
142 file_system = CachingFileSystem(LocalFileSystem.Create(), 154 def create_file_system(version):
143 object_store_creator) 155 return CachingFileSystem(LocalFileSystem.Create(), object_store_creator)
156 trunk_file_system = create_file_system('trunk')
144 return ServerInstance( 157 return ServerInstance(
145 channel, 158 channel,
146 object_store_creator, 159 object_store_creator,
147 file_system, 160 trunk_file_system,
148 EmptyDirFileSystem(), 161 EmptyDirFileSystem(),
149 '', 162 '',
150 CompiledFileSystem.Factory(file_system, object_store_creator)) 163 CompiledFileSystem.Factory(trunk_file_system, object_store_creator),
164 TestBranchUtility(),
165 create_file_system)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698