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

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

Issue 11315018: Extensions Docs Server: Generalize $ref's to work for any schema node (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cleanup Created 8 years, 1 month 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 | Annotate | Revision Log
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 import logging 5 import logging
6 import os 6 import os
7 from StringIO import StringIO 7 from StringIO import StringIO
8 import sys 8 import sys
9 9
10 from appengine_wrappers import webapp 10 from appengine_wrappers import webapp
11 from appengine_wrappers import memcache 11 from appengine_wrappers import memcache
12 from appengine_wrappers import urlfetch 12 from appengine_wrappers import urlfetch
13 13
14 from api_data_source import APIDataSource 14 from api_data_source import APIDataSource
15 from api_list_data_source import APIListDataSource 15 from api_list_data_source import APIListDataSource
16 from appengine_blobstore import AppEngineBlobstore 16 from appengine_blobstore import AppEngineBlobstore
17 from in_memory_object_store import InMemoryObjectStore 17 from in_memory_object_store import InMemoryObjectStore
18 from appengine_url_fetcher import AppEngineUrlFetcher 18 from appengine_url_fetcher import AppEngineUrlFetcher
19 from branch_utility import BranchUtility 19 from branch_utility import BranchUtility
20 from example_zipper import ExampleZipper 20 from example_zipper import ExampleZipper
21 from compiled_file_system import CompiledFileSystem 21 from compiled_file_system import CompiledFileSystem
22 import compiled_file_system as compiled_fs 22 import compiled_file_system as compiled_fs
23 from github_file_system import GithubFileSystem 23 from github_file_system import GithubFileSystem
24 from intro_data_source import IntroDataSource 24 from intro_data_source import IntroDataSource
25 from known_issues_data_source import KnownIssuesDataSource 25 from known_issues_data_source import KnownIssuesDataSource
26 from local_file_system import LocalFileSystem 26 from local_file_system import LocalFileSystem
27 from memcache_file_system import MemcacheFileSystem 27 from memcache_file_system import MemcacheFileSystem
28 from reference_resolver import ReferenceResolver
28 from samples_data_source import SamplesDataSource 29 from samples_data_source import SamplesDataSource
29 from server_instance import ServerInstance 30 from server_instance import ServerInstance
30 from subversion_file_system import SubversionFileSystem 31 from subversion_file_system import SubversionFileSystem
31 from template_data_source import TemplateDataSource 32 from template_data_source import TemplateDataSource
32 from third_party.json_schema_compiler.model import UnixName 33 from third_party.json_schema_compiler.model import UnixName
33 import url_constants 34 import url_constants
34 35
35 # The branch that the server will default to when no branch is specified in the 36 # The branch that the server will default to when no branch is specified in the
36 # URL. This is necessary because it is not possible to pass flags to the script 37 # URL. This is necessary because it is not possible to pass flags to the script
37 # handler. 38 # handler.
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 file_system = _CreateMemcacheFileSystem(branch, branch_memcache) 125 file_system = _CreateMemcacheFileSystem(branch, branch_memcache)
125 126
126 cache_factory = CompiledFileSystem.Factory(file_system, branch_memcache) 127 cache_factory = CompiledFileSystem.Factory(file_system, branch_memcache)
127 api_list_data_source_factory = APIListDataSource.Factory(cache_factory, 128 api_list_data_source_factory = APIListDataSource.Factory(cache_factory,
128 file_system, 129 file_system,
129 API_PATH, 130 API_PATH,
130 PUBLIC_TEMPLATE_PATH) 131 PUBLIC_TEMPLATE_PATH)
131 intro_data_source_factory = IntroDataSource.Factory( 132 intro_data_source_factory = IntroDataSource.Factory(
132 cache_factory, 133 cache_factory,
133 [INTRO_PATH, ARTICLE_PATH]) 134 [INTRO_PATH, ARTICLE_PATH])
135 api_data_source_factory = APIDataSource.Factory(
136 cache_factory,
137 API_PATH)
138 ref_resolver_factory = ReferenceResolver.Factory(
139 api_data_source_factory.Create(None, disable_refs=True),
140 api_list_data_source_factory.Create())
141 api_data_source_factory.SetReferenceResolverFactory(ref_resolver_factory)
134 samples_data_source_factory = SamplesDataSource.Factory( 142 samples_data_source_factory = SamplesDataSource.Factory(
135 channel_name, 143 channel_name,
136 file_system, 144 file_system,
137 GITHUB_FILE_SYSTEM, 145 GITHUB_FILE_SYSTEM,
138 cache_factory, 146 cache_factory,
139 GITHUB_COMPILED_FILE_SYSTEM, 147 GITHUB_COMPILED_FILE_SYSTEM,
140 api_list_data_source_factory, 148 ref_resolver_factory,
141 EXAMPLES_PATH) 149 EXAMPLES_PATH)
142 api_data_source_factory = APIDataSource.Factory(cache_factory, 150 api_data_source_factory.SetSamplesDataSourceFactory(
143 API_PATH, 151 samples_data_source_factory)
144 samples_data_source_factory)
145 template_data_source_factory = TemplateDataSource.Factory( 152 template_data_source_factory = TemplateDataSource.Factory(
146 channel_name, 153 channel_name,
147 api_data_source_factory, 154 api_data_source_factory,
148 api_list_data_source_factory, 155 api_list_data_source_factory,
149 intro_data_source_factory, 156 intro_data_source_factory,
150 samples_data_source_factory, 157 samples_data_source_factory,
151 KNOWN_ISSUES_DATA_SOURCE, 158 KNOWN_ISSUES_DATA_SOURCE,
152 cache_factory, 159 cache_factory,
153 PUBLIC_TEMPLATE_PATH, 160 PUBLIC_TEMPLATE_PATH,
154 PRIVATE_TEMPLATE_PATH) 161 PRIVATE_TEMPLATE_PATH)
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 351
345 # Redirect paths like "directory" to "directory/". This is so relative 352 # Redirect paths like "directory" to "directory/". This is so relative
346 # file paths will know to treat this as a directory. 353 # file paths will know to treat this as a directory.
347 if os.path.splitext(path)[1] == '' and path[-1] != '/': 354 if os.path.splitext(path)[1] == '' and path[-1] != '/':
348 self.redirect(path + '/') 355 self.redirect(path + '/')
349 return 356 return
350 357
351 path = path.strip('/') 358 path = path.strip('/')
352 if not self._RedirectFromCodeDotGoogleDotCom(path): 359 if not self._RedirectFromCodeDotGoogleDotCom(path):
353 self._HandleGet(path) 360 self._HandleGet(path)
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/docs_server_utils.py ('k') | chrome/common/extensions/docs/server2/intro_data_source.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698