def _interwiki_repl(self, word): """Handle InterWiki links.""" wikitag, wikiurl, wikitail, wikitag_bad = wikiutil.resolve_wiki(self.request, word) if wikitag_bad: return self.formatter.text(word) else: return self.interwiki("wiki:" + word)
def interwiki(self, target_and_text, **kw): # TODO: maybe support [wiki:Page http://wherever/image.png] ? scheme, rest = target_and_text.split(':', 1) wikiname, pagename, text = wikiutil.split_wiki(rest) if not pagename: pagename = self.formatter.page.page_name if not text: text = pagename #self.request.log("interwiki: split_wiki -> %s.%s.%s" % (wikiname,pagename,text)) if wikiname.lower( ) == 'self': # [wiki:Self:LocalPage text] or [:LocalPage:text] return self._word_repl(pagename, text) # check for image URL, and possibly return IMG tag if not kw.get('pretty_url', 0) and wikiutil.isPicture(pagename): dummy, wikiurl, dummy, wikitag_bad = wikiutil.resolve_wiki( self.request, rest) href = wikiutil.join_wiki(wikiurl, pagename) #self.request.log("interwiki: join_wiki -> %s.%s.%s" % (wikiurl,pagename,href)) return self.formatter.image(src=href) return (self.formatter.interwikilink(1, wikiname, pagename) + self.formatter.text(text) + self.formatter.interwikilink(0, wikiname, pagename))
def _interwiki_repl(self, word): """Handle InterWiki links.""" wikitag, wikiurl, wikitail, wikitag_bad = wikiutil.resolve_wiki( self.request, word) if wikitag_bad: return self.formatter.text(word) else: return self.interwiki("wiki:" + word)
def interwiki(self, target_and_text, **kw): # TODO: maybe support [wiki:Page http://wherever/image.png] ? scheme, rest = target_and_text.split(':', 1) wikiname, pagename, text = wikiutil.split_wiki(rest) if not pagename: pagename = self.formatter.page.page_name if not text: text = pagename #self.request.log("interwiki: split_wiki -> %s.%s.%s" % (wikiname,pagename,text)) if wikiname.lower() == 'self': # [wiki:Self:LocalPage text] or [:LocalPage:text] return self._word_repl(pagename, text) # check for image URL, and possibly return IMG tag if not kw.get('pretty_url', 0) and wikiutil.isPicture(pagename): dummy, wikiurl, dummy, wikitag_bad = wikiutil.resolve_wiki(self.request, rest) href = wikiutil.join_wiki(wikiurl, pagename) #self.request.log("interwiki: join_wiki -> %s.%s.%s" % (wikiurl,pagename,href)) return self.formatter.image(src=href) return (self.formatter.interwikilink(1, wikiname, pagename) + self.formatter.text(text) + self.formatter.interwikilink(0, wikiname, pagename))