comparison tests/__init__.py @ 464:1dc6a0a74da3

wiki: Improve consistency of absolute/relative links. - Make links from endpoint pages go to the same endpoint by default. - Add support for `:` (empty) endpoint to link outside of endpoints. - Add unit tests.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 06 Oct 2018 19:40:52 -0700
parents 666a9d0981bb
children 0bfd648aca6a
comparison
equal deleted inserted replaced
463:fcef742731cf 464:1dc6a0a74da3
1 import os 1 import os
2 import os.path 2 import os.path
3 import urllib.request, urllib.parse, urllib.error 3 import urllib.request, urllib.parse, urllib.error # noqa
4 import shutil 4 import shutil
5 import unittest 5 import unittest
6 from wikked.wiki import Wiki 6 from wikked.wiki import Wiki
7 from wikked.db.sql import SQLDatabase 7 from wikked.db.sql import SQLDatabase
8 from .mock import MockWikiParameters, MockFileSystem 8 from .mock import MockWikiParameters, MockFileSystem
62 62
63 def _onWikiStarted(self, wiki): 63 def _onWikiStarted(self, wiki):
64 wiki.reset() 64 wiki.reset()
65 65
66 66
67 def format_link(title, url, missing=False, mod=None): 67 def format_link(title, url, missing=False, mod=None, endpoint=None):
68 res = '<a class=\"wiki-link' 68 res = '<a class="wiki-link'
69 if missing: 69 if missing:
70 res += ' missing' 70 res += ' missing'
71 res += '"'
72
73 if endpoint:
74 url = '%s:%s' % (endpoint, url)
71 url = urllib.parse.quote(url) 75 url = urllib.parse.quote(url)
72 res += '\" data-wiki-url=\"' + url + '\"' 76 res += ' data-wiki-url="%s"' % url
77
73 if mod: 78 if mod:
74 res += ' data-wiki-mod=\"' + mod + '\"' 79 res += ' data-wiki-mod="%s"' % mod
75 res += ' href="/read' + url + '"' 80
81 if endpoint:
82 res += ' href="/read/%s"' % url
83 res += ' data-wiki-endpoint="%s"' % endpoint
84 else:
85 res += ' href="/read' + url + '"'
86
76 res += '>' + title + '</a>' 87 res += '>' + title + '</a>'
77 return res 88 return res
78 89
79 90
80 def format_include(url, args=None, mod=None): 91 def format_include(url, args=None, mod=None):