diff options
-rw-r--r-- | test.py | 2 | ||||
-rw-r--r-- | wiki2html.py | 4 | ||||
-rw-r--r-- | wiki2texi.py | 4 | ||||
-rw-r--r-- | wiki2text.py | 20 | ||||
-rw-r--r-- | wikimarkup.py | 2 |
5 files changed, 19 insertions, 13 deletions
@@ -13,12 +13,14 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from __future__ import print_function +import sys, os +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) import unittest import wiki2html class TestMarkupParserBasic (unittest.TestCase): def test_colon(self): diff --git a/wiki2html.py b/wiki2html.py index 05d4642..abf851a 100644 --- a/wiki2html.py +++ b/wiki2html.py @@ -12,14 +12,14 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from wikimarkup import * -from wikins import wiki_ns_re, wiki_ns +from wit.wikimarkup import * +from wit.wikins import wiki_ns_re, wiki_ns import re try: from urllib import quote as url_quote except ImportError: from urllib.parse import quote as url_quote diff --git a/wiki2texi.py b/wiki2texi.py index 6e32c56..4ce32f9 100644 --- a/wiki2texi.py +++ b/wiki2texi.py @@ -12,14 +12,14 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from wikimarkup import * -from wikins import wiki_ns_re, wiki_ns +from wit.wikimarkup import * +from wit.wikins import wiki_ns_re, wiki_ns import re import urllib class TexiWikiMarkup (WikiMarkup): sectcomm = { 'numbered': [ diff --git a/wiki2text.py b/wiki2text.py index 916391e..5041ea0 100644 --- a/wiki2text.py +++ b/wiki2text.py @@ -12,16 +12,20 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from wikimarkup import * -from wikins import wiki_ns_re, wiki_ns +from wit.wikimarkup import * +from wit.wikins import wiki_ns_re, wiki_ns import re -import urllib +try: + from urllib import quote as url_quote +except ImportError: + from urllib.parse import quote as url_quote + class TextWikiMarkup (WikiMarkup): """ A (general-purpose Wiki->Text translator class. """ @@ -55,17 +59,17 @@ class TextWikiMarkup (WikiMarkup): return wiki_ns[self.lang][str] elif str in wiki_ns_re[self.lang]: for elt in wiki_ns_re[self.lang][str]: if str.beginswith(elt[0]) and str.endswith(elt[1]): return elt[2] return None - + def mktgt(self, tgt, lang = None): if not lang: lang = self.lang - return self.html_base % { 'lang' : lang } + urllib.quote(tgt) + return self.html_base % { 'lang' : lang } + url_quote(tgt) def fmtlink(self, elt, istmpl): arg = self.format(elt['content'][0]) if len(elt['content']) > 1: s = [x for x in map(self.format, elt['content'])] text = s[1] @@ -84,14 +88,14 @@ class TextWikiMarkup (WikiMarkup): if ns: if ns == 'NS_IMAGE': if not self.references: return "" text = "[%s: %s]" % (qual, text if text else arg) tgt = self.image_base + '/' + \ - urllib.quote(tgt) + \ - '/250px-' + urllib.quote(tgt) + url_quote(tgt) + \ + '/250px-' + url_quote(tgt) elif ns == 'NS_MEDIA': text = "[%s]" % (qual) else: tgt = self.mktgt(tgt) elif not istmpl and qual in self.langtab: text = self.langtab[qual] + ": " + tgt @@ -109,13 +113,13 @@ class TextWikiMarkup (WikiMarkup): def indent (self, lev, text): if text.find('\n') == -1: s = (" " * lev) + text else: s = "" - for elt in text.split('\n'): + for elt in text.decode("utf-8").split('\n'): if elt: s += (" " * lev) + elt + '\n' if not text.endswith('\n'): s = s.rstrip('\n') # print "IN: '%s'" % (text) # print "OUT: '%s'" % (s) diff --git a/wikimarkup.py b/wikimarkup.py index 2ef6be1..9371d89 100644 --- a/wikimarkup.py +++ b/wikimarkup.py @@ -850,13 +850,13 @@ class WikiMarkup (BaseWikiMarkup): for kw in keywords: if kw == 'file': self.file = keywords[kw] elif kw == 'filename': self.file = open(keywords[kw]) elif kw == 'text': - self.text = keywords[kw].split("\n") + self.text = keywords[kw].decode("utf-8").split("\n") elif kw == 'lang': self.lang = keywords[kw] elif kw == 'html_base': self.html_base = keywords[kw] elif kw == 'image_base': self.image_base = keywords[kw] |