4061165b13c43661cb33b0b5f007df97daf90d18
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / build_tools / generate_index.py
1 # Copyright (c) 2012 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 collections
6
7 import easy_template
8
9 def CmpByName(x, y):
10   return cmp(x['NAME'], y['NAME'])
11   
12 class LandingPage(object):
13   def __init__(self):
14     self.section_list = ['Getting Started', 'API', 'Demo', 'Tutorial']
15     self.section_map = collections.defaultdict(list)
16
17   def GeneratePage(self, template_path):
18     with open(template_path) as template_file:
19       template = template_file.read()
20
21     sec_map = {}
22     for section_name in self.section_map:
23       items = self.section_map[section_name]
24       items = sorted(items, cmp=CmpByName)
25       sec_map[section_name] = items
26
27     template_dict = { 'section_map': sec_map }
28     return easy_template.RunTemplateString(template, template_dict)
29
30   def AddDesc(self, desc):
31     group = desc['GROUP']
32     assert group in self.section_list
33     self.section_map[group].append(desc)