1
0
Fork 0
forked from github/pelican

Plugins doc + minor design changes.

This commit is contained in:
Alexis Metaireau 2011-06-18 01:03:53 +02:00
commit 28c0644eb6
10 changed files with 97 additions and 18 deletions

View file

@ -2,7 +2,7 @@ import argparse
import os
import time
from blinker import signal
from pelican import signals
from pelican.generators import (ArticlesGenerator, PagesGenerator,
StaticGenerator, PdfGenerator)
@ -46,7 +46,7 @@ class Pelican(object):
raise Exception("Impossible to find the theme %s" % theme)
self.init_plugins()
signal('pelican_initialized').send(self)
signals.initialized.send(self)
def init_plugins(self):
self.plugins = self.settings['PLUGINS']

View file

@ -8,8 +8,6 @@ import os
import math
import random
from blinker import signal
from jinja2 import Environment, FileSystemLoader
from jinja2.exceptions import TemplateNotFound
@ -17,6 +15,7 @@ from pelican.utils import copy, get_relative_path, process_translations, open
from pelican.contents import Article, Page, is_valid_content
from pelican.readers import read_file
from pelican.log import *
from pelican import signals
class Generator(object):
@ -100,7 +99,6 @@ class ArticlesGenerator(Generator):
self.dates = {}
self.tags = defaultdict(list)
self.categories = defaultdict(list)
self.signal = {'pelican_article_generate_context' : signal('pelican_article_generate_context')}
super(ArticlesGenerator, self).__init__(*args, **kwargs)
self.drafts = []
@ -214,7 +212,7 @@ class ArticlesGenerator(Generator):
and self.settings['FALLBACK_ON_FS_DATE']:
metadata['date'] = datetime.fromtimestamp(os.stat(f).st_ctime)
self.signal['pelican_article_generate_context'].send(self, metadata=metadata)
signals.article_generate_context.send(self, metadata=metadata)
article = Article(content, metadata, settings=self.settings,
filename=f)
if not is_valid_content(article, f):
@ -318,7 +316,7 @@ class StaticGenerator(Generator):
final_path=None):
"""Copy all the paths from source to destination"""
for path in paths:
copy(path, source, os.path.join(output_path, destination), final_path,
copy(path, source, os.path.join(output_path, destination), final_path,
overwrite=True)
def generate_output(self, writer):

View file

@ -1,4 +1,4 @@
from blinker import signal
from pelican import signals
"""
License plugin for Pelican
@ -19,5 +19,5 @@ def add_license(generator, metadata):
and 'LICENSE' in generator.settings.keys():
metadata['license'] = generator.settings['LICENSE']
signal('pelican_article_generate_context').connect(add_license)
def register():
signals.article_generate_context.connect(add_license)

View file

@ -1,6 +1,6 @@
import hashlib
from blinker import signal
from pelican import signals
"""
Gravata plugin for Pelican
==========================
@ -37,4 +37,4 @@ def add_gravatar(generator, metadata):
def register():
signal('pelican_article_generate_context').connect(add_gravatar)
signals.article_generate_context.connect(add_gravatar)

View file

@ -1,8 +1,7 @@
from blinker import signal
from pelican import signals
def test(sender):
print "%s initialized !!" % sender
def register():
signal('pelican_initialized').connect(test)
signals.initialized.connect(test)

View file

@ -42,7 +42,7 @@ _DEFAULT_CONFIG = {'PATH': None,
'DEFAULT_METADATA': (),
'FILES_TO_COPY': (),
'DEFAULT_STATUS': 'published',
'PLUGINS_PATH': None,
'PLUGINS': [],
}
def read_settings(filename):

4
pelican/signals.py Normal file
View file

@ -0,0 +1,4 @@
from blinker import signal
initialized = signal('pelican_initialized')
article_generate_context = signal('article_generate_context')