Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: chrome/common/extensions/docs/server2/api_data_source.py

Issue 22854025: Use the externally_connectable schema from manifest_types.json to generate its (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import copy 5 import copy
6 import logging 6 import logging
7 import os 7 import os
8 from collections import defaultdict, Mapping 8 from collections import defaultdict, Mapping
9 9
10 from branch_utility import BranchUtility 10 from branch_utility import BranchUtility
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 158
159 def _GetLink(self, link): 159 def _GetLink(self, link):
160 if self._disable_refs: 160 if self._disable_refs:
161 type_name = link.split('.', 1)[-1] 161 type_name = link.split('.', 1)[-1]
162 return { 'href': '#type-%s' % type_name, 'text': link, 'name': link } 162 return { 'href': '#type-%s' % type_name, 'text': link, 'name': link }
163 return self._ref_resolver.SafeGetLink(link, namespace=self._namespace.name) 163 return self._ref_resolver.SafeGetLink(link, namespace=self._namespace.name)
164 164
165 def ToDict(self): 165 def ToDict(self):
166 if self._namespace is None: 166 if self._namespace is None:
167 return {} 167 return {}
168 return { 168 as_dict = {
169 'name': self._namespace.name, 169 'name': self._namespace.name,
170 'types': self._GenerateTypes(self._namespace.types.values()), 170 'types': self._GenerateTypes(self._namespace.types.values()),
171 'functions': self._GenerateFunctions(self._namespace.functions), 171 'functions': self._GenerateFunctions(self._namespace.functions),
172 'events': self._GenerateEvents(self._namespace.events), 172 'events': self._GenerateEvents(self._namespace.events),
173 'properties': self._GenerateProperties(self._namespace.properties), 173 'properties': self._GenerateProperties(self._namespace.properties),
174 'intro_list': self._GetIntroTableList(), 174 'introList': self._GetIntroTableList(),
175 'channel_warning': self._GetChannelWarning() 175 'channelWarning': self._GetChannelWarning(),
176 'byName': {},
176 } 177 }
178 # Make every type/function/event/property also accessible by name for
179 # rendering specific API entities rather than the whole thing at once, for
180 # example {{apis.manifestTypes.byName.ExternallyConnectable}}.
181 for item_type in ('types', 'functions', 'events', 'properties'):
182 as_dict['byName'].update(
183 (item['name'], item) for item in as_dict[item_type])
184 return as_dict
177 185
178 def _GetIntroTableList(self): 186 def _GetIntroTableList(self):
179 """Create a generic data structure that can be traversed by the templates 187 """Create a generic data structure that can be traversed by the templates
180 to create an API intro table. 188 to create an API intro table.
181 """ 189 """
182 intro_rows = [ 190 intro_rows = [
183 self._GetIntroDescriptionRow(), 191 self._GetIntroDescriptionRow(),
184 self._GetIntroAvailabilityRow() 192 self._GetIntroAvailabilityRow()
185 ] + self._GetIntroDependencyRows() 193 ] + self._GetIntroDependencyRows()
186 194
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 if self._disable_refs: 679 if self._disable_refs:
672 cache, ext = ( 680 cache, ext = (
673 (self._idl_cache_no_refs, '.idl') if (unix_name in idl_names) else 681 (self._idl_cache_no_refs, '.idl') if (unix_name in idl_names) else
674 (self._json_cache_no_refs, '.json')) 682 (self._json_cache_no_refs, '.json'))
675 else: 683 else:
676 cache, ext = ((self._idl_cache, '.idl') if (unix_name in idl_names) else 684 cache, ext = ((self._idl_cache, '.idl') if (unix_name in idl_names) else
677 (self._json_cache, '.json')) 685 (self._json_cache, '.json'))
678 return self._GenerateHandlebarContext( 686 return self._GenerateHandlebarContext(
679 cache.GetFromFile('%s/%s%s' % (self._base_path, unix_name, ext)), 687 cache.GetFromFile('%s/%s%s' % (self._base_path, unix_name, ext)),
680 path) 688 path)
OLDNEW
« no previous file with comments | « chrome/common/extensions/api/manifest_types.json ('k') | chrome/common/extensions/docs/server2/app.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698