diff options
Diffstat (limited to 'WikiTrans/wiki2html.py')
-rw-r--r-- | WikiTrans/wiki2html.py | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/WikiTrans/wiki2html.py b/WikiTrans/wiki2html.py index 754fa9b..122c91c 100644 --- a/WikiTrans/wiki2html.py +++ b/WikiTrans/wiki2html.py @@ -85,10 +85,10 @@ class HtmlWikiMarkup (WikiMarkup): def fmtlink(self, elt, istmpl): - arg = self.format(elt['content'][0]) + arg = self.format(elt.content[0]) text = None - if len(elt['content']) > 1: - s = [x for x in map(self.format, elt['content'])] + if len(elt.content) > 1: + s = [x for x in map(self.format, elt.content)] if s[0] == 'disambigR' or s[0] == 'wikiquote': return "" elif len(s) > 1 and s[1] == 'thumb': @@ -133,8 +133,8 @@ class HtmlWikiMarkup (WikiMarkup): return self.fmtlink(elt, True) def str_ref(self, elt): - target = elt['ref'] - text = self.format(elt['content']) + target = elt.ref + text = self.format(elt.content) return "<a href=\"%s\">%s</a>" % (target, text if (text and text != '') \ else target) @@ -146,30 +146,30 @@ class HtmlWikiMarkup (WikiMarkup): return string def str_it(self, elt): - return "<i>" + self.concat(elt['content']) + "</i>" + return "<i>" + self.concat(elt.content) + "</i>" def str_bold(self, elt): - return "<b>" + self.concat(elt['content']) + "</b>" + return "<b>" + self.concat(elt.content) + "</b>" def str_hdr(self, elt): - level = elt['level'] + 1 + level = elt.level if level > 4: level = 4 - return "<h%s>%s</h%s>" % (level, self.format(elt['content']), level) + return "<h%s>%s</h%s>\n\n" % (level, self.format(elt.content), level) def str_bar(self): - return "<hr/>" + return "<hr/>\n" def str_env(self, elt): - type = elt['envtype'] - lev = elt['level'] + type = elt.envtype + lev = elt.level if lev > 4: lev = 2 string = "" - for s in elt['content']: - n = s['subtype']; + for s in elt.content: + n = s.subtype; string += "<%s>%s</%s>" % (self.envt[type]["elt"][n], - self.format(s['content']), + self.format(s.content), self.envt[type]["elt"][n]) return "<%s>%s</%s>" % (self.envt[type]["hdr"], string, @@ -177,72 +177,72 @@ class HtmlWikiMarkup (WikiMarkup): return string def str_tag(self, elt): - if elt['tag'] == 'code': + if elt.tag == 'code': self.nested += 1 - s = self.format(elt['content']) + s = self.format(elt.content) self.nested -= 1 return '<pre><code>' + s + '</code></pre>' #FIXME else: - s = '<' + elt['tag'] - if elt['args']: - s += ' ' + str(elt['args']) + s = '<' + elt.tag + if elt.args: + s += ' ' + str(elt.args) s += '>' - s += self.format(elt['content']) - return s + '</' + elt['tag'] + '>' + s += self.format(elt.content) + return s + '</' + elt.tag + '>' def str_para(self, elt): string = ""; - for x in elt['content']: + for x in elt.content: string += self.format(x) - return "<p>" + string + "</p>" + return "<p>" + string + "</p>\n" def str_pre(self, elt): string = ""; - for x in elt['content']: + for x in elt.content: string += self.format(x) if self.nested: return string return '<pre>' + string + '</pre>' def str_ind(self, elt): - return ("<dl><dd>" * elt['level']) + self.format(elt['content']) + "</dd></dl>" * elt['level'] + return ("<dl><dd>" * elt.level) + self.format(elt.content) + "</dd></dl>" * elt.level def format(self, elt): - if elt['type'] == 'TEXT': - if isinstance(elt['content'],list): + if elt.type == 'TEXT': + if isinstance(elt.content,list): string = "" - for s in elt['content']: + for s in elt.content: string += s else: - string = elt['content'] + string = elt.content return string - elif elt['type'] == 'TAG': + elif elt.type == 'TAG': return self.str_tag(elt) - elif elt['type'] == 'PARA': + elif elt.type == 'PARA': return self.str_para(elt) - elif elt['type'] == 'PRE': + elif elt.type == 'PRE': return self.str_pre(elt) - elif elt['type'] == 'IT': + elif elt.type == 'IT': return self.str_it(elt) - elif elt['type'] == 'BOLD': + elif elt.type == 'BOLD': return self.str_bold(elt) - elif elt['type'] == 'LINK': + elif elt.type == 'LINK': return self.str_link(elt) - elif elt['type'] == 'TMPL': + elif elt.type == 'TMPL': return self.str_tmpl(elt) - elif elt['type'] == 'BAR': + elif elt.type == 'BAR': return self.str_bar() - elif elt['type'] == 'HDR': + elif elt.type == 'HDR': return self.str_hdr(elt) - elif elt['type'] == 'REF': + elif elt.type == 'REF': return self.str_ref(elt) - elif elt['type'] == 'ENV': + elif elt.type == 'ENV': return self.str_env(elt) - elif elt['type'] == 'IND': + elif elt.type == 'IND': return self.str_ind(elt) - elif elt['type'] == 'SEQ': + elif elt.type == 'SEQ': string = "" - for x in elt['content']: + for x in elt.content: string += self.format(x) return string else: |