Chromium Code Reviews| Index: chrome/common/extensions/docs/server2/server_instance.py |
| diff --git a/chrome/common/extensions/docs/server2/server_instance.py b/chrome/common/extensions/docs/server2/server_instance.py |
| index ba978ceedef86cd7343052aba42e02d028dcd753..5efefe7d506fcafd95a19e37facb65963c269f8c 100644 |
| --- a/chrome/common/extensions/docs/server2/server_instance.py |
| +++ b/chrome/common/extensions/docs/server2/server_instance.py |
| @@ -5,14 +5,16 @@ |
| import mimetypes |
| import os |
| -STATIC_DIR_PREFIX = 'docs/server2/' |
| +STATIC_DIR_PREFIX = 'docs/server2' |
| +DOCS_PREFIX = 'docs' |
| class ServerInstance(object): |
| """This class is used to hold a data source and fetcher for an instance of a |
| server. Each new branch will get its own ServerInstance. |
| """ |
| - def __init__(self, template_data_source, cache_builder): |
| + def __init__(self, template_data_source, example_zipper, cache_builder): |
| self._template_data_source = template_data_source |
| + self._example_zipper = example_zipper |
| self._cache = cache_builder.build(lambda x: x) |
| mimetypes.init() |
| @@ -20,7 +22,7 @@ class ServerInstance(object): |
| """Fetch a resource in the 'static' directory. |
| """ |
| try: |
| - result = self._cache.get(STATIC_DIR_PREFIX + path) |
| + result = self._cache.get(STATIC_DIR_PREFIX + '/' + path) |
| base, ext = os.path.splitext(path) |
| request_handler.response.headers['content-type'] = ( |
| mimetypes.types_map[ext]) |
| @@ -29,7 +31,14 @@ class ServerInstance(object): |
| return '' |
| def Get(self, path, request_handler): |
| - if path.startswith('static'): |
| + if path.endswith('.zip'): |
|
not at google - send to devlin
2012/07/12 00:22:48
Could be even smarter here:
if fnmatch(path, 'exa
cduvall
2012/07/12 01:51:23
Done.
|
| + content = self._example_zipper[path] |
| + request_handler.response.headers['content-type'] = ( |
| + mimetypes.types_map['.zip']) |
| + elif path.startswith('example'): |
| + content = self._cache.get(DOCS_PREFIX + '/' + path) |
| + request_handler.response.headers['content-type'] = 'text/plain' |
|
not at google - send to devlin
2012/07/12 00:22:48
This has the potential to be pretty cool if we wan
|
| + elif path.startswith('static'): |
| content = self._FetchStaticResource(path, request_handler) |
| else: |
| content = self._template_data_source.Render(path) |