summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--__init__.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/__init__.py b/__init__.py
new file mode 100644
index 0000000..2d6e837
--- /dev/null
+++ b/__init__.py
@@ -0,0 +1,33 @@
+import datetime
+
+from pelican import signals
+
+
+class GenDate:
+ def __init__(self, gen):
+ self.settings = gen.settings
+ self.process()
+
+ def process(self):
+ """Initialization process."""
+ pass
+
+ def defer_process(self):
+ """Check and return git describe value."""
+ return datetime.datetime.now()
+
+
+def initialize(gen):
+ """Function called upon article generator initialization."""
+ gen.plugin_instance = GenDate(gen)
+
+
+def fetch(gen, metadata):
+ """Function called upon article generation context fetching."""
+ gen.context['gen_date'] = gen.plugin_instance.defer_process()
+
+
+def register():
+ """Register Pelican signals to dedicated functions."""
+ signals.article_generator_init.connect(initialize)
+ signals.article_generator_context.connect(fetch)