Mercurial > piecrust2
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 |