url('^profile$', views.profile, name='devhub.addons.profile'), url('^edit_(?P<section>[^/]+)(?:/(?P<editable>[^/]+))?$', views.addons_section, name='devhub.addons.section'), url('^versions/$', views.version_list, name='devhub.versions'), url('^versions/(?P<version_id>\d+)$', views.version_edit, name='devhub.versions.edit'), url('^versions/(?P<version>[^/]+)$', views.version_bounce), ) urlpatterns = decorate(write, patterns('', url('^$', views.index, name='devhub.index'), # URLs for a single add-on. ('^addon/(?P<addon_id>\d+)/', include(detail_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$', views.submit_addon, name='devhub.submit_addon'), # Redirect to /addons/ at the base. url('^addon$', lambda r: redirect('devhub.addons', permanent=True)), url('^addons$', views.dashboard, name='devhub.addons'), url('^addons/activity$', views.activity, name='devhub.addons.activity'), url('^upload$', views.upload, name='devhub.upload'), url('^upload/([^/]+)$', views.upload_detail, name='devhub.upload_detail')))
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/$", lambda r: redirect("devhub.submit.1", permanent=True)), url("^addon/submit/1$", views.submit, name="devhub.submit.1"), url("^addon/submit/2$", views.submit_addon, name="devhub.submit.2"), # Standalone validator: url("^addon/validate/?$", views.validate_addon, name="devhub.validate_addon"), # Redirect to /addons/ at the base. url("^addon$", lambda r: redirect("devhub.addons", permanent=True)), url("^addons$", views.dashboard, name="devhub.addons"), 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/([^/]+)(?:/([^/]+))?$", views.upload_detail, name="devhub.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)), # Newsletter archive & signup url("community/newsletter", views.newsletter, name="devhub.community.newsletter"), # Developer docs url("docs/(?P<doc_name>[-_\w]+)?$", views.docs, name="devhub.docs"), url("docs/(?P<doc_name>[-_\w]+)/(?P<doc_page>[-_\w]+)", views.docs, name="devhub.docs"), ), )
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/$', lambda r: redirect('devhub.submit.1', permanent=True)), url('^addon/submit/1$', views.submit, name='devhub.submit.1'), url('^addon/submit/2$', views.submit_addon, name='devhub.submit.2'), # Web App submission url('^app/submit/$', lambda r: redirect('devhub.submit_apps.1', permanent=True)), url('^app/submit/1$', use_apps(views.submit), name='devhub.submit_apps.1'), url('^app/submit/2$', use_apps(views.submit_addon), name='devhub.submit_apps.2'), # 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'), # Add-on packager url('^tools/package/', include(packager_patterns)), # Redirect to /addons/ at the base. url('^addon$', lambda r: redirect('devhub.addons', permanent=True)), url('^addons$', views.dashboard, name='devhub.addons'), url('^apps$', use_apps(views.dashboard), name='devhub.apps'), 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/([^/]+)(?:/([^/]+))?$', views.upload_detail, name='devhub.upload_detail'), url('^standalone-upload$', views.standalone_upload, name='devhub.standalone_upload'), url('^standalone-upload/([^/]+)$', views.standalone_upload_detail, name='devhub.standalone_upload_detail'), url('^upload-manifest$', views.upload_manifest, name='devhub.upload_manifest'), # URLs for a single add-on. url('^addon/%s/' % ADDON_ID, include(detail_patterns)), url('^app/%s/' % APP_SLUG, include(app_detail_patterns)), url('^app/%s/submit/' % ADDON_ID, include(submit_apps_patterns)), url('^ajax/addon/%s/' % ADDON_ID, include(ajax_patterns)), # Personas submission. url('^persona/submit$', views.submit_persona, name='devhub.personas.submit'), url('^persona/%s/submit/done$' % ADDON_ID, views.submit_persona_done, name='devhub.personas.submit.done'), url( '^persona/submit/upload/' '(?P<upload_type>persona_header|persona_footer)$', views.ajax_upload_image, name='devhub.personas.upload_persona'), # Newsletter archive & signup url('community/newsletter', views.newsletter, name='devhub.community.newsletter'), # Add-on SDK page url('builder$', views.builder, name='devhub.builder'), # Developer docs url('docs/(?P<doc_name>[-_\w]+)?$', views.docs, name='devhub.docs'), url('docs/(?P<doc_name>[-_\w]+)/(?P<doc_page>[-_\w]+)', views.docs, name='devhub.docs'), # PayPal Checker url('^check_paypal$', views.check_paypal, name='devhub.check_paypal'), # Search url(r'^search$', views.search, name='devhub.search'), ))
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/$', lambda r: redirect('devhub.submit.1', permanent=True)), url('^addon/submit/1$', views.submit, name='devhub.submit.1'), url('^addon/submit/2$', views.submit_addon, name='devhub.submit.2'), # Web App submission url('^app/submit/$', lambda r: redirect('devhub.submit_apps.1', permanent=True)), url('^app/submit/1$', use_apps(views.submit), name='devhub.submit_apps.1'), url('^app/submit/2$', use_apps(views.submit_addon), name='devhub.submit_apps.2'), # 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'), # Add-on packager url('^tools/package/', include(packager_patterns)), # Redirect to /addons/ at the base. url('^addon$', lambda r: redirect('devhub.addons', permanent=True)), url('^addons$', views.dashboard, name='devhub.addons'), url('^apps$', use_apps(views.dashboard), name='devhub.apps'), 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/([^/]+)(?:/([^/]+))?$', views.upload_detail, name='devhub.upload_detail'), url('^standalone-upload$', views.standalone_upload, name='devhub.standalone_upload'), url('^standalone-upload/([^/]+)$', views.standalone_upload_detail, name='devhub.standalone_upload_detail'), url('^upload-manifest$', views.upload_manifest, name='devhub.upload_manifest'), # URLs for a single add-on. url('^addon/%s/' % ADDON_ID, include(detail_patterns)), url('^app/%s/' % APP_SLUG, include(app_detail_patterns)), url('^app/%s/submit/' % ADDON_ID, include(submit_apps_patterns)), url('^ajax/addon/%s/' % ADDON_ID, include(ajax_patterns)), # Personas submission. url('^persona/submit$', views.submit_persona, name='devhub.personas.submit'), url('^persona/%s/submit/done$' % ADDON_ID, views.submit_persona_done, name='devhub.personas.submit.done'), url('^persona/submit/upload/' '(?P<upload_type>persona_header|persona_footer)$', views.ajax_upload_image, name='devhub.personas.upload_persona'), # Newsletter archive & signup url('community/newsletter', views.newsletter, name='devhub.community.newsletter'), # Add-on SDK page url('builder$', views.builder, name='devhub.builder'), # Developer docs url('docs/(?P<doc_name>[-_\w]+)?$', views.docs, name='devhub.docs'), url('docs/(?P<doc_name>[-_\w]+)/(?P<doc_page>[-_\w]+)', views.docs, name='devhub.docs'), # PayPal Checker url('^check_paypal$', views.check_paypal, name='devhub.check_paypal'), # Search url(r'^search$', views.search, name='devhub.search'), ))
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/$', lambda r: redirect('devhub.submit.1', permanent=True)), url('^addon/submit/1$', views.submit, name='devhub.submit.1'), url('^addon/submit/2$', views.submit_addon, name='devhub.submit.2'), # 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'), # Add-on packager url('^addon/package/', include(packager_patterns)), # Redirect to /addons/ at the base. url('^addon$', lambda r: redirect('devhub.addons', permanent=True)), url('^addons$', views.dashboard, name='devhub.addons'), 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/([^/]+)(?:/([^/]+))?$', views.upload_detail, name='devhub.upload_detail'), url('^standalone-upload$', views.standalone_upload, name='devhub.standalone_upload'), 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)), # Newsletter archive & signup url('community/newsletter', views.newsletter, name='devhub.community.newsletter'), # Add-on SDK page url('builder$', views.builder, name='devhub.builder'), # Developer docs url('docs/(?P<doc_name>[-_\w]+)?$', views.docs, name='devhub.docs'), url('docs/(?P<doc_name>[-_\w]+)/(?P<doc_page>[-_\w]+)', views.docs, name='devhub.docs'), ))
) 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/$', lambda r: redirect('devhub.submit.1', permanent=True)), url('^addon/submit/1$', views.submit, name='devhub.submit.1'), url('^addon/submit/2$', views.submit_addon, name='devhub.submit.2'), # Redirect to /addons/ at the base. url('^addon$', lambda r: redirect('devhub.addons', permanent=True)), url('^addons$', views.dashboard, name='devhub.addons'), url('^feed$', views.feed, name='devhub.feed_all'), url('^feed/%s$' % ADDON_ID, views.feed, name='devhub.feed'), url('^upload$', views.upload, name='devhub.upload'), url('^upload/([^/]+)(?:/([^/]+))?$', views.upload_detail, name='devhub.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)), ))
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/$', lambda r: redirect('devhub.submit.1', permanent=True)), url('^addon/submit/1$', views.submit, name='devhub.submit.1'), url('^addon/submit/2$', views.submit_addon, name='devhub.submit.2'), # Standalone validator: url('^addon/validate/?$', views.validate_addon, name='devhub.validate_addon'), # Redirect to /addons/ at the base. url('^addon$', lambda r: redirect('devhub.addons', permanent=True)), url('^addons$', views.dashboard, name='devhub.addons'), 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/([^/]+)(?:/([^/]+))?$', views.upload_detail, name='devhub.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)), # Newsletter archive & signup url('community/newsletter', views.newsletter, name='devhub.community.newsletter'), ))
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/$', lambda r: redirect('devhub.submit.1', permanent=True)), url('^addon/submit/1$', views.submit, name='devhub.submit.1'), url('^addon/submit/2$', views.submit_addon, name='devhub.submit.2'), # Standalone validator: url('^addon/validate/?$', views.validate_addon, name='devhub.validate_addon'), # Redirect to /addons/ at the base. url('^addon$', lambda r: redirect('devhub.addons', permanent=True)), url('^addons$', views.dashboard, name='devhub.addons'), 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/([^/]+)(?:/([^/]+))?$', views.upload_detail, name='devhub.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)), # Newsletter archive & signup url('community/newsletter', views.newsletter, name='devhub.community.newsletter'), ))
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/$", lambda r: redirect("devhub.submit.1", permanent=True)), url("^addon/submit/1$", views.submit, name="devhub.submit.1"), url("^addon/submit/2$", views.submit_addon, name="devhub.submit.2"), # Web App submission url("^app/submit/$", lambda r: redirect("devhub.submit_apps.1", permanent=True)), url("^app/submit/1$", use_apps(views.submit), name="devhub.submit_apps.1"), url("^app/submit/2$", use_apps(views.submit_addon), name="devhub.submit_apps.2"), # 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", ), # Add-on packager url("^tools/package/", include(packager_patterns)), # Redirect to /addons/ at the base. url("^addon$", lambda r: redirect("devhub.addons", permanent=True)), url("^addons$", views.dashboard, name="devhub.addons"), url("^apps$", use_apps(views.dashboard), name="devhub.apps"), 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/([^/]+)(?:/([^/]+))?$", views.upload_detail, name="devhub.upload_detail"), url("^standalone-upload$", views.standalone_upload, name="devhub.standalone_upload"), url("^standalone-upload/([^/]+)$", views.standalone_upload_detail, name="devhub.standalone_upload_detail"), url("^upload-manifest$", views.upload_manifest, name="devhub.upload_manifest"), # URLs for a single add-on. url("^addon/%s/" % ADDON_ID, include(detail_patterns)), url("^app/%s/" % APP_SLUG, include(app_detail_patterns)), url("^app/%s/submit/" % ADDON_ID, include(submit_apps_patterns)), url("^ajax/addon/%s/" % ADDON_ID, include(ajax_patterns)), # Personas submission. url("^persona/submit$", views.submit_persona, name="devhub.personas.submit"), url("^persona/%s/submit/done$" % ADDON_ID, views.submit_persona_done, name="devhub.personas.submit.done"), url( "^persona/submit/upload/" "(?P<upload_type>persona_header|persona_footer)$", views.ajax_upload_image, name="devhub.personas.upload_persona", ), # Newsletter archive & signup url("community/newsletter", views.newsletter, name="devhub.community.newsletter"), # Add-on SDK page url("builder$", views.builder, name="devhub.builder"), # Developer docs url("docs/(?P<doc_name>[-_\w]+)?$", views.docs, name="devhub.docs"), url("docs/(?P<doc_name>[-_\w]+)/(?P<doc_page>[-_\w]+)", views.docs, name="devhub.docs"), # PayPal Checker url("^check_paypal$", views.check_paypal, name="devhub.check_paypal"), ), )