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

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

Issue 26538009: Docserver: make file_system a property of Create (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: niggles Created 7 years, 2 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 7
8 from data_source import DataSource 8 from data_source import DataSource
9 from future import Gettable, Future 9 from future import Gettable, Future
10 from third_party.json_schema_compiler.json_parse import Parse 10 from third_party.json_schema_compiler.json_parse import Parse
(...skipping 25 matching lines...) Expand all
36 return True 36 return True
37 37
38 return False 38 return False
39 39
40 40
41 class SidenavDataSource(DataSource): 41 class SidenavDataSource(DataSource):
42 '''Provides templates with access to JSON files used to create the side 42 '''Provides templates with access to JSON files used to create the side
43 navigation bar. 43 navigation bar.
44 ''' 44 '''
45 def __init__(self, server_instance, request): 45 def __init__(self, server_instance, request):
46 self._cache = server_instance.compiled_host_fs_factory.Create( 46 self._cache = server_instance.compiled_fs_factory.Create(
47 self._CreateSidenavDict, SidenavDataSource) 47 server_instance.host_file_system_provider.GetTrunk(),
48 self._CreateSidenavDict,
49 SidenavDataSource)
48 self._server_instance = server_instance 50 self._server_instance = server_instance
49 self._request = request 51 self._request = request
50 52
51 def _CreateSidenavDict(self, _, content): 53 def _CreateSidenavDict(self, _, content):
52 items = Parse(content) 54 items = Parse(content)
53 # Start at level 2, the top <ul> element is level 1. 55 # Start at level 2, the top <ul> element is level 1.
54 _AddLevels(items, level=2) 56 _AddLevels(items, level=2)
55 self._QualifyHrefs(items) 57 self._QualifyHrefs(items)
56 return items 58 return items
57 59
(...skipping 19 matching lines...) Expand all
77 self._cache.GetFromFile('%s/%s_sidenav.json' % (JSON_PATH, platform)) 79 self._cache.GetFromFile('%s/%s_sidenav.json' % (JSON_PATH, platform))
78 for platform in ('apps', 'extensions')] 80 for platform in ('apps', 'extensions')]
79 for future in futures: 81 for future in futures:
80 future.Get() 82 future.Get()
81 83
82 def get(self, key): 84 def get(self, key):
83 sidenav = copy.deepcopy(self._cache.GetFromFile( 85 sidenav = copy.deepcopy(self._cache.GetFromFile(
84 '%s/%s_sidenav.json' % (JSON_PATH, key)).Get()) 86 '%s/%s_sidenav.json' % (JSON_PATH, key)).Get())
85 _AddSelected(sidenav, self._server_instance.base_path + self._request.path) 87 _AddSelected(sidenav, self._server_instance.base_path + self._request.path)
86 return sidenav 88 return sidenav
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/server_instance.py ('k') | chrome/common/extensions/docs/server2/strings_data_source.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698