Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Side by Side Diff: server/scripts/redirector.py

Issue 1331463003: even more redirects (Closed) Base URL: git@github.com:dart-lang/api.dartlang.org.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « server/app.yaml ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 # for details. All rights reserved. Use of this source code is governed by a 2 # for details. All rights reserved. Use of this source code is governed by a
3 # BSD-style license that can be found in the LICENSE file. 3 # BSD-style license that can be found in the LICENSE file.
4 4
5 import logging 5 import logging
6 import re 6 import re
7 import json 7 import json
8 from webapp2 import * 8 from webapp2 import *
9 from datetime import datetime, timedelta 9 from datetime import datetime, timedelta
10 from google.appengine.ext import blobstore 10 from google.appengine.ext import blobstore
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
291 291
292 self.error(404) 292 self.error(404)
293 293
294 def redir_bare_lib_name(handler, *args, **kwargs): 294 def redir_bare_lib_name(handler, *args, **kwargs):
295 version = kwargs['version'] 295 version = kwargs['version']
296 libname = kwargs['libname'] 296 libname = kwargs['libname']
297 297
298 # /1.12.0/dart-async => /1.12.0/dart-async/dart-async-library.html 298 # /1.12.0/dart-async => /1.12.0/dart-async/dart-async-library.html
299 return '/%s/dart-%s/dart-%s-library.html' % (version, libname, libname) 299 return '/%s/dart-%s/dart-%s-library.html' % (version, libname, libname)
300 300
301 # /dart_core.html => /stable/dart-core/dart-core-library.html
302 def redir_legacy_lib(handler, *args, **kwargs):
303 libname = kwargs['libname']
304 return '/stable/dart-%s/dart-%s-library.html' % (libname, libname)
305
306 # /dart_core/Iterable.html => /stable/dart-core/Iterable-class.html
307 def redir_legacy_lib_class(handler, *args, **kwargs):
308 libname = kwargs['libname']
309 classname = kwargs['classname']
310 return '/stable/dart-%s/%s-class.html' % (libname, classname)
311
301 application = WSGIApplication( 312 application = WSGIApplication(
302 [ 313 [
303 # Legacy URL redirection schemes. 314 # Legacy URL redirection schemes.
304 # Redirect all old URL package requests to our updated URL scheme. 315 # Redirect all old URL package requests to our updated URL scheme.
305 # TODO(efortuna): Remove this line when pkg gets moved off of 316 # TODO(efortuna): Remove this line when pkg gets moved off of
306 # api.dartlang.org. 317 # api.dartlang.org.
307 Route('/docs/pkg/<pkg:args|crypto|custom_element|fixnum|http_server|intl|' 318 Route('/docs/pkg/<pkg:args|crypto|custom_element|fixnum|http_server|intl|'
308 'json|logging|matcher|mime|mock|observe|path|polymer|' 319 'json|logging|matcher|mime|mock|observe|path|polymer|'
309 'polymer_expressions|sequence_zip|serialization|source_maps|' 320 'polymer_expressions|sequence_zip|serialization|source_maps|'
310 'template_binding|unittest|unmodifiable_collection|utf><:/?>', 321 'template_binding|unittest|unmodifiable_collection|utf><:/?>',
(...skipping 21 matching lines...) Expand all
332 Route('/bleeding_edge', RedirectHandler, 343 Route('/bleeding_edge', RedirectHandler,
333 defaults={'_uri': '/be'}), 344 defaults={'_uri': '/be'}),
334 345
335 Route('/stable/latest', RedirectHandler, 346 Route('/stable/latest', RedirectHandler,
336 defaults={'_uri': '/stable'}), 347 defaults={'_uri': '/stable'}),
337 Route('/dev/latest', RedirectHandler, 348 Route('/dev/latest', RedirectHandler,
338 defaults={'_uri': '/dev'}), 349 defaults={'_uri': '/dev'}),
339 Route('/be/latest', RedirectHandler, 350 Route('/be/latest', RedirectHandler,
340 defaults={'_uri': '/be'}), 351 defaults={'_uri': '/be'}),
341 352
353 Route('/dart_<libname:[\w]+>.html', RedirectHandler,
354 defaults={'_uri': redir_legacy_lib}),
355
356 Route('/dart_<libname:[\w]+>/<classname:[\w]+>.html', RedirectHandler,
357 defaults={'_uri': redir_legacy_lib_class}),
358
342 # temp routing till stable docs are rolled out 359 # temp routing till stable docs are rolled out
343 Route('/stable', RedirectHandler, 360 Route('/stable', RedirectHandler,
344 defaults={'_uri': redir_stable_latest}), #ApiDocs), 361 defaults={'_uri': redir_stable_latest}), #ApiDocs),
345 Route('/dev', RedirectHandler, 362 Route('/dev', RedirectHandler,
346 defaults={'_uri': redir_dev_latest}), #ApiDocs), 363 defaults={'_uri': redir_dev_latest}), #ApiDocs),
347 Route('/be', RedirectHandler, 364 Route('/be', RedirectHandler,
348 defaults={'_uri': redir_be_latest}),#ApiDocs), 365 defaults={'_uri': redir_be_latest}),#ApiDocs),
349 366
350 Route('/stable<path:.*>', RedirectHandler, 367 Route('/stable<path:.*>', RedirectHandler,
351 defaults={'_uri': redir_stable_path}), 368 defaults={'_uri': redir_stable_path}),
(...skipping 26 matching lines...) Expand all
378 defaults={'_uri': '/stable'}), 395 defaults={'_uri': '/stable'}),
379 396
380 Route('/<version:[\w.-]+>/dart-<libname:\w+>', RedirectHandler, 397 Route('/<version:[\w.-]+>/dart-<libname:\w+>', RedirectHandler,
381 defaults={'_uri': redir_bare_lib_name}), 398 defaults={'_uri': redir_bare_lib_name}),
382 399
383 Route('/', RedirectHandler, defaults={'_uri': '/stable'}), 400 Route('/', RedirectHandler, defaults={'_uri': '/stable'}),
384 401
385 Route('<path:.*>', ApiDocs) 402 Route('<path:.*>', ApiDocs)
386 ], 403 ],
387 debug=True) 404 debug=True)
OLDNEW
« no previous file with comments | « server/app.yaml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698