diff --git a/i2p2www/legacy.py b/i2p2www/legacy.py index 57a7df05..4fe820f6 100644 --- a/i2p2www/legacy.py +++ b/i2p2www/legacy.py @@ -1,6 +1,16 @@ from flask import g, redirect, url_for +############ +# Shortcodes +# +# Two-letter shortcodes are not allowed, they clash with language codes + +SHORTCODES={ + 'd': {'function': 'downloads_list', 'params': {}}, + 'get': {'function': 'downloads_list', 'params': {}}, +} + ############## # Legacy paths @@ -189,7 +199,9 @@ def legacy_show(f): lang = g.lang if lang == 'zh': lang = 'zh_CN' - if f in LEGACY_FUNCTIONS_MAP: + if f in SHORTCODES: + return redirect(url_for(SHORTCODES[f]['function'], lang=lang, **SHORTCODES[f]['params']), 301) + elif f in LEGACY_FUNCTIONS_MAP: return redirect(url_for(LEGACY_FUNCTIONS_MAP[f]['function'], lang=lang, **LEGACY_FUNCTIONS_MAP[f]['params']), 301) elif f in LEGACY_PAGES_MAP: return redirect(url_for('site_show', lang=lang, page=LEGACY_PAGES_MAP[f]), 301) diff --git a/i2p2www/urls.py b/i2p2www/urls.py index ca9290db..9e226447 100644 --- a/i2p2www/urls.py +++ b/i2p2www/urls.py @@ -68,7 +68,6 @@ url('//meetings/.rst', 'meetings.views.meetings_show_rst') url('//feed/meetings/atom', 'meetings.views.meetings_atom') url('//download', 'downloads.downloads_list') -url('//dl', 'downloads.downloads_list') url('//download/debian', 'downloads.downloads_debian') url('//download///mirrors', 'downloads.downloads_select') url('//download///any//download', 'downloads.downloads_redirect', defaults={'domain': None})