Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / docs / server2 / strings_data_source.py
1 # Copyright 2013 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.
4
5 import logging
6
7 from extensions_paths import JSON_TEMPLATES
8 from data_source import DataSource
9
10
11 class StringsDataSource(DataSource):
12   '''Provides templates with access to a key to string mapping defined in a
13   JSON configuration file.
14   '''
15   def __init__(self, server_instance, _):
16     self._cache = server_instance.compiled_fs_factory.ForJson(
17         server_instance.host_file_system_provider.GetMaster())
18
19   def _GetStringsData(self):
20     return self._cache.GetFromFile('%sstrings.json' % JSON_TEMPLATES)
21
22   def Refresh(self, path):
23     return self._GetStringsData()
24
25   def get(self, key):
26     string = self._GetStringsData().Get().get(key)
27     if string is None:
28       logging.warning('String "%s" not found' % key)
29     return string