1*9c5db199SXin Liimport os 2*9c5db199SXin Lifrom django.conf import urls 3*9c5db199SXin Lifrom django.views import generic 4*9c5db199SXin Li 5*9c5db199SXin Li 6*9c5db199SXin Lidef generate_patterns(django_name, gwt_name): 7*9c5db199SXin Li """ 8*9c5db199SXin Li Generates the common URL patterns for the given names 9*9c5db199SXin Li 10*9c5db199SXin Li @param django_name the full name of the Django application 11*9c5db199SXin Li (e.g., frontend.afe) 12*9c5db199SXin Li @param gwt_name the name of the GWT project (e.g., AfeClient) 13*9c5db199SXin Li @return the common standard and the debug pattern lists, as a tuple 14*9c5db199SXin Li """ 15*9c5db199SXin Li 16*9c5db199SXin Li pattern_list = urls.patterns( 17*9c5db199SXin Li django_name, 18*9c5db199SXin Li (r'^(?:|noauth/)rpc/', 'views.handle_rpc'), 19*9c5db199SXin Li (r'^rpc_doc', 'views.rpc_documentation'), 20*9c5db199SXin Li ) 21*9c5db199SXin Li 22*9c5db199SXin Li debug_pattern_list = urls.patterns('', 23*9c5db199SXin Li # for GWT hosted mode 24*9c5db199SXin Li (r'^(?P<forward_addr>autotest.*)', 25*9c5db199SXin Li 'autotest_lib.frontend.afe.views.gwt_forward'), 26*9c5db199SXin Li 27*9c5db199SXin Li # for GWT compiled files 28*9c5db199SXin Li (r'^client/(?P<path>.*)$', 'django.views.static.serve', 29*9c5db199SXin Li {'document_root': os.path.join(os.path.dirname(__file__), '..', 30*9c5db199SXin Li 'frontend', 'client', 'www')}), 31*9c5db199SXin Li # redirect / to compiled client 32*9c5db199SXin Li (r'^$', generic.RedirectView.as_view( 33*9c5db199SXin Li url='client/autotest.%(name)s/%(name)s.html' 34*9c5db199SXin Li % dict(name=gwt_name))), 35*9c5db199SXin Li ) 36*9c5db199SXin Li 37*9c5db199SXin Li return (pattern_list, debug_pattern_list) 38