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
3 # found in the LICENSE file.
8 from data_source
import DataSource
9 from extensions_paths
import PRIVATE_TEMPLATES
10 from file_system
import FileNotFoundError
11 from future
import Future
14 class TemplateDataSource(DataSource
):
15 '''Provides a DataSource interface for compiled templates.
18 def __init__(self
, server_instance
, _
, partial_dir
=PRIVATE_TEMPLATES
):
19 self
._template
_cache
= server_instance
.compiled_fs_factory
.ForTemplates(
20 server_instance
.host_file_system_provider
.GetTrunk())
21 self
._partial
_dir
= partial_dir
25 return self
._template
_cache
.GetFromFile('%s/%s.html' %
26 (self
._partial
_dir
, path
)).Get()
27 except FileNotFoundError
:
28 logging
.warning(traceback
.format_exc())
32 # TODO(kalman): Implement this; probably by finding all files that can be
33 # compiled to templates underneath |self._partial_dir| and compiling them.
34 return Future(value
=())