Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/server.py
diff options
context:
space:
mode:
authorMartin Langhoff <martin@laptop.org>2010-11-29 20:01:40 (GMT)
committer Martin Langhoff <martin@laptop.org>2010-11-29 20:01:40 (GMT)
commitb83caa388080cbef85f26286e253cf16c31a60e4 (patch)
tree2335fa3f8d570df4e636e81455b156fadfa892c4 /server.py
parent8338de77ce4f04395216e013c80e1d1d9013b86a (diff)
Synchronized WPWikiDB class - server.py gets some fixes
Diffstat (limited to 'server.py')
-rwxr-xr-xserver.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/server.py b/server.py
index 9b301be..ce75393 100755
--- a/server.py
+++ b/server.py
@@ -98,8 +98,11 @@ class ArticleIndex:
class WPWikiDB:
"""Retrieves article contents for mwlib."""
- def getRawArticle(self, title):
+ def getRawArticle(self, title, followRedirects=True):
# Retrieve article text, recursively following #redirects.
+ if title == '':
+ return ''
+
oldtitle = ""
while True:
# Replace underscores with spaces in title.
@@ -111,10 +114,16 @@ class WPWikiDB:
article_text = ""
break
- article_text = unicode(wp_load_article(title.encode('utf8')), 'utf8')
+ article_text = wp_load_article(title.encode('utf8'))
+ if article_text == None:
+ # something's wrong
+ return None
+ article_text = unicode(article_text, 'utf8')
# To see unmodified article_text, uncomment here.
# print article_text
+ if not followRedirects:
+ break
m = re.match(r'^\s*\#?redirect\s*\:?\s*\[\[(.*)\]\]', article_text, re.IGNORECASE|re.MULTILINE)
if not m: break