add get_writer signal and unify with get_generators

Fix outdated docs of get_generators to unify.
This commit is contained in:
Ondrej Grover 2014-04-27 14:25:08 +02:00
commit 5a3daae72f
3 changed files with 21 additions and 5 deletions

View file

@ -209,7 +209,20 @@ class Pelican(object):
return generators
def get_writer(self):
return Writer(self.output_path, settings=self.settings)
writers = [ w for w in signals.get_writer.send(self)
if isinstance(w, type) ]
writers_found = len(writers)
if writers_found == 0:
return Writer(self.output_path, settings=self.settings)
else:
_, writer = writers[0]
if writers_found == 1:
logger.debug('Found writer: {}'.format(writer))
else:
logger.warning(
'{} writers found, using only first one: {}'.format(
writers_found, writer))
return writer(self.output_path, settings=self.settings)
def parse_arguments():

View file

@ -6,6 +6,7 @@ from blinker import signal
initialized = signal('pelican_initialized')
get_generators = signal('get_generators')
get_writer = signal('get_writer')
finalized = signal('pelican_finalized')
# Reader-level signals