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

Unified Diff: chrome/common/extensions/docs/server2/echo_handler.py

Issue 10825067: Extensions Docs Server: Apps samples page (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698