1.1 --- a/moinformat/links/html.py Tue Jul 31 00:07:22 2018 +0200
1.2 +++ b/moinformat/links/html.py Tue Jul 31 17:38:45 2018 +0200
1.3 @@ -20,6 +20,7 @@
1.4 """
1.5
1.6 from moinformat.links.common import Linker
1.7 +from urllib import quote
1.8 from urlparse import urlparse
1.9
1.10 class HTMLLinker(Linker):
1.11 @@ -79,7 +80,7 @@
1.12 # Top-level pages.
1.13
1.14 top_level = self.get_top_level()
1.15 - return "%s%s" % (top_level and "%s/" % top_level or "", target)
1.16 + return quote("%s%s" % (top_level and "%s/" % top_level or "", target))
1.17
1.18 def translate_qualified_link(self, target):
1.19
1.20 @@ -113,26 +114,26 @@
1.21
1.22 "Return a translation of the given attachment 'target'."
1.23
1.24 - return "%sattachments/%s/%s" % (
1.25 - self.get_top_level(), self.pagename, target)
1.26 + return quote("%sattachments/%s/%s" % (
1.27 + self.get_top_level(), self.pagename, target))
1.28
1.29 def translate_interwiki(self, url, target):
1.30
1.31 "Return a translation of the given interwiki 'target'."
1.32
1.33 - return "%s%s" % (self.normalise(url), target)
1.34 + return "%s%s" % (self.normalise(url), quote(target))
1.35
1.36 def translate_relative(self, target):
1.37
1.38 "Return a translation of the given relative 'target'."
1.39
1.40 - return target[len("../"):]
1.41 + return quote(target[len("../"):])
1.42
1.43 def translate_subpage(self, target):
1.44
1.45 "Return a translation of the given subpage 'target'."
1.46
1.47 - return ".%s" % target
1.48 + return quote(".%s" % target)
1.49
1.50 linker = HTMLLinker
1.51