in server/scripts/redirector.py [0:0]
def redir_name(handler, *args, **kwargs):
channel = kwargs['channel']
postfix = kwargs['path'][1:]
# /apidocs/channels/stable/dartdoc-viewer/home => /stable
# /apidocs/channels/stable/dartdoc-viewer/ => /stable
# /apidocs/channels/stable/dartdoc-viewer => /stable
if postfix == 'home' or postfix == '':
return '/%s' % (channel)
# /apidocs/channels/stable/dartdoc-viewer/dart:math => /stable/dart-math/dart-math-library.html
is_lib_page = ONLY_DART_LIB.match(postfix)
if is_lib_page:
name = postfix.replace(':', '-')
return '/%s/%s/%s-library.html' % (channel, name, name)
# /apidocs/channels/stable/dartdoc-viewer/dart[:-]async.Future => /stable/dart-async/Future-class.html
is_lib_and_class = LIB_NAME_AND_CLASS_NAME.match(postfix)
if is_lib_and_class:
lib_name = 'dart-' + is_lib_and_class.group(1)
class_name = is_lib_and_class.group(2)
return '/%s/%s/%s-class.html' % (channel, lib_name, class_name)
abort(404)