Add support for generated content (i.e., blocks).

portnov [2008-06-05 14:47:59]
Add support for generated content (i.e., blocks).
Filename
generate.py
modules.py
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):
ViewGit