diff options
-rw-r--r-- | tests/test_html.py | 8 | ||||
-rw-r--r-- | tests/test_texi.py | 6 | ||||
-rw-r--r-- | tests/test_text.py | 8 | ||||
-rw-r--r-- | tests/wikitest.py (renamed from tests/WikiTest.py) | 6 | ||||
-rw-r--r-- | wikitrans/__init__.py (renamed from WikiTrans/__init__.py) | 0 | ||||
-rw-r--r-- | wikitrans/wiki2html.py (renamed from WikiTrans/wiki2html.py) | 115 | ||||
-rw-r--r-- | wikitrans/wiki2texi.py (renamed from WikiTrans/wiki2texi.py) | 63 | ||||
-rw-r--r-- | wikitrans/wiki2text.py (renamed from WikiTrans/wiki2text.py) | 74 | ||||
-rw-r--r-- | wikitrans/wikidump.py (renamed from WikiTrans/wikidump.py) | 41 | ||||
-rw-r--r-- | wikitrans/wikimarkup.py (renamed from WikiTrans/wikimarkup.py) | 784 | ||||
-rw-r--r-- | wikitrans/wikins.py (renamed from WikiTrans/wikins.py) | 0 | ||||
-rw-r--r-- | wikitrans/wikitoken.py (renamed from WikiTrans/wikitoken.py) | 154 |
12 files changed, 802 insertions, 457 deletions
diff --git a/tests/test_html.py b/tests/test_html.py index 3da57f6..5a15cb8 100644 --- a/tests/test_html.py +++ b/tests/test_html.py | |||
@@ -1,14 +1,14 @@ | |||
1 | #!/usr/bin/python | 1 | #!/usr/bin/python |
2 | # -*- coding: utf-8 -*- | 2 | # -*- coding: utf-8 -*- |
3 | from __future__ import print_function | 3 | from __future__ import print_function |
4 | import unittest | 4 | import unittest |
5 | from WikiTrans.wiki2html import HtmlWiktionaryMarkup | 5 | from wikitrans.wiki2html import HtmlWikiMarkup |
6 | from WikiTest import populateMethods | 6 | from wikitest import populate_methods |
7 | 7 | ||
8 | class TestWiktionaryMarkup (unittest.TestCase): | 8 | class TestWikiMarkup (unittest.TestCase): |
9 | pass | 9 | pass |
10 | 10 | ||
11 | populateMethods(TestWiktionaryMarkup, HtmlWiktionaryMarkup, '.html') | 11 | populate_methods(TestWikiMarkup, HtmlWikiMarkup, '.html') |
12 | 12 | ||
13 | if __name__ == '__main__': | 13 | if __name__ == '__main__': |
14 | unittest.main() | 14 | unittest.main() |
diff --git a/tests/test_texi.py b/tests/test_texi.py index 75314c9..ddd26c7 100644 --- a/tests/test_texi.py +++ b/tests/test_texi.py | |||
@@ -1,14 +1,14 @@ | |||
1 | #!/usr/bin/python | 1 | #!/usr/bin/python |
2 | # -*- coding: utf-8 -*- | 2 | # -*- coding: utf-8 -*- |
3 | from __future__ import print_function | 3 | from __future__ import print_function |
4 | import unittest | 4 | import unittest |
5 | from WikiTrans.wiki2texi import TexiWikiMarkup | 5 | from wikitrans.wiki2texi import TexiWikiMarkup |
6 | from WikiTest import populateMethods | 6 | from wikitest import populate_methods |
7 | 7 | ||
8 | class TestTexiWikiMarkup (unittest.TestCase): | 8 | class TestTexiWikiMarkup (unittest.TestCase): |
9 | pass | 9 | pass |
10 | 10 | ||
11 | populateMethods(TestTexiWikiMarkup, TexiWikiMarkup, '.texi') | 11 | populate_methods(TestTexiWikiMarkup, TexiWikiMarkup, '.texi') |
12 | 12 | ||
13 | if __name__ == '__main__': | 13 | if __name__ == '__main__': |
14 | unittest.main() | 14 | unittest.main() |
diff --git a/tests/test_text.py b/tests/test_text.py index a06f519..b3d0a12 100644 --- a/tests/test_text.py +++ b/tests/test_text.py | |||
@@ -1,14 +1,14 @@ | |||
1 | #!/usr/bin/python | 1 | #!/usr/bin/python |
2 | # -*- coding: utf-8 -*- | 2 | # -*- coding: utf-8 -*- |
3 | from __future__ import print_function | 3 | from __future__ import print_function |
4 | import unittest | 4 | import unittest |
5 | from WikiTrans.wiki2text import TextWiktionaryMarkup | 5 | from wikitrans.wiki2text import TextWikiMarkup |
6 | from WikiTest import populateMethods | 6 | from wikitest import populate_methods |
7 | 7 | ||
8 | class TestTextWiktionaryMarkup (unittest.TestCase): | 8 | class TestTextWikiMarkup (unittest.TestCase): |
9 | pass | 9 | pass |
10 | 10 | ||
11 | populateMethods(TestTextWiktionaryMarkup, TextWiktionaryMarkup, '.text') | 11 | populate_methods(TestTextWikiMarkup, TextWikiMarkup, '.text') |
12 | 12 | ||
13 | if __name__ == '__main__': | 13 | if __name__ == '__main__': |
14 | unittest.main() | 14 | unittest.main() |
diff --git a/tests/WikiTest.py b/tests/wikitest.py index 1429f5e..ff26227 100644 --- a/tests/WikiTest.py +++ b/tests/wikitest.py | |||
@@ -1,13 +1,13 @@ | |||
1 | #!/usr/bin/python | 1 | #!/usr/bin/python |
2 | # -*- coding: utf-8 -*- | 2 | # -*- coding: utf-8 -*- |
3 | from __future__ import print_function | 3 | from __future__ import print_function |
4 | from glob import glob | 4 | from glob import glob |
5 | import os.path | 5 | import os.path |
6 | 6 | ||
7 | def MarkupTest(classname, name_in, name_out): | 7 | def wiki_markup_test(classname, name_in, name_out): |
8 | fh = open(name_out) | 8 | fh = open(name_out) |
9 | buf = ''.join(fh.readlines()).strip() | 9 | buf = ''.join(fh.readlines()).strip() |
10 | fh.close() | 10 | fh.close() |
11 | hwm = classname(filename=name_in, lang="en") | 11 | hwm = classname(filename=name_in, lang="en") |
12 | hwm.parse() | 12 | hwm.parse() |
13 | 13 | ||
@@ -16,16 +16,16 @@ def MarkupTest(classname, name_in, name_out): | |||
16 | 16 | ||
17 | # fail | 17 | # fail |
18 | print("\n>>>%s<<<" % buf) | 18 | print("\n>>>%s<<<" % buf) |
19 | print(">>>%s<<<" % str(hwm).strip()) | 19 | print(">>>%s<<<" % str(hwm).strip()) |
20 | return False | 20 | return False |
21 | 21 | ||
22 | def populateMethods(cls, wcls, suffix): | 22 | def populate_methods(cls, wcls, suffix): |
23 | def settest(self, base, wiki_name, pat_name): | 23 | def settest(self, base, wiki_name, pat_name): |
24 | def dyntest(self): | 24 | def dyntest(self): |
25 | self.assertTrue(MarkupTest(wcls, wiki_name, pat_name)) | 25 | self.assertTrue(wiki_markup_test(wcls, wiki_name, pat_name)) |
26 | meth = 'test_' + wcls.__name__ + '_' + base | 26 | meth = 'test_' + wcls.__name__ + '_' + base |
27 | dyntest.__name__ = meth | 27 | dyntest.__name__ = meth |
28 | setattr(cls, meth, dyntest) | 28 | setattr(cls, meth, dyntest) |
29 | for file in glob('testdata/*.wiki'): | 29 | for file in glob('testdata/*.wiki'): |
30 | if os.path.isfile(file): | 30 | if os.path.isfile(file): |
31 | patfile = file[:len(file) - 5] + suffix | 31 | patfile = file[:len(file) - 5] + suffix |
diff --git a/WikiTrans/__init__.py b/wikitrans/__init__.py index 5832e38..5832e38 100644 --- a/WikiTrans/__init__.py +++ b/wikitrans/__init__.py | |||
diff --git a/WikiTrans/wiki2html.py b/wikitrans/wiki2html.py index 6147642..ce65bae 100644 --- a/WikiTrans/wiki2html.py +++ b/wikitrans/wiki2html.py | |||
@@ -12,16 +12,27 @@ | |||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | # GNU General Public License for more details. | 13 | # GNU General Public License for more details. |
14 | # | 14 | # |
15 | # You should have received a copy of the GNU General Public License | 15 | # You should have received a copy of the GNU General Public License |
16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 | ||
18 | """ | ||
19 | Wiki markup to HTML translator. | ||
20 | |||
21 | Classes: | ||
22 | |||
23 | HtmlWikiMarkup -- Converts Wiki material to HTML. | ||
24 | HtmlWiktionaryMarkup -- Reserved for future use. Currently does the same as | ||
25 | HtmlWikiMarkup. | ||
26 | |||
27 | """ | ||
28 | |||
18 | from __future__ import print_function | 29 | from __future__ import print_function |
19 | from WikiTrans.wikimarkup import * | 30 | from wikitrans.wikimarkup import * |
20 | from WikiTrans.wikitoken import * | 31 | from wikitrans.wikitoken import * |
21 | from WikiTrans.wikins import wiki_ns_re, wiki_ns | 32 | from wikitrans.wikins import wiki_ns_re, wiki_ns |
22 | import re | 33 | import re |
23 | try: | 34 | try: |
24 | from urllib import quote as url_quote | 35 | from urllib import quote as url_quote |
25 | except ImportError: | 36 | except ImportError: |
26 | from urllib.parse import quote as url_quote | 37 | from urllib.parse import quote as url_quote |
27 | 38 | ||
@@ -76,22 +87,22 @@ class HtmlLinkNode(HtmlSeqNode): | |||
76 | text = self.parser.langtab[qual] | 87 | text = self.parser.langtab[qual] |
77 | else: | 88 | else: |
78 | tgt = self.parser.mktgt(tgt) | 89 | tgt = self.parser.mktgt(tgt) |
79 | else: | 90 | else: |
80 | tgt = self.parser.mktgt(arg) | 91 | tgt = self.parser.mktgt(arg) |
81 | return "<a href=\"%s\">%s</a>" % (tgt, | 92 | return "<a href=\"%s\">%s</a>" % (tgt, |
82 | text if (text and text != '') \ | 93 | text if (text and text != '') else arg) |
83 | else arg) | ||
84 | 94 | ||
85 | class HtmlRefNode(WikiRefNode): | 95 | class HtmlRefNode(WikiRefNode): |
86 | def format(self): | 96 | def format(self): |
87 | target = self.ref | 97 | target = self.ref |
88 | text = self.content.format() | 98 | text = self.content.format() |
89 | return "<a href=\"%s\">%s</a>" % (target, | 99 | return "<a href=\"%s\">%s</a>" % ( |
90 | text if (text and text != '') \ | 100 | target, |
91 | else target) | 101 | text if (text and text != '') else target |
102 | ) | ||
92 | 103 | ||
93 | class HtmlFontNode(HtmlSeqNode): | 104 | class HtmlFontNode(HtmlSeqNode): |
94 | def format(self): | 105 | def format(self): |
95 | comm = { 'IT': 'i', | 106 | comm = { 'IT': 'i', |
96 | 'BOLD': 'b' } | 107 | 'BOLD': 'b' } |
97 | s = '<%s>' % comm[self.type] | 108 | s = '<%s>' % comm[self.type] |
@@ -149,20 +160,20 @@ class HtmlTagNode(WikiTagNode): | |||
149 | elif self.tag == 'references': | 160 | elif self.tag == 'references': |
150 | s = '<div class="references">\n' | 161 | s = '<div class="references">\n' |
151 | s += '<ol class="references">\n' | 162 | s += '<ol class="references">\n' |
152 | n = 0 | 163 | n = 0 |
153 | for ref in self.parser.references: | 164 | for ref in self.parser.references: |
154 | n += 1 | 165 | n += 1 |
155 | s += ('<li id="cite_note-%d">' + \ | 166 | s += ('<li id="cite_note-%d">' |
156 | '<span class="mw-cite-backlink">' + \ | 167 | + '<span class="mw-cite-backlink">' |
157 | '<b><a href="#cite_ref-%d">^</a></b>' + \ | 168 | + '<b><a href="#cite_ref-%d">^</a></b>' |
158 | '</span>' + \ | 169 | + '</span>' |
159 | '<span class="reference-text">' + \ | 170 | + '<span class="reference-text">' |
160 | ref.content.format() + \ | 171 | + ref.content.format() |