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 intro_data_source import IntroDataSource 7from manifest_data_source import ManifestDataSource 8from permissions_data_source import PermissionsDataSource 9from sidenav_data_source import SidenavDataSource 10from strings_data_source import StringsDataSource 11from template_data_source import TemplateDataSource 12 13 14_all_data_sources = { 15 'intros': IntroDataSource, 16 'manifest_source': ManifestDataSource, 17 'partials': TemplateDataSource, 18 'permissions': PermissionsDataSource, 19 'sidenavs': SidenavDataSource, 20 'strings': StringsDataSource, 21} 22 23assert all(issubclass(cls, DataSource) 24 for cls in _all_data_sources.itervalues()) 25 26def CreateDataSources(server_instance, request=None): 27 '''Create a dictionary of initialized DataSources. DataSources are 28 initialized with |server_instance| and |request|. If the DataSources are 29 going to be used for Cron, |request| should be omitted. 30 31 The key of each DataSource is the name the template system will use to access 32 the DataSource. 33 ''' 34 return dict((name, cls(server_instance, request)) 35 for name, cls in _all_data_sources.iteritems()) 36