Add test block module. Making that to work required some fixes.
Add test block module. Making that to work required some fixes.
diff --git a/modules.py b/modules.py
index ee7afbb..78ee4b8 100644
--- a/modules.py
+++ b/modules.py
@@ -20,16 +20,26 @@ exports = ['export', 'export_as', 'hook', 'intercept','themeable','theme',
def export(func):
"Mark this function to export."
+ global exports
globals()[func.__name__] = func
+ exports.append(func.__name__)
return func
def export_as(obj,name):
"Export some object"
+ global exports
globals()[name] = obj
+ exports.append(name)
+ print globals().keys()
@hook
def module_load(name):
global modules
+ global exports
+ mod = modules[name]
+ print exports
+ for n in exports:
+ setattr(mod,n,globals()[n])
modules[name].init()
def init():
@@ -41,6 +51,6 @@ for dirpath, dirs, files in os.walk(MODS_DIR):
if file[-3:] == ".py":
name = os.path.join(dirpath,file[:-3])
module = __import__(name)
- for n in exports:
- setattr(module,n,globals()[n])
+# for n in exports:
+# setattr(module,n,globals()[n])
modules[name] = module
diff --git a/modules/blocks.py b/modules/blocks.py
index 78d7033..95732a6 100644
--- a/modules/blocks.py
+++ b/modules/blocks.py
@@ -21,3 +21,5 @@ def init():
content = "<empty>"
def show(self):
return theme('block', self)
+
+ export_as(Block,'Block')
diff --git a/modules/testblock.py b/modules/testblock.py
new file mode 100644
index 0000000..be49e4f
--- /dev/null
+++ b/modules/testblock.py
@@ -0,0 +1,10 @@
+
+def init():
+
+ @block
+ def testblk():
+ b = Block()
+ b.name = "testblk"
+ b.title = "Test block"
+ b.content = "Content of test block."
+ return b
diff --git a/test.py b/test.py
index 04457b3..8fbf658 100755
--- a/test.py
+++ b/test.py
@@ -5,6 +5,7 @@ import os.path
import modules
from hooks import *
from themes import *
+from generate import generate
modules.init()
THEME = "default"
@@ -25,3 +26,6 @@ th.override = override
th.init()
print theme('page','/')
+
+for b in generate('block'):
+ print b.show()