| OLD | NEW |
| 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 posixpath | 6 import posixpath |
| 7 import traceback | 7 import traceback |
| 8 | 8 |
| 9 from data_source import DataSource | 9 from data_source import DataSource |
| 10 from docs_server_utils import FormatKey | 10 from docs_server_utils import FormatKey |
| 11 from file_system import FileNotFoundError | 11 from file_system import FileNotFoundError |
| 12 from future import Future |
| 12 from svn_constants import PRIVATE_TEMPLATE_PATH | 13 from svn_constants import PRIVATE_TEMPLATE_PATH |
| 13 | 14 |
| 14 | 15 |
| 15 class TemplateDataSource(DataSource): | 16 class TemplateDataSource(DataSource): |
| 16 '''Provides a DataSource interface for compiled templates. | 17 '''Provides a DataSource interface for compiled templates. |
| 17 ''' | 18 ''' |
| 18 | 19 |
| 19 def __init__(self, server_instance, _, partial_dir=PRIVATE_TEMPLATE_PATH): | 20 def __init__(self, server_instance, _, partial_dir=PRIVATE_TEMPLATE_PATH): |
| 20 self._template_cache = server_instance.compiled_fs_factory.ForTemplates( | 21 self._template_cache = server_instance.compiled_fs_factory.ForTemplates( |
| 21 server_instance.host_file_system_provider.GetTrunk()) | 22 server_instance.host_file_system_provider.GetTrunk()) |
| 22 self._partial_dir = partial_dir | 23 self._partial_dir = partial_dir |
| 23 | 24 |
| 24 def get(self, path): | 25 def get(self, path): |
| 25 try: | 26 try: |
| 26 return self._template_cache.GetFromFile('%s/%s.html' % | 27 return self._template_cache.GetFromFile('%s/%s.html' % |
| 27 (self._partial_dir, path)).Get() | 28 (self._partial_dir, path)).Get() |
| 28 except FileNotFoundError: | 29 except FileNotFoundError: |
| 29 logging.warning(traceback.format_exc()) | 30 logging.warning(traceback.format_exc()) |
| 30 return None | 31 return None |
| 31 | 32 |
| 32 def Cron(self): | 33 def Cron(self): |
| 33 # TODO(kalman): Implement this; probably by finding all files that can be | 34 # TODO(kalman): Implement this; probably by finding all files that can be |
| 34 # compiled to templates underneath |self._partial_dir| and compiling them. | 35 # compiled to templates underneath |self._partial_dir| and compiling them. |
| 35 pass | 36 return Future(value=()) |
| OLD | NEW |