From 9a6a1260aa9e899f51d64f46a69a73afa3f1cbf6 Mon Sep 17 00:00:00 2001 From: portnov Date: Thu, 12 Jun 2008 15:39:03 +0600 Subject: [PATCH 1/4] Remove themes support at all. --- hms.py | 1 - modules.py | 3 +-- modules/blocks.py | 18 ++++++------------ modules/node.py | 9 --------- test.py | 13 ------------- th1.py | 10 ---------- themes.py | 27 --------------------------- themes/default/theme.py | 11 ----------- 8 files changed, 7 insertions(+), 85 deletions(-) delete mode 100755 th1.py delete mode 100644 themes.py delete mode 100644 themes/default/theme.py diff --git a/hms.py b/hms.py index cc4569a..73b7380 100644 --- a/hms.py +++ b/hms.py @@ -1,6 +1,5 @@ import modules from hooks import * -from themes import * from generate import * modules.init() diff --git a/modules.py b/modules.py index a8ddac6..a842b86 100644 --- a/modules.py +++ b/modules.py @@ -11,12 +11,11 @@ import os import os.path from hooks import * -from themes import * from generate import * MODS_DIR = "modules" modules = [] -exports = ['export', 'export_as', 'hook', 'intercept','themeable','theme', +exports = ['export', 'export_as', 'hook', 'intercept', 'generates', 'generate', 'Generated'] def export(func): diff --git a/modules/blocks.py b/modules/blocks.py index ea785c2..910e722 100644 --- a/modules/blocks.py +++ b/modules/blocks.py @@ -3,25 +3,19 @@ weight = -10 def init(): - print "Blocks module loaded." - block = generates('block') export_as(block,'block') - @themeable - def block(blk): - return u"""
-

%s

-
- %s -
-
""" % (blk.name,blk.title,blk.content) - class Block(Generated): name = "Block" title = "" content = "" def show(self): - return theme('block', self) + return u"""
+

%s

+
+ %s +
+
""" % (self.name,self.title,self.content) export_as(Block,'Block') diff --git a/modules/node.py b/modules/node.py index ebea2b0..41531f1 100644 --- a/modules/node.py +++ b/modules/node.py @@ -7,13 +7,4 @@ def init(): content = "" fields = {} - @themeable - def node(nd): - return """
-

%s

-
- %s -
-
""" % (nd.title, nd.content) - export_as(Node,"Node") diff --git a/test.py b/test.py index 8fbf658..d1b31fb 100755 --- a/test.py +++ b/test.py @@ -4,28 +4,15 @@ import os.path import modules from hooks import * -from themes import * from generate import generate modules.init() -THEME = "default" - @hook def do_something(s): print "Doing something with",s -@themeable -def page(path): - return "Content for "+path - print "All modules loaded." -th= __import__(os.path.join("themes",THEME,"theme")) -th.override = override -th.init() - -print theme('page','/') - for b in generate('block'): print b.show() diff --git a/th1.py b/th1.py deleted file mode 100755 index 095473b..0000000 --- a/th1.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/python - -from themes import theme,override - -@override -def Test(x,y): - return "Some vars: [%s, %s]" % (x,y) - - -print theme('Test',2,3) diff --git a/themes.py b/themes.py deleted file mode 100644 index 8b642c8..0000000 --- a/themes.py +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/python - -themed = dict() - -def themeable(func): - global themed - name = func.__name__ - themed[name] = func - def wrapper(*args,**kwargs): - return (themed[name])(*args,**kwargs) - wrapper.__name__ = name - return wrapper - -def override(func): - global themed - themed[func.__name__] = func - return func - -def theme(name,*args,**kwargs): - global themed - f = themed[name] - return f(*args,**kwargs) - - -@themeable -def Test(x,y): - return "<%s, %s>" % (x,y) diff --git a/themes/default/theme.py b/themes/default/theme.py deleted file mode 100644 index 1a8e10b..0000000 --- a/themes/default/theme.py +++ /dev/null @@ -1,11 +0,0 @@ - -def init(): - @override - def page(path): - return """ - %s - - Some content. - - """ % path - -- 1.7.2.3 From 679b126b3dcfc592b91af34dbc860784e7d5aea4 Mon Sep 17 00:00:00 2001 From: portnov Date: Thu, 12 Jun 2008 15:43:37 +0600 Subject: [PATCH 2/4] Move menu settings to django's settings.py Conflicts: modules.py --- modules.py | 7 +++++-- modules/menu.py | 5 ++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/modules.py b/modules.py index a842b86..d260e03 100644 --- a/modules.py +++ b/modules.py @@ -8,7 +8,10 @@ def init(): import sys import os -import os.path +from os.path import dirname,join + +sys.path.append(dirname(dirname(dirname(__file__)))) +import settings from hooks import * from generate import * @@ -42,7 +45,7 @@ def init(): for w,mod in modules: module_load(mod) -for dirpath, dirs, files in os.walk(os.path.join(os.path.dirname(__file__),MODS_DIR)): +for dirpath, dirs, files in os.walk(join(dirname(__file__),MODS_DIR)): for file in files: if file[-3:] == ".py": name = os.path.join(dirpath,file[:-3]) diff --git a/modules/menu.py b/modules/menu.py index 86b9a25..09fb21c 100644 --- a/modules/menu.py +++ b/modules/menu.py @@ -5,10 +5,9 @@ def init(): @export def menu(request): m = [] - m.append((u'Главная','/')) if request.user.is_authenticated(): - m.append((u'Выход','/logout/')) + m = settings.MENU_USER else: - m.append((u'Вход','/login/')) + m = settings.MENU_ANONYMOUS L = ["%s" % (l,t) for t,l in m] return L -- 1.7.2.3 From cb7bb641237f6faaa9e34e525bb8291005f3b029 Mon Sep 17 00:00:00 2001 From: portnov Date: Thu, 12 Jun 2008 15:45:16 +0600 Subject: [PATCH 3/4] Bugfix after merge. --- modules.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/modules.py b/modules.py index d260e03..62650d4 100644 --- a/modules.py +++ b/modules.py @@ -18,7 +18,7 @@ from generate import * MODS_DIR = "modules" modules = [] -exports = ['export', 'export_as', 'hook', 'intercept', +exports = ['settings','export', 'export_as', 'hook', 'intercept', 'generates', 'generate', 'Generated'] def export(func): -- 1.7.2.3 From 3fcf1456df439fb4c7699e9773212605606d69f7 Mon Sep 17 00:00:00 2001 From: portnov Date: Thu, 12 Jun 2008 15:56:15 +0600 Subject: [PATCH 4/4] Unlink HMS with django's settings: Remove call of modules.init() from hms.py and remove explicit import of settings module from modules.py. So, now importer module must call hms.modules.init() after import. To make HMS use django's settings, importer can explicitly add "settings" attribute to modules module and append "settings" to hms.modules.exports before calling hms.modules.init(). --- hms.py | 1 - modules.py | 5 +---- 2 files changed, 1 insertions(+), 5 deletions(-) diff --git a/hms.py b/hms.py index 73b7380..46e4d11 100644 --- a/hms.py +++ b/hms.py @@ -2,4 +2,3 @@ import modules from hooks import * from generate import * -modules.init() diff --git a/modules.py b/modules.py index 62650d4..61e1db7 100644 --- a/modules.py +++ b/modules.py @@ -10,15 +10,12 @@ import sys import os from os.path import dirname,join -sys.path.append(dirname(dirname(dirname(__file__)))) -import settings - from hooks import * from generate import * MODS_DIR = "modules" modules = [] -exports = ['settings','export', 'export_as', 'hook', 'intercept', +exports = ['export', 'export_as', 'hook', 'intercept', 'generates', 'generate', 'Generated'] def export(func): -- 1.7.2.3