Add support for generated content (i.e., blocks).
Add support for generated content (i.e., blocks).
diff --git a/generate.py b/generate.py
index dcbbc4a..fb45085 100644
--- a/generate.py
+++ b/generate.py
@@ -1,8 +1,14 @@
#!/usr/bin/python
+"""
+Support of generated content.
+You mark some function with @generates('some_type'). It must return an instance of Generated class.
+"""
+
generated = dict()
def generates(cls):
+ "Mark function that generates content of some class."
def decorator(func):
global generated
name = func.__name__
@@ -14,6 +20,7 @@ def generates(cls):
return decorator
def generate(cls):
+ "Generate all content of given class."
r = []
for b in generated[cls]:
r.append(b())
diff --git a/modules.py b/modules.py
index 0e429d5..1bbc23b 100644
--- a/modules.py
+++ b/modules.py
@@ -11,10 +11,12 @@ import os.path
from hooks import *
from themes import *
+from generated import *
MODS_DIR = "modules"
modules = {}
-exports = ['hook', 'intercept','themeable','theme']
+exports = ['hook', 'intercept','themeable','theme',
+ 'generates', 'generate', 'Generated']
@hook
def module_load(name):