| Index: chrome/common/extensions/docs/server2/echo_handler.py
|
| diff --git a/chrome/common/extensions/docs/server2/echo_handler.py b/chrome/common/extensions/docs/server2/echo_handler.py
|
| index c94c412157fc3a3b8c14442d315128e02824476d..39fd287ca4f0e6b490e5b9cbc8544ec33d61cc40 100755
|
| --- a/chrome/common/extensions/docs/server2/echo_handler.py
|
| +++ b/chrome/common/extensions/docs/server2/echo_handler.py
|
| @@ -20,17 +20,19 @@ from google.appengine.ext.webapp.util import run_wsgi_app
|
| from api_data_source import APIDataSource
|
| from api_list_data_source import APIListDataSource
|
| from appengine_memcache import AppEngineMemcache
|
| +from appengine_url_fetcher import AppEngineUrlFetcher
|
| from branch_utility import BranchUtility
|
| from example_zipper import ExampleZipper
|
| from file_system_cache import FileSystemCache
|
| from intro_data_source import IntroDataSource
|
| from local_file_system import LocalFileSystem
|
| from memcache_file_system import MemcacheFileSystem
|
| +from memcache_url_fetcher import MemcacheUrlFetcher
|
| from samples_data_source import SamplesDataSource
|
| from server_instance import ServerInstance
|
| from subversion_file_system import SubversionFileSystem
|
| from template_data_source import TemplateDataSource
|
| -from appengine_url_fetcher import AppEngineUrlFetcher
|
| +from zip_file_system import ZipFileSystem
|
|
|
| SVN_URL = 'http://src.chromium.org/chrome'
|
| TRUNK_URL = SVN_URL + '/trunk'
|
| @@ -46,6 +48,8 @@ PRIVATE_TEMPLATE_PATH = DOCS_PATH + '/server2/templates/private'
|
| EXAMPLES_PATH = DOCS_PATH + '/examples'
|
| FULL_EXAMPLES_PATH = DOCS_PATH + '/' + EXAMPLES_PATH
|
|
|
| +GITHUB_URL = 'https://api.github.com/repos/GoogleChrome/chrome-app-samples'
|
| +
|
| # The branch that the server will default to when no branch is specified in the
|
| # URL. This is necessary because it is not possible to pass flags to the script
|
| # handler.
|
| @@ -69,14 +73,17 @@ class Handler(webapp.RequestHandler):
|
| def _GetInstanceForBranch(self, branch):
|
| if branch in SERVER_INSTANCES:
|
| return SERVER_INSTANCES[branch]
|
| + appengine_memcache = AppEngineMemcache(branch, memcache)
|
| if branch == 'local':
|
| file_system = LocalFileSystem(EXTENSIONS_PATH)
|
| else:
|
| fetcher = AppEngineUrlFetcher(
|
| _GetURLFromBranch(branch) + '/' + EXTENSIONS_PATH)
|
| file_system = MemcacheFileSystem(SubversionFileSystem(fetcher),
|
| - AppEngineMemcache(branch, memcache))
|
| -
|
| + appengine_memcache)
|
| + zip_file_system = ZipFileSystem(
|
| + MemcacheUrlFetcher(appengine_memcache, GITHUB_URL))
|
| + zip_cache_builder = FileSystemCache.Builder(zip_file_system)
|
| cache_builder = FileSystemCache.Builder(file_system)
|
| api_data_source = APIDataSource(cache_builder, API_PATH)
|
| api_list_data_source = APIListDataSource(cache_builder,
|
| @@ -87,7 +94,9 @@ class Handler(webapp.RequestHandler):
|
| [INTRO_PATH, ARTICLE_PATH])
|
| samples_data_source_factory = SamplesDataSource.Factory(branch,
|
| file_system,
|
| + zip_file_system,
|
| cache_builder,
|
| + zip_cache_builder,
|
| EXAMPLES_PATH)
|
| template_data_source_factory = TemplateDataSource.Factory(
|
| branch,
|
|
|