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