• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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