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

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: Fixing up Offline/Online Access - Attempting to rework availability algorithm Created 7 years, 7 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 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
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)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698