From 069a1b771e1bfed6f2f247c99e0449cd0d74c0e2 Mon Sep 17 00:00:00 2001 From: portnov Date: Thu, 5 Jun 2008 22:13:40 +0600 Subject: [PATCH] Add test block module. Making that to work required some fixes. --- modules.py | 14 ++++++++++++-- modules/blocks.py | 2 ++ modules/testblock.py | 10 ++++++++++ test.py | 4 ++++ 4 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 modules/testblock.py 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 = "" 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() -- 1.7.2.3