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.
5 from api_data_source import APIDataSource
6 from api_list_data_source import APIListDataSource
7 from data_source import DataSource
8 from manifest_data_source import ManifestDataSource
9 from permissions_data_source import PermissionsDataSource
10 from samples_data_source import SamplesDataSource
11 from sidenav_data_source import SidenavDataSource
12 from strings_data_source import StringsDataSource
13 from template_data_source import (
14 ArticleDataSource, IntroDataSource, PartialDataSource)
15 from whats_new_data_source import WhatsNewDataSource
19 'apis': APIDataSource,
20 'api_list': APIListDataSource,
21 'articles': ArticleDataSource,
22 'intros': IntroDataSource,
23 'manifest_source': ManifestDataSource,
24 'partials': PartialDataSource,
25 'permissions': PermissionsDataSource,
26 'samples': SamplesDataSource,
27 'sidenavs': SidenavDataSource,
28 'strings': StringsDataSource,
29 'whatsNew' : WhatsNewDataSource
32 assert all(issubclass(cls, DataSource)
33 for cls in _all_data_sources.itervalues())
35 def CreateDataSources(server_instance, request=None):
36 '''Create a dictionary of initialized DataSources. DataSources are
37 initialized with |server_instance| and |request|. If the DataSources are
38 going to be used for Cron, |request| should be omitted.
40 The key of each DataSource is the name the template system will use to access
43 return dict((name, cls(server_instance, request))
44 for name, cls in _all_data_sources.iteritems())