strings_data_source.py revision 3551c9c881056c480085172ff9840cab31610854
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 5from data_source import DataSource 6from third_party.json_schema_compiler.json_parse import Parse 7 8class StringsDataSource(DataSource): 9 '''Provides templates with access to a key to string mapping defined in a 10 JSON configuration file. 11 ''' 12 def __init__(self, server_instance): 13 self._cache = server_instance.compiled_host_fs_factory.Create( 14 lambda _, strings_json: Parse(strings_json), StringsDataSource) 15 self._strings_json_path = server_instance.strings_json_path 16 17 def Cron(self): 18 self._cache.GetFromFile(self._strings_json_path) 19 20 def get(self, key): 21 return self._cache.GetFromFile(self._strings_json_path)[key] 22