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

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: Revisions, Offline/Online Access (bypassed-hooks) 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_data_source import AvailabilityDataSource
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,
44 file_system_creator):
43 self.channel = channel 45 self.channel = channel
44 46
45 self.object_store_creator = object_store_creator 47 self.object_store_creator = object_store_creator
46 48
47 self.host_file_system = host_file_system 49 self.host_file_system = host_file_system
48 50
49 self.app_samples_file_system = app_samples_file_system 51 self.app_samples_file_system = app_samples_file_system
50 52
51 self.compiled_host_fs_factory = CompiledFileSystem.Factory( 53 self.compiled_host_fs_factory = CompiledFileSystem.Factory(
52 host_file_system, 54 host_file_system,
53 object_store_creator) 55 object_store_creator)
54 56
57 self.chrome_version_utility = ChromeVersionUtility(
58 url_constants.OMAHA_DEV_HISTORY,
59 AppEngineUrlFetcher(),
60 object_store_creator)
61
62 self.availability_data_source_factory = AvailabilityDataSource.Factory(
63 self.chrome_version_utility,
64 object_store_creator,
65 file_system_creator)
66
55 self.api_list_data_source_factory = APIListDataSource.Factory( 67 self.api_list_data_source_factory = APIListDataSource.Factory(
56 self.compiled_host_fs_factory, 68 self.compiled_host_fs_factory,
57 svn_constants.API_PATH, 69 svn_constants.API_PATH,
58 svn_constants.PUBLIC_TEMPLATE_PATH) 70 svn_constants.PUBLIC_TEMPLATE_PATH)
59 71
60 self.api_data_source_factory = APIDataSource.Factory( 72 self.api_data_source_factory = APIDataSource.Factory(
61 self.compiled_host_fs_factory, 73 self.compiled_host_fs_factory,
62 svn_constants.API_PATH) 74 svn_constants.API_PATH,
75 self.availability_data_source_factory,
76 file_system_creator)
not at google - send to devlin 2013/05/13 21:26:41 I don't think you need to pass it in here
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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 self.compiled_host_fs_factory) 132 self.compiled_host_fs_factory)
119 133
120 self.content_cache = self.compiled_host_fs_factory.CreateIdentity( 134 self.content_cache = self.compiled_host_fs_factory.CreateIdentity(
121 ServerInstance) 135 ServerInstance)
122 136
123 @staticmethod 137 @staticmethod
124 def ForTest(file_system): 138 def ForTest(file_system):
125 return ServerInstance('test', 139 return ServerInstance('test',
126 ObjectStoreCreator.ForTest(), 140 ObjectStoreCreator.ForTest(),
127 file_system, 141 file_system,
128 EmptyDirFileSystem()) 142 EmptyDirFileSystem(),
143 lambda branch: file_system)
129 144
130 @staticmethod 145 @staticmethod
131 def ForLocal(): 146 def ForLocal():
132 channel = 'trunk' 147 channel = 'trunk'
133 object_store_creator = ObjectStoreCreator(channel, 148 object_store_creator = ObjectStoreCreator(channel,
134 start_empty=False, 149 start_empty=False,
135 store_type=TestObjectStore) 150 store_type=TestObjectStore)
151 def file_system_creator(branch):
152 object_store_creator = ObjectStoreCreator(branch,
not at google - send to devlin 2013/05/13 21:26:41 why do you need a different object store creator?j
epeterson 2013/05/15 07:38:34 Done.
153 start_empty=False,
154 store_type=TestObjectStore)
155 return CachingFileSystem(LocalFileSystem.Create(), object_store_creator)
136 return ServerInstance( 156 return ServerInstance(
137 channel, 157 channel,
138 object_store_creator, 158 object_store_creator,
139 CachingFileSystem(LocalFileSystem.Create(), object_store_creator), 159 CachingFileSystem(LocalFileSystem.Create(), object_store_creator),
not at google - send to devlin 2013/05/13 21:26:41 for that matter, use the above function to constru
epeterson 2013/05/15 07:38:34 Done.
140 EmptyDirFileSystem()) 160 EmptyDirFileSystem(),
161 file_system_creator)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698