comparison piecrust/app.py @ 815:69d16e1afb95

internal: Keep things out of the `PieCrust` class, and other clean-ups.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 11 Jan 2017 09:01:01 -0800
parents aca04e175488
children 7d83b9484b98
comparison
equal deleted inserted replaced
814:aca04e175488 815:69d16e1afb95
198 raise ConfigurationError("No such publisher: %s" % pub_type) 198 raise ConfigurationError("No such publisher: %s" % pub_type)
199 tgt = cls(self, n, t) 199 tgt = cls(self, n, t)
200 tgts.append(tgt) 200 tgts.append(tgt)
201 return tgts 201 return tgts
202 202
203 @cached_property
204 def dataProviderClasses(self):
205 return self.plugin_loader.getDataProviders()
206
207
208 def getSource(self, source_name): 203 def getSource(self, source_name):
209 for source in self.sources: 204 for source in self.sources:
210 if source.name == source_name: 205 if source.name == source_name:
211 return source 206 return source
212 return None 207 return None
238 def getPublisher(self, target_name): 233 def getPublisher(self, target_name):
239 for pub in self.publishers: 234 for pub in self.publishers:
240 if pub.target == target_name: 235 if pub.target == target_name:
241 return pub 236 return pub
242 return None 237 return None
243
244 def getDataProviderClass(cls, provider_type):
245 for prov in cls.dataProviderClasses:
246 if prov.PROVIDER_NAME == provider_type:
247 return prov
248 raise ConfigurationError(
249 "Unknown data provider type: %s" % provider_type)
250
251 238
252 def _get_dir(self, default_rel_dir): 239 def _get_dir(self, default_rel_dir):
253 abs_dir = os.path.join(self.root_dir, default_rel_dir) 240 abs_dir = os.path.join(self.root_dir, default_rel_dir)
254 if os.path.isdir(abs_dir): 241 if os.path.isdir(abs_dir):
255 return abs_dir 242 return abs_dir