Beispiel #1
0
urlpatterns = decorate(
    use_primary_db,
    [
        re_path(r'^$', views.index, name='devhub.index'),
        re_path(r'', include(redirect_patterns)),
        # Redirect people who have /addons/ instead of /addon/.
        re_path(r'^addons/\d+/.*',
                lambda r: redirect(r.path.replace('addons', 'addon', 1))),
        # Add-on submission
        re_path(
            r'^addon/submit/(?:1)?$',
            lambda r: redirect('devhub.submit.agreement', permanent=True),
        ),
        re_path(
            r'^addon/submit/agreement$',
            views.submit_addon,
            name='devhub.submit.agreement',
        ),
        re_path(
            r'^addon/submit/distribution$',
            views.submit_addon_distribution,
            name='devhub.submit.distribution',
        ),
        re_path(
            r'^addon/submit/upload-(?P<channel>listed|unlisted)$',
            views.submit_addon_upload,
            name='devhub.submit.upload',
        ),
        re_path(
            r'^addon/submit/wizard-(?P<channel>listed|unlisted)$',
            views.submit_addon_theme_wizard,
            name='devhub.submit.wizard',
        ),
        # Submission API
        re_path(
            r'^addon/agreement/$',
            views.api_key_agreement,
            name='devhub.api_key_agreement',
        ),
        re_path(r'^addon/api/key/$', views.api_key, name='devhub.api_key'),
        # Standalone validator:
        re_path(r'^addon/validate/?$',
                views.validate_addon,
                name='devhub.validate_addon'),
        # Redirect to /addons/ at the base.
        re_path(r'^addon$',
                lambda r: redirect('devhub.addons', permanent=True)),
        re_path(r'^addons$', views.dashboard, name='devhub.addons'),
        re_path(r'^themes$',
                views.dashboard,
                name='devhub.themes',
                kwargs={'theme': True}),
        re_path(r'^feed$', views.feed, name='devhub.feed_all'),
        # TODO: not necessary when devhub homepage is moved out of remora
        re_path(r'^feed/all$',
                lambda r: redirect('devhub.feed_all', permanent=True)),
        re_path(r'^feed/%s$' % ADDON_ID, views.feed, name='devhub.feed'),
        re_path(r'^upload$', views.upload, name='devhub.upload'),
        re_path(
            r'^upload/unlisted$',
            partial(views.upload, channel='unlisted'),
            name='devhub.upload_unlisted',
        ),
        re_path(
            r'^upload/([^/]+)(?:/([^/]+))?$',
            views.upload_detail,
            name='devhub.upload_detail',
        ),
        re_path(
            r'^standalone-upload$',
            partial(views.upload, is_standalone=True),
            name='devhub.standalone_upload',
        ),
        re_path(
            r'^standalone-upload-unlisted$',
            partial(views.upload, is_standalone=True, channel='unlisted'),
            name='devhub.standalone_upload_unlisted',
        ),
        re_path(
            r'^standalone-upload/([^/]+)$',
            views.standalone_upload_detail,
            name='devhub.standalone_upload_detail',
        ),
        # URLs for a single add-on.
        re_path(r'^addon/%s/' % ADDON_ID, include(detail_patterns)),
        re_path(r'^ajax/addon/%s/' % ADDON_ID, include(ajax_patterns)),
        # Old LWT Theme submission.
        re_path(
            r'^theme/submit/?$',
            lambda r: redirect('devhub.submit.agreement'),
            name='devhub.themes.submit',
        ),
        # Add-on SDK page
        re_path(r'builder$', lambda r: redirect(views.MDN_BASE)),
        # Developer docs
        re_path(r'docs/(?P<doc_name>[-_\w]+(?:/[-_\w]+)?)?$',
                views.docs,
                name='devhub.docs'),
        # logout page
        re_path(r'^logout', views.logout, name='devhub.logout'),
    ],
)
Beispiel #2
0
urlpatterns = decorate(
    write,
    patterns(
        '',
        url('^$', views.index, name='devhub.index'),
        url('', include(redirect_patterns)),

        # Redirect people who have /addons/ instead of /addon/.
        ('^addons/\d+/.*',
         lambda r: redirect(r.path.replace('addons', 'addon', 1))),

        # Add-on submission
        url('^addon/submit/(?:1)?$',
            lambda r: redirect('devhub.submit.agreement', permanent=True)),
        url('^addon/submit/agreement$',
            views.submit_addon,
            name='devhub.submit.agreement'),
        url('^addon/submit/distribution$',
            views.submit_addon_distribution,
            name='devhub.submit.distribution'),
        url('^addon/submit/upload-(?P<channel>listed|unlisted)$',
            views.submit_addon_upload,
            name='devhub.submit.upload'),

        # Submission API
        url('^addon/agreement/$',
            views.api_key_agreement,
            name='devhub.api_key_agreement'),
        url('^addon/api/key/$', views.api_key, name='devhub.api_key'),

        # Standalone validator:
        url('^addon/validate/?$',
            views.validate_addon,
            name='devhub.validate_addon'),

        # Standalone compatibility checker:
        url('^addon/check-compatibility$',
            views.check_addon_compatibility,
            name='devhub.check_addon_compatibility'),
        url(r'^addon/check-compatibility/application_versions\.json$',
            views.compat_application_versions,
            name='devhub.compat_application_versions'),

        # Redirect to /addons/ at the base.
        url('^addon$', lambda r: redirect('devhub.addons', permanent=True)),
        url('^addons$', views.dashboard, name='devhub.addons'),
        url('^themes$',
            views.dashboard,
            name='devhub.themes',
            kwargs={'theme': True}),
        url('^feed$', views.feed, name='devhub.feed_all'),
        # TODO: not necessary when devhub homepage is moved out of remora
        url('^feed/all$',
            lambda r: redirect('devhub.feed_all', permanent=True)),
        url('^feed/%s$' % ADDON_ID, views.feed, name='devhub.feed'),
        url('^upload$', views.upload, name='devhub.upload'),
        url('^upload/unlisted$',
            partial(views.upload, channel='unlisted'),
            name='devhub.upload_unlisted'),
        url('^upload/([^/]+)(?:/([^/]+))?$',
            views.upload_detail,
            name='devhub.upload_detail'),
        url('^standalone-upload$',
            partial(views.upload, is_standalone=True),
            name='devhub.standalone_upload'),
        url('^standalone-upload-unlisted$',
            partial(views.upload, is_standalone=True, channel='unlisted'),
            name='devhub.standalone_upload_unlisted'),
        url('^standalone-upload/([^/]+)$',
            views.standalone_upload_detail,
            name='devhub.standalone_upload_detail'),

        # URLs for a single add-on.
        url('^addon/%s/' % ADDON_ID, include(detail_patterns)),
        url('^ajax/addon/%s/' % ADDON_ID, include(ajax_patterns)),

        # Themes submission.
        url('^theme/submit/?$',
            views.submit_theme,
            name='devhub.themes.submit'),
        url('^theme/%s/submit/done$' % ADDON_ID,
            views.submit_theme_done,
            name='devhub.themes.submit.done'),
        url(
            '^theme/submit/upload/'
            '(?P<upload_type>persona_header|persona_footer)$',
            views.ajax_upload_image,
            name='devhub.personas.upload_persona'),
        url('^theme/%s/' % ADDON_ID, include(theme_detail_patterns)),

        # Add-on SDK page
        url('builder$', lambda r: redirect(views.MDN_BASE)),

        # Developer docs
        url('docs/(?P<doc_name>[-_\w]+(?:/[-_\w]+)?)?$',
            views.docs,
            name='devhub.docs'),
    ))
Beispiel #3
0
urlpatterns = decorate(use_primary_db, [
    url('^$', views.index, name='devhub.index'),
    url('', include(redirect_patterns)),

    # Redirect people who have /addons/ instead of /addon/.
    url('^addons/\d+/.*',
        lambda r: redirect(r.path.replace('addons', 'addon', 1))),

    # Add-on submission
    url('^addon/submit/(?:1)?$',
        lambda r: redirect('devhub.submit.agreement', permanent=True)),
    url('^addon/submit/agreement$', views.submit_addon,
        name='devhub.submit.agreement'),
    url('^addon/submit/distribution$', views.submit_addon_distribution,
        name='devhub.submit.distribution'),
    url('^addon/submit/upload-(?P<channel>listed|unlisted)$',
        views.submit_addon_upload, name='devhub.submit.upload'),
    url('^addon/submit/wizard-(?P<channel>listed|unlisted)$',
        views.submit_addon_theme_wizard, name='devhub.submit.wizard'),

    # Submission API
    url('^addon/agreement/$', views.api_key_agreement,
        name='devhub.api_key_agreement'),

    url('^addon/api/key/$', views.api_key, name='devhub.api_key'),

    # Standalone validator:
    url('^addon/validate/?$', views.validate_addon,
        name='devhub.validate_addon'),

    # Standalone compatibility checker:
    url('^addon/check-compatibility$', views.check_addon_compatibility,
        name='devhub.check_addon_compatibility'),
    url(r'^addon/check-compatibility/application_versions\.json$',
        views.compat_application_versions,
        name='devhub.compat_application_versions'),

    # Redirect to /addons/ at the base.
    url('^addon$', lambda r: redirect('devhub.addons', permanent=True)),
    url('^addons$', views.dashboard, name='devhub.addons'),
    url('^themes$', views.dashboard, name='devhub.themes',
        kwargs={'theme': True}),
    url('^feed$', views.feed, name='devhub.feed_all'),
    # TODO: not necessary when devhub homepage is moved out of remora
    url('^feed/all$', lambda r: redirect('devhub.feed_all', permanent=True)),
    url('^feed/%s$' % ADDON_ID, views.feed, name='devhub.feed'),

    url('^upload$', views.upload, name='devhub.upload'),
    url('^upload/unlisted$',
        partial(views.upload, channel='unlisted'),
        name='devhub.upload_unlisted'),

    url('^upload/([^/]+)(?:/([^/]+))?$', views.upload_detail,
        name='devhub.upload_detail'),

    url('^standalone-upload$',
        partial(views.upload, is_standalone=True),
        name='devhub.standalone_upload'),
    url('^standalone-upload-unlisted$',
        partial(views.upload, is_standalone=True, channel='unlisted'),
        name='devhub.standalone_upload_unlisted'),
    url('^standalone-upload/([^/]+)$', views.standalone_upload_detail,
        name='devhub.standalone_upload_detail'),

    # URLs for a single add-on.
    url('^addon/%s/' % ADDON_ID, include(detail_patterns)),

    url('^ajax/addon/%s/' % ADDON_ID, include(ajax_patterns)),

    # Themes submission.
    url('^theme/submit/?$', views.submit_theme, name='devhub.themes.submit'),
    url('^theme/%s/submit/done$' % ADDON_ID, views.submit_theme_done,
        name='devhub.themes.submit.done'),
    url('^theme/submit/upload/'
        '(?P<upload_type>persona_header)$',
        views.ajax_upload_image, name='devhub.personas.upload_persona'),
    url('^theme/%s/' % ADDON_ID, include(theme_detail_patterns)),

    # Add-on SDK page
    url('builder$', lambda r: redirect(views.MDN_BASE)),

    # Developer docs
    url('docs/(?P<doc_name>[-_\w]+(?:/[-_\w]+)?)?$',
        views.docs, name='devhub.docs'),
])