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

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

Issue 491653002: Docserver: Use GitilesFileSystem instead of SubversionFileSystem (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 from api_categorizer import APICategorizer 5 from api_categorizer import APICategorizer
6 from api_models import APIModels 6 from api_models import APIModels
7 from availability_finder import AvailabilityFinder 7 from availability_finder import AvailabilityFinder
8 from empty_dir_file_system import EmptyDirFileSystem 8 from empty_dir_file_system import EmptyDirFileSystem
9 from environment import IsDevServer 9 from environment import IsDevServer
10 from features_bundle import FeaturesBundle 10 from features_bundle import FeaturesBundle
(...skipping 14 matching lines...) Expand all
25 self.api_categorizer = None 25 self.api_categorizer = None
26 self.samples_model = None 26 self.samples_model = None
27 27
28 28
29 class PlatformBundle(object): 29 class PlatformBundle(object):
30 '''Creates various objects for different platforms 30 '''Creates various objects for different platforms
31 ''' 31 '''
32 def __init__(self, 32 def __init__(self,
33 branch_utility, 33 branch_utility,
34 compiled_fs_factory, 34 compiled_fs_factory,
35 host_fs_at_trunk, 35 host_fs_at_master,
36 host_file_system_iterator, 36 host_file_system_iterator,
37 object_store_creator, 37 object_store_creator,
38 base_path): 38 base_path):
39 self._branch_utility = branch_utility 39 self._branch_utility = branch_utility
40 self._compiled_fs_factory = compiled_fs_factory 40 self._compiled_fs_factory = compiled_fs_factory
41 self._host_fs_at_trunk = host_fs_at_trunk 41 self._host_fs_at_master = host_fs_at_master
42 self._host_file_system_iterator = host_file_system_iterator 42 self._host_file_system_iterator = host_file_system_iterator
43 self._object_store_creator = object_store_creator 43 self._object_store_creator = object_store_creator
44 self._base_path = base_path 44 self._base_path = base_path
45 self._platform_data = dict((p, _PlatformData()) for p in GetPlatforms()) 45 self._platform_data = dict((p, _PlatformData()) for p in GetPlatforms())
46 46
47 def GetSamplesModel(self, platform): 47 def GetSamplesModel(self, platform):
48 if self._platform_data[platform].samples_model is None: 48 if self._platform_data[platform].samples_model is None:
49 # Note: samples are super slow in the dev server because it doesn't 49 # Note: samples are super slow in the dev server because it doesn't
50 # support async fetch, so disable them. 50 # support async fetch, so disable them.
51 if IsDevServer(): 51 if IsDevServer():
52 extension_samples_fs = EmptyDirFileSystem() 52 extension_samples_fs = EmptyDirFileSystem()
53 app_samples_fs = EmptyDirFileSystem() 53 app_samples_fs = EmptyDirFileSystem()
54 else: 54 else:
55 extension_samples_fs = self._host_fs_at_trunk 55 extension_samples_fs = self._host_fs_at_master
56 # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097. 56 # TODO(kalman): Re-enable the apps samples, see http://crbug.com/344097.
57 app_samples_fs = EmptyDirFileSystem() 57 app_samples_fs = EmptyDirFileSystem()
58 #app_samples_fs = github_file_system_provider.Create( 58 #app_samples_fs = github_file_system_provider.Create(
59 # 'GoogleChrome', 'chrome-app-samples') 59 # 'GoogleChrome', 'chrome-app-samples')
60 self._platform_data[platform].samples_model = SamplesModel( 60 self._platform_data[platform].samples_model = SamplesModel(
61 extension_samples_fs, 61 extension_samples_fs,
62 app_samples_fs, 62 app_samples_fs,
63 self._compiled_fs_factory, 63 self._compiled_fs_factory,
64 self.GetReferenceResolver(platform), 64 self.GetReferenceResolver(platform),
65 self._base_path, 65 self._base_path,
66 platform) 66 platform)
67 return self._platform_data[platform].samples_model 67 return self._platform_data[platform].samples_model
68 68
69 def GetFeaturesBundle(self, platform): 69 def GetFeaturesBundle(self, platform):
70 if self._platform_data[platform].features_bundle is None: 70 if self._platform_data[platform].features_bundle is None:
71 self._platform_data[platform].features_bundle = FeaturesBundle( 71 self._platform_data[platform].features_bundle = FeaturesBundle(
72 self._host_fs_at_trunk, 72 self._host_fs_at_master,
73 self._compiled_fs_factory, 73 self._compiled_fs_factory,
74 self._object_store_creator, 74 self._object_store_creator,
75 platform) 75 platform)
76 return self._platform_data[platform].features_bundle 76 return self._platform_data[platform].features_bundle
77 77
78 def GetAPIModels(self, platform): 78 def GetAPIModels(self, platform):
79 if self._platform_data[platform].api_models is None: 79 if self._platform_data[platform].api_models is None:
80 # TODO(danielj41): Filter APIModels data here rather than passing the 80 # TODO(danielj41): Filter APIModels data here rather than passing the
81 # platform. 81 # platform.
82 self._platform_data[platform].api_models = APIModels( 82 self._platform_data[platform].api_models = APIModels(
83 self.GetFeaturesBundle(platform), 83 self.GetFeaturesBundle(platform),
84 self._compiled_fs_factory, 84 self._compiled_fs_factory,
85 self._host_fs_at_trunk, 85 self._host_fs_at_master,
86 self._object_store_creator, 86 self._object_store_creator,
87 platform, 87 platform,
88 SchemaProcessorFactory( 88 SchemaProcessorFactory(
89 Future(callback=lambda: self.GetReferenceResolver(platform)), 89 Future(callback=lambda: self.GetReferenceResolver(platform)),
90 Future(callback=lambda: self.GetAPIModels(platform)), 90 Future(callback=lambda: self.GetAPIModels(platform)),
91 Future(callback=lambda: self.GetFeaturesBundle(platform)), 91 Future(callback=lambda: self.GetFeaturesBundle(platform)),
92 self._compiled_fs_factory, 92 self._compiled_fs_factory,
93 self._host_fs_at_trunk)) 93 self._host_fs_at_master))
94 return self._platform_data[platform].api_models 94 return self._platform_data[platform].api_models
95 95
96 def GetReferenceResolver(self, platform): 96 def GetReferenceResolver(self, platform):
97 if self._platform_data[platform].reference_resolver is None: 97 if self._platform_data[platform].reference_resolver is None:
98 self._platform_data[platform].reference_resolver = ReferenceResolver( 98 self._platform_data[platform].reference_resolver = ReferenceResolver(
99 self.GetAPIModels(platform), 99 self.GetAPIModels(platform),
100 self._object_store_creator.Create(ReferenceResolver, 100 self._object_store_creator.Create(ReferenceResolver,
101 category=platform)) 101 category=platform))
102 return self._platform_data[platform].reference_resolver 102 return self._platform_data[platform].reference_resolver
103 103
104 def GetAvailabilityFinder(self, platform): 104 def GetAvailabilityFinder(self, platform):
105 if self._platform_data[platform].availability_finder is None: 105 if self._platform_data[platform].availability_finder is None:
106 self._platform_data[platform].availability_finder = AvailabilityFinder( 106 self._platform_data[platform].availability_finder = AvailabilityFinder(
107 self._branch_utility, 107 self._branch_utility,
108 self._compiled_fs_factory, 108 self._compiled_fs_factory,
109 self._host_file_system_iterator, 109 self._host_file_system_iterator,
110 self._host_fs_at_trunk, 110 self._host_fs_at_master,
111 self._object_store_creator, 111 self._object_store_creator,
112 platform, 112 platform,
113 SchemaProcessorFactory( 113 SchemaProcessorFactory(
114 Future(callback=lambda: self.GetReferenceResolver(platform)), 114 Future(callback=lambda: self.GetReferenceResolver(platform)),
115 Future(callback=lambda: self.GetAPIModels(platform)), 115 Future(callback=lambda: self.GetAPIModels(platform)),
116 Future(callback=lambda: self.GetFeaturesBundle(platform)), 116 Future(callback=lambda: self.GetFeaturesBundle(platform)),
117 self._compiled_fs_factory, 117 self._compiled_fs_factory,
118 self._host_fs_at_trunk)) 118 self._host_fs_at_master))
119 return self._platform_data[platform].availability_finder 119 return self._platform_data[platform].availability_finder
120 120
121 def GetAPICategorizer(self, platform): 121 def GetAPICategorizer(self, platform):
122 if self._platform_data[platform].api_categorizer is None: 122 if self._platform_data[platform].api_categorizer is None:
123 self._platform_data[platform].api_categorizer = APICategorizer( 123 self._platform_data[platform].api_categorizer = APICategorizer(
124 self._host_fs_at_trunk, 124 self._host_fs_at_master,
125 self._compiled_fs_factory, 125 self._compiled_fs_factory,
126 platform) 126 platform)
127 return self._platform_data[platform].api_categorizer 127 return self._platform_data[platform].api_categorizer
128 128
129 def Cron(self): 129 def Cron(self):
130 return All(self.GetAPIModels(platform).Cron() 130 return All(self.GetAPIModels(platform).Cron()
131 for platform in self._platform_data) 131 for platform in self._platform_data)
132 132
133 def GetIdentity(self): 133 def GetIdentity(self):
134 return self._host_fs_at_trunk.GetIdentity() 134 return self._host_fs_at_master.GetIdentity()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698