普通文本  |  79行  |  3.55 KB

from django.conf.urls import defaults
from autotest_lib.frontend import settings, urls_common
from autotest_lib.frontend.afe.feeds import feed
from autotest_lib.frontend.afe import resources

feeds = {
    'jobs' : feed.JobFeed
}

urlpatterns, debug_patterns = (
        urls_common.generate_patterns('frontend.afe', 'AfeClient'))

resource_patterns = defaults.patterns(
        '',
        (r'^/?$', resources.ResourceDirectory.dispatch_request),
        (r'^atomic_group_classes/?$',
         resources.AtomicGroupClassCollection.dispatch_request),
        (r'^atomic_group_classes/(?P<ag_name>.+?)/?$',
         resources.AtomicGroupClass.dispatch_request),
        (r'^atomic_taggings/?$',
         resources.AtomicLabelTaggingCollection.dispatch_request),
        (r'^atomic_taggings/(?P<ag_name>.+?),(?P<label_name>.+?)/?$',
         resources.AtomicLabelTagging.dispatch_request),
        (r'^labels/?$', resources.LabelCollection.dispatch_request),
        (r'^labels/(?P<label_name>.+?)/?$', resources.Label.dispatch_request),
        (r'^users/?$', resources.UserCollection.dispatch_request),
        (r'^users/(?P<username>[@\w]+)/?$', resources.User.dispatch_request),
        (r'^user_acls/?$',
         resources.UserAclMembershipCollection.dispatch_request),
        (r'^user_acls/(?P<username>.+?),(?P<acl_name>.+?)/?$',
         resources.UserAclMembership.dispatch_request),
        (r'^acls/?$', resources.AclCollection.dispatch_request),
        (r'^acls/(?P<acl_name>.+?)/?$', resources.Acl.dispatch_request),
        (r'^hosts/?$', resources.HostCollection.dispatch_request),
        (r'^hosts/(?P<hostname>.+?)/?$', resources.Host.dispatch_request),
        (r'^labelings/?$', resources.HostLabelingCollection.dispatch_request),
        (r'^labelings/(?P<hostname>.+?),(?P<label_name>.+?)/?$',
         resources.HostLabeling.dispatch_request),
        (r'^host_acls/?$',
         resources.HostAclMembershipCollection.dispatch_request),
        (r'^host_acls/(?P<hostname>.+?),(?P<acl_name>.+?)/?$',
         resources.HostAclMembership.dispatch_request),
        (r'^tests/?$', resources.TestCollection.dispatch_request),
        (r'^tests/(?P<test_name>.+?)/?$', resources.Test.dispatch_request),
        (r'^test_dependencies/?$',
         resources.TestDependencyCollection.dispatch_request),
        (r'^test_dependencies/(?P<test_name>.+?),(?P<label_name>.+?)/?$',
         resources.TestDependency.dispatch_request),
        (r'^execution_info/?$', resources.ExecutionInfo.dispatch_request),
        (r'^queue_entries_request/?$',
         resources.QueueEntriesRequest.dispatch_request),
        (r'^jobs/?$', resources.JobCollection.dispatch_request),
        (r'^jobs/(?P<job_id>\d+)/?$', resources.Job.dispatch_request),
        (r'^queue_entries/?$', resources.QueueEntryCollection.dispatch_request),
        (r'^queue_entries/(?P<queue_entry_id>\d+?)/?$',
         resources.QueueEntry.dispatch_request),
        (r'^health_tasks/?$', resources.HealthTaskCollection.dispatch_request),
        (r'^health_tasks/(?P<task_id>\d+)/?$',
         resources.HealthTask.dispatch_request),
    )

urlpatterns += defaults.patterns(
        '', (r'^resources/', defaults.include(resource_patterns)))

# File upload
urlpatterns += defaults.patterns(
        '', (r'^upload/', 'frontend.afe.views.handle_file_upload'))

# Job feeds
debug_patterns += defaults.patterns(
        '',
        (r'^model_doc/', 'frontend.afe.views.model_documentation'),
        (r'^feeds/(?P<url>.*)/$', 'frontend.afe.feeds.feed.feed_view',
         {'feed_dict': feeds})
    )

if settings.DEBUG:
    urlpatterns += debug_patterns