Sometimes it is needed to include wiki pages of a special revision e.g. forms. It is needed because old already closed tickets gets changed if you update a form. This would destroy the traceability completely.
try:
source_format, source_obj = source.split('#', 1)
except ValueError: # If no : is present, assume its a wiki page
source_format, source_obj = 'wiki', source
try:
source_obj, source_ver = source_obj.split(':', 1)
except ValueError: # If no : is present, assume its a wiki page
source_ver, source_obj = None, source_obj
.
.
.
page = WikiPage(self.env, source_obj, version=source_ver)