import os from django.conf import urls from django.views import generic def generate_patterns(django_name, gwt_name): """ Generates the common URL patterns for the given names @param django_name the full name of the Django application (e.g., frontend.afe) @param gwt_name the name of the GWT project (e.g., AfeClient) @return the common standard and the debug pattern lists, as a tuple """ pattern_list = urls.patterns( django_name, (r'^(?:|noauth/)rpc/', 'views.handle_rpc'), (r'^rpc_doc', 'views.rpc_documentation'), ) debug_pattern_list = urls.patterns('', # for GWT hosted mode (r'^(?P<forward_addr>autotest.*)', 'autotest_lib.frontend.afe.views.gwt_forward'), # for GWT compiled files (r'^client/(?P<path>.*)$', 'django.views.static.serve', {'document_root': os.path.join(os.path.dirname(__file__), '..', 'frontend', 'client', 'www')}), # redirect / to compiled client (r'^$', generic.RedirectView.as_view( url='client/autotest.%(name)s/%(name)s.html' % dict(name=gwt_name))), ) return (pattern_list, debug_pattern_list)