diff options
-rwxr-xr-x | mwlib/expander.py | 7 | ||||
-rwxr-xr-x | server.py | 9 |
2 files changed, 10 insertions, 6 deletions
diff --git a/mwlib/expander.py b/mwlib/expander.py index 6298c7f..e5e4049 100755 --- a/mwlib/expander.py +++ b/mwlib/expander.py @@ -10,6 +10,7 @@ import re import os from mwlib import magics import mwlib.log +from pylru import lrudecorator DEBUG = "DEBUG_EXPANDER" in os.environ @@ -424,6 +425,7 @@ class Expander(object): for line in f.readlines(): self.blacklist.add(line.rstrip().decode('utf8')) + @lrudecorator(100) def getParsedTemplate(self, name): if name.startswith("[["): return None @@ -435,10 +437,6 @@ class Expander(object): if len(name) > 1: name = name[0].capitalize() + name[1:] name = "Plantilla:" + name - try: - return self.parsedTemplateCache[name] - except KeyError: - pass # Check to see if this is a template in our blacklist -- # one that we don't want to bother rendering. @@ -463,7 +461,6 @@ class Expander(object): print "TEMPLATE:", name, repr(raw) res.show() - self.parsedTemplateCache[name] = res return res @@ -37,6 +37,7 @@ import tempfile import re import wp import xml.dom.minidom +from pylru import lrudecorator # Uncomment to print out a large dump from the template expander. #os.environ['DEBUG_EXPANDER'] = '1' @@ -110,7 +111,7 @@ class WPWikiDB: article_text = "" break - article_text = unicode(wp.wp_load_article(title.encode('utf8')), 'utf8') + article_text = unicode(wp_load_article(title.encode('utf8')), 'utf8') # To see unmodified article_text, uncomment here. # print article_text @@ -763,6 +764,12 @@ def load_db(dbname): dbname + '.locate.prefixdb', dbname + '.blocks.db') +# Cache articles and specially templates +@lrudecorator(100) +def wp_load_article(title): + + return wp.wp_load_article(title) + def run_server(confvars): index = ArticleIndex('%s.index.txt' % confvars['path']) |