Add a content_written signal

This commit is contained in:
Alexis Métaireau 2013-08-17 12:48:34 +02:00
commit 339955376e
3 changed files with 11 additions and 0 deletions

View file

@ -11,8 +11,10 @@ if not six.PY3:
from feedgenerator import Atom1Feed, Rss201rev2Feed
from jinja2 import Markup
from pelican.paginator import Paginator
from pelican.utils import get_relative_path, path_to_url, set_date_tzinfo
from pelican import signals
logger = logging.getLogger(__name__)
@ -151,10 +153,15 @@ class Writer(object):
os.makedirs(os.path.dirname(path))
except Exception:
pass
with self._open_w(path, 'utf-8', override=override) as f:
f.write(output)
logger.info('writing {}'.format(path))
# Send a signal to say we're writing a file with some specific
# local context.
signals.content_written.send(path, context=localcontext)
localcontext = context.copy()
if relative_urls:
relative_url = path_to_url(get_relative_path(name))