• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
5import collections
6
7import easy_template
8
9def CmpByName(x, y):
10  return cmp(x['NAME'], y['NAME'])
11
12class 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)
34