Skip to content

Instantly share code, notes, and snippets.

@kumar303
Last active January 8, 2016 17:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kumar303/3092982b49859b219a0b to your computer and use it in GitHub Desktop.
Save kumar303/3092982b49859b219a0b to your computer and use it in GitHub Desktop.
#
# Generated with the following command and then edited.
# docker-compose run web ./manage.py show_urls > ~/tmp/olympia-urls.txt
#
# If a URL starts with a minus then it shouldn't be marked as non-atomic.
# If a URL starts with a hash then it's ignored.
#
/ addons.views.home home
/<var>/moreinfo.php browse.views.moreinfo_redirect
# /__debug__/render_panel/ debug_toolbar.views.render_panel render_panel
# /__debug__/sql_explain/ debug_toolbar.panels.sql.views.sql_explain sql_explain
# /__debug__/sql_profile/ debug_toolbar.panels.sql.views.sql_profile sql_profile
# /__debug__/sql_select/ debug_toolbar.panels.sql.views.sql_select sql_select
# /__debug__/template_source/ debug_toolbar.panels.templates.views.template_source template_source
- /about django.views.generic.base.TemplateView pages.about
/addon/<addon_id>/ addons.views.addon_detail addons.detail
/addon/<addon_id>/about addons.urls.<lambda> addons.about
/addon/<addon_id>/abuse/ addons.views.report_abuse addons.abuse
/addon/<addon_id>/contribute/ addons.views.contribute addons.contribute
/addon/<addon_id>/contribute/<status> addons.views.paypal_result addons.paypal
/addon/<addon_id>/contribute/installed/ addons.views.developers addons.installed
/addon/<addon_id>/contribute/roadblock/ addons.views.developers addons.roadblock
/addon/<addon_id>/contribute/thanks addons.urls.<lambda> addons.thanks
/addon/<addon_id>/developers addons.views.developers addons.meet
/addon/<addon_id>/eula/<file_id> addons.views.eula addons.eula
/addon/<addon_id>/license/<version> addons.views.license addons.license
/addon/<addon_id>/more addons.views.addon_detail addons.detail_more
/addon/<addon_id>/privacy/ addons.views.privacy addons.privacy
/addon/<addon_id>/reviews/ reviews.views.review_list addons.reviews.list
/addon/<addon_id>/reviews/<review_id>/ reviews.views.review_list addons.reviews.detail
- /addon/<addon_id>/reviews/<review_id>/delete reviews.views.delete addons.reviews.delete
- /addon/<addon_id>/reviews/<review_id>/edit reviews.views.edit addons.reviews.edit
- /addon/<addon_id>/reviews/<review_id>/flag reviews.views.flag addons.reviews.flag
- /addon/<addon_id>/reviews/<review_id>/reply reviews.views.reply addons.reviews.reply
/addon/<addon_id>/reviews/<review_id>/translate/<language>) reviews.views.translate addons.reviews.translate
- /addon/<addon_id>/reviews/add reviews.views.add addons.reviews.add
/addon/<addon_id>/reviews/format:rss reviews.feeds.ReviewsRss() addons.reviews.list.rss
/addon/<addon_id>/reviews/user:<user_id> reviews.views.review_list addons.reviews.user
/addon/<addon_id>/share addons.views.share addons.share
/addon/<addon_id>/statistics/ stats.views.stats_report stats.overview
/addon/<addon_id>/statistics/apps-<group>-<start>-<end>.<format> stats.views.usage_breakdown_series stats.apps_series
/addon/<addon_id>/statistics/contributions-<group>-<start>-<end>.<format> stats.views.contributions_series stats.contributions_series
/addon/<addon_id>/statistics/contributions/ stats.views.stats_report stats.contributions
/addon/<addon_id>/statistics/downloads-<group>-<start>-<end>.<format> stats.views.downloads_series stats.downloads_series
/addon/<addon_id>/statistics/downloads/ stats.views.stats_report stats.downloads
/addon/<addon_id>/statistics/downloads/sources/ stats.views.stats_report stats.sources
/addon/<addon_id>/statistics/locales-<group>-<start>-<end>.<format> stats.views.usage_breakdown_series stats.locales_series
/addon/<addon_id>/statistics/os-<group>-<start>-<end>.<format> stats.views.usage_breakdown_series stats.os_series
/addon/<addon_id>/statistics/overview-<group>-<start>-<end>.<format> stats.views.overview_series stats.overview_series
/addon/<addon_id>/statistics/sources-<group>-<start>-<end>.<format> stats.views.sources_series stats.sources_series
/addon/<addon_id>/statistics/statuses-<group>-<start>-<end>.<format> stats.views.usage_breakdown_series stats.statuses_series
/addon/<addon_id>/statistics/usage-<group>-<start>-<end>.<format> stats.views.usage_series stats.usage_series
/addon/<addon_id>/statistics/usage/ stats.views.stats_report stats.usage
/addon/<addon_id>/statistics/usage/applications/ stats.views.stats_report stats.apps
/addon/<addon_id>/statistics/usage/languages/ stats.views.stats_report stats.locales
/addon/<addon_id>/statistics/usage/os/ stats.views.stats_report stats.os
/addon/<addon_id>/statistics/usage/status/ stats.views.stats_report stats.statuses
/addon/<addon_id>/statistics/usage/versions/ stats.views.stats_report stats.versions
/addon/<addon_id>/statistics/versions-<group>-<start>-<end>.<format> stats.views.usage_breakdown_series stats.versions_series
/addon/<addon_id>/versions/ versions.views.version_list addons.versions
/addon/<addon_id>/versions/<version_num> versions.views.version_detail addons.versions
/addon/<addon_id>/versions/<version_num>/updateinfo/ versions.views.update_info addons.versions.update_info
/addon/<addon_id>/versions/beta versions.views.version_list addons.beta-versions
/addon/<addon_id>/versions/beta/format:rss versions.feeds.VersionsRss() addons.beta-versions.rss
/addon/<addon_id>/versions/format:rss versions.feeds.VersionsRss() addons.versions.rss
/addons/buttons.js<var> addons.buttons.js
/addons/contribute/<var>/ lib.urls_base.<lambda>
/addons/policy/0/<addon_id>/ addons.urls.<lambda>
/addons/policy/0/<addon_id>/<file_id> addons.urls.<lambda>
/addons/reviews/<var>/format:rss lib.urls_base.<lambda>
/addons/smorgasbord addons.buttons.smorgasbord
/addons/versions/<var>/ lib.urls_base.<lambda>
/addons/versions/<var>/format:rss lib.urls_base.<lambda>
- /admin/ zadmin.views.index zadmin.index
- /admin/addon-search zadmin.views.addon_search zadmin.addon-search
- /admin/addon/manage/<addon_id>/ zadmin.views.addon_manage zadmin.addon_manage
- /admin/addon/recalc-hash/<file_id>/ zadmin.views.recalc_hash zadmin.recalc_hash
- /admin/compat zadmin.views.compat zadmin.compat
- /admin/elastic zadmin.views.elastic zadmin.elastic
- /admin/email-devs zadmin.views.email_devs zadmin.email_devs
- /admin/email_addresses_file zadmin.views.email_addresses_file zadmin.email_addresses_file
- /admin/email_preview/<topic>.csv zadmin.views.email_preview_csv zadmin.email_preview_csv
- /admin/env zadmin.views.env amo.env
- /admin/events/<event_id> zadmin.views.site_events zadmin.site_events
- /admin/events/<event_id>/delete zadmin.views.delete_site_event zadmin.site_events.delete
- /admin/export_email_addresses zadmin.views.export_email_addresses zadmin.export_email_addresses
- /admin/features zadmin.views.features zadmin.features
- /admin/features/collections.json zadmin.views.es_collections_json zadmin.collections_json
- /admin/features/featured-collection zadmin.views.featured_collection zadmin.featured_collection
- /admin/file-upload/<uuid>/download zadmin.views.download_file zadmin.download_file
- /admin/fix-disabled zadmin.views.fix_disabled_file zadmin.fix-disabled
- /admin/flagged zadmin.views.flagged zadmin.flagged
- /admin/generate-error zadmin.views.generate_error zadmin.generate-error
- /admin/hera zadmin.views.hera zadmin.hera
- /admin/langpacks zadmin.views.langpacks zadmin.langpacks
- /admin/mail zadmin.views.mail zadmin.mail
- /admin/memcache zadmin.views.memcache zadmin.memcache
- /admin/models zadmin.urls.<lambda> zadmin.home
# /admin/models/ django.contrib.admin.sites.index index
- /admin/models/<app_id>/<model_id>/search.json zadmin.views.general_search zadmin.search
# /admin/models/<app_label>/ django.contrib.admin.sites.app_index app_list
# /admin/models/access/group/ django.contrib.admin.options.changelist_view access_group_changelist
# /admin/models/access/group/<var>/ django.contrib.admin.options.change_view access_group_change
# /admin/models/access/group/<var>/delete/ django.contrib.admin.options.delete_view access_group_delete
# /admin/models/access/group/<var>/history/ django.contrib.admin.options.history_view access_group_history
# /admin/models/access/group/add/ django.contrib.admin.options.add_view access_group_add
# /admin/models/addons/addon/ django.contrib.admin.options.changelist_view addons_addon_changelist
# /admin/models/addons/addon/<var>/ django.contrib.admin.options.change_view addons_addon_change
# /admin/models/addons/addon/<var>/delete/ django.contrib.admin.options.delete_view addons_addon_delete
# /admin/models/addons/addon/<var>/history/ django.contrib.admin.options.history_view addons_addon_history
# /admin/models/addons/addon/add/ django.contrib.admin.options.add_view addons_addon_add
# /admin/models/addons/blacklistedguid/ django.contrib.admin.options.changelist_view addons_blacklistedguid_changelist
# /admin/models/addons/blacklistedguid/<var>/ django.contrib.admin.options.change_view addons_blacklistedguid_change
# /admin/models/addons/blacklistedguid/<var>/delete/ django.contrib.admin.options.delete_view addons_blacklistedguid_delete
# /admin/models/addons/blacklistedguid/<var>/history/ django.contrib.admin.options.history_view addons_blacklistedguid_history
# /admin/models/addons/blacklistedguid/add/ django.contrib.admin.options.add_view addons_blacklistedguid_add
# /admin/models/addons/category/ django.contrib.admin.options.changelist_view addons_category_changelist
# /admin/models/addons/category/<var>/ django.contrib.admin.options.change_view addons_category_change
# /admin/models/addons/category/<var>/delete/ django.contrib.admin.options.delete_view addons_category_delete
# /admin/models/addons/category/<var>/history/ django.contrib.admin.options.history_view addons_category_history
# /admin/models/addons/category/add/ django.contrib.admin.options.add_view addons_category_add
# /admin/models/addons/compatoverride/ django.contrib.admin.options.changelist_view addons_compatoverride_changelist
# /admin/models/addons/compatoverride/<var>/ django.contrib.admin.options.change_view addons_compatoverride_change
# /admin/models/addons/compatoverride/<var>/delete/ django.contrib.admin.options.delete_view addons_compatoverride_delete
# /admin/models/addons/compatoverride/<var>/history/ django.contrib.admin.options.history_view addons_compatoverride_history
# /admin/models/addons/compatoverride/add/ django.contrib.admin.options.add_view addons_compatoverride_add
# /admin/models/addons/frozenaddon/ django.contrib.admin.options.changelist_view addons_frozenaddon_changelist
# /admin/models/addons/frozenaddon/<var>/ django.contrib.admin.options.change_view addons_frozenaddon_change
# /admin/models/addons/frozenaddon/<var>/delete/ django.contrib.admin.options.delete_view addons_frozenaddon_delete
# /admin/models/addons/frozenaddon/<var>/history/ django.contrib.admin.options.history_view addons_frozenaddon_history
# /admin/models/addons/frozenaddon/add/ django.contrib.admin.options.add_view addons_frozenaddon_add
# /admin/models/applications/appversion/ django.contrib.admin.options.changelist_view applications_appversion_changelist
# /admin/models/applications/appversion/<var>/ django.contrib.admin.options.change_view applications_appversion_change
# /admin/models/applications/appversion/<var>/delete/ django.contrib.admin.options.delete_view applications_appversion_delete
# /admin/models/applications/appversion/<var>/history/ django.contrib.admin.options.history_view applications_appversion_history
# /admin/models/applications/appversion/add/ django.contrib.admin.options.add_view applications_appversion_add
# /admin/models/auth/group/ django.contrib.admin.options.changelist_view auth_group_changelist
# /admin/models/auth/group/<var>/ django.contrib.admin.options.change_view auth_group_change
# /admin/models/auth/group/<var>/delete/ django.contrib.admin.options.delete_view auth_group_delete
# /admin/models/auth/group/<var>/history/ django.contrib.admin.options.history_view auth_group_history
# /admin/models/auth/group/add/ django.contrib.admin.options.add_view auth_group_add
# /admin/models/blocklist/blocklistapp/ django.contrib.admin.options.changelist_view blocklist_blocklistapp_changelist
# /admin/models/blocklist/blocklistapp/<var>/ django.contrib.admin.options.change_view blocklist_blocklistapp_change
# /admin/models/blocklist/blocklistapp/<var>/delete/ django.contrib.admin.options.delete_view blocklist_blocklistapp_delete
# /admin/models/blocklist/blocklistapp/<var>/history/ django.contrib.admin.options.history_view blocklist_blocklistapp_history
# /admin/models/blocklist/blocklistapp/add/ django.contrib.admin.options.add_view blocklist_blocklistapp_add
# /admin/models/blocklist/blocklistca/ django.contrib.admin.options.changelist_view blocklist_blocklistca_changelist
# /admin/models/blocklist/blocklistca/<var>/ django.contrib.admin.options.change_view blocklist_blocklistca_change
# /admin/models/blocklist/blocklistca/<var>/delete/ django.contrib.admin.options.delete_view blocklist_blocklistca_delete
# /admin/models/blocklist/blocklistca/<var>/history/ django.contrib.admin.options.history_view blocklist_blocklistca_history
# /admin/models/blocklist/blocklistca/add/ django.contrib.admin.options.add_view blocklist_blocklistca_add
# /admin/models/blocklist/blocklistdetail/ django.contrib.admin.options.changelist_view blocklist_blocklistdetail_changelist
# /admin/models/blocklist/blocklistdetail/<var>/ django.contrib.admin.options.change_view blocklist_blocklistdetail_change
# /admin/models/blocklist/blocklistdetail/<var>/delete/ django.contrib.admin.options.delete_view blocklist_blocklistdetail_delete
# /admin/models/blocklist/blocklistdetail/<var>/history/ django.contrib.admin.options.history_view blocklist_blocklistdetail_history
# /admin/models/blocklist/blocklistdetail/add/ django.contrib.admin.options.add_view blocklist_blocklistdetail_add
# /admin/models/blocklist/blocklistgfx/ django.contrib.admin.options.changelist_view blocklist_blocklistgfx_changelist
# /admin/models/blocklist/blocklistgfx/<var>/ django.contrib.admin.options.change_view blocklist_blocklistgfx_change
# /admin/models/blocklist/blocklistgfx/<var>/delete/ django.contrib.admin.options.delete_view blocklist_blocklistgfx_delete
# /admin/models/blocklist/blocklistgfx/<var>/history/ django.contrib.admin.options.history_view blocklist_blocklistgfx_history
# /admin/models/blocklist/blocklistgfx/add/ django.contrib.admin.options.add_view blocklist_blocklistgfx_add
# /admin/models/blocklist/blocklistissuercert/ django.contrib.admin.options.changelist_view blocklist_blocklistissuercert_changelist
# /admin/models/blocklist/blocklistissuercert/<var>/ django.contrib.admin.options.change_view blocklist_blocklistissuercert_change
# /admin/models/blocklist/blocklistissuercert/<var>/delete/ django.contrib.admin.options.delete_view blocklist_blocklistissuercert_delete
# /admin/models/blocklist/blocklistissuercert/<var>/history/ django.contrib.admin.options.history_view blocklist_blocklistissuercert_history
# /admin/models/blocklist/blocklistissuercert/add/ django.contrib.admin.options.add_view blocklist_blocklistissuercert_add
# /admin/models/blocklist/blocklistitem/ django.contrib.admin.options.changelist_view blocklist_blocklistitem_changelist
# /admin/models/blocklist/blocklistitem/<var>/ django.contrib.admin.options.change_view blocklist_blocklistitem_change
# /admin/models/blocklist/blocklistitem/<var>/delete/ django.contrib.admin.options.delete_view blocklist_blocklistitem_delete
# /admin/models/blocklist/blocklistitem/<var>/history/ django.contrib.admin.options.history_view blocklist_blocklistitem_history
# /admin/models/blocklist/blocklistitem/add/ django.contrib.admin.options.add_view blocklist_blocklistitem_add
# /admin/models/blocklist/blocklistplugin/ django.contrib.admin.options.changelist_view blocklist_blocklistplugin_changelist
# /admin/models/blocklist/blocklistplugin/<var>/ django.contrib.admin.options.change_view blocklist_blocklistplugin_change
# /admin/models/blocklist/blocklistplugin/<var>/delete/ django.contrib.admin.options.delete_view blocklist_blocklistplugin_delete
# /admin/models/blocklist/blocklistplugin/<var>/history/ django.contrib.admin.options.history_view blocklist_blocklistplugin_history
# /admin/models/blocklist/blocklistplugin/add/ django.contrib.admin.options.add_view blocklist_blocklistplugin_add
# /admin/models/devhub/activitylog/ django.contrib.admin.options.changelist_view devhub_activitylog_changelist
# /admin/models/devhub/activitylog/<var>/ django.contrib.admin.options.change_view devhub_activitylog_change
# /admin/models/devhub/activitylog/<var>/delete/ django.contrib.admin.options.delete_view devhub_activitylog_delete
# /admin/models/devhub/activitylog/<var>/history/ django.contrib.admin.options.history_view devhub_activitylog_history
# /admin/models/devhub/activitylog/add/ django.contrib.admin.options.add_view devhub_activitylog_add
# /admin/models/devhub/hubevent/ django.contrib.admin.options.changelist_view devhub_hubevent_changelist
# /admin/models/devhub/hubevent/<var>/ django.contrib.admin.options.change_view devhub_hubevent_change
# /admin/models/devhub/hubevent/<var>/delete/ django.contrib.admin.options.delete_view devhub_hubevent_delete
# /admin/models/devhub/hubevent/<var>/history/ django.contrib.admin.options.history_view devhub_hubevent_history
# /admin/models/devhub/hubevent/add/ django.contrib.admin.options.add_view devhub_hubevent_add
# /admin/models/devhub/hubpromo/ django.contrib.admin.options.changelist_view devhub_hubpromo_changelist
# /admin/models/devhub/hubpromo/<var>/ django.contrib.admin.options.change_view devhub_hubpromo_change
# /admin/models/devhub/hubpromo/<var>/delete/ django.contrib.admin.options.delete_view devhub_hubpromo_delete
# /admin/models/devhub/hubpromo/<var>/history/ django.contrib.admin.options.history_view devhub_hubpromo_history
# /admin/models/devhub/hubpromo/add/ django.contrib.admin.options.add_view devhub_hubpromo_add
# /admin/models/discovery/discoverymodule/ django.contrib.admin.options.changelist_view discovery_discoverymodule_changelist
# /admin/models/discovery/discoverymodule/<var>/ django.contrib.admin.options.change_view discovery_discoverymodule_change
# /admin/models/discovery/discoverymodule/<var>/delete/ django.contrib.admin.options.delete_view discovery_discoverymodule_delete
# /admin/models/discovery/discoverymodule/<var>/history/ django.contrib.admin.options.history_view discovery_discoverymodule_history
# /admin/models/discovery/discoverymodule/add/ django.contrib.admin.options.add_view discovery_discoverymodule_add
# /admin/models/editors/cannedresponse/ django.contrib.admin.options.changelist_view editors_cannedresponse_changelist
# /admin/models/editors/cannedresponse/<var>/ django.contrib.admin.options.change_view editors_cannedresponse_change
# /admin/models/editors/cannedresponse/<var>/delete/ django.contrib.admin.options.delete_view editors_cannedresponse_delete
# /admin/models/editors/cannedresponse/<var>/history/ django.contrib.admin.options.history_view editors_cannedresponse_history
# /admin/models/editors/cannedresponse/add/ django.contrib.admin.options.add_view editors_cannedresponse_add
# /admin/models/editors/eventlog/ django.contrib.admin.options.changelist_view editors_eventlog_changelist
# /admin/models/editors/eventlog/<var>/ django.contrib.admin.options.change_view editors_eventlog_change
# /admin/models/editors/eventlog/<var>/delete/ django.contrib.admin.options.delete_view editors_eventlog_delete
# /admin/models/editors/eventlog/<var>/history/ django.contrib.admin.options.history_view editors_eventlog_history
# /admin/models/editors/eventlog/add/ django.contrib.admin.options.add_view editors_eventlog_add
# /admin/models/editors/reviewerscore/ django.contrib.admin.options.changelist_view editors_reviewerscore_changelist
# /admin/models/editors/reviewerscore/<var>/ django.contrib.admin.options.change_view editors_reviewerscore_change
# /admin/models/editors/reviewerscore/<var>/delete/ django.contrib.admin.options.delete_view editors_reviewerscore_delete
# /admin/models/editors/reviewerscore/<var>/history/ django.contrib.admin.options.history_view editors_reviewerscore_history
# /admin/models/editors/reviewerscore/add/ django.contrib.admin.options.add_view editors_reviewerscore_add
# /admin/models/files/file/ django.contrib.admin.options.changelist_view files_file_changelist
# /admin/models/files/file/<var>/ django.contrib.admin.options.change_view files_file_change
# /admin/models/files/file/<var>/delete/ django.contrib.admin.options.delete_view files_file_delete
# /admin/models/files/file/<var>/history/ django.contrib.admin.options.history_view files_file_history
# /admin/models/files/file/add/ django.contrib.admin.options.add_view files_file_add
# /admin/models/jsi18n/ django.contrib.admin.sites.i18n_javascript jsi18n
# /admin/models/logout/ django.contrib.admin.sites.logout logout
# /admin/models/password_change/ django.contrib.admin.sites.password_change password_change
# /admin/models/password_change/done/ django.contrib.admin.sites.password_change_done password_change_done
# /admin/models/piston/consumer/ django.contrib.admin.options.changelist_view piston_consumer_changelist
# /admin/models/piston/consumer/<var>/ django.contrib.admin.options.change_view piston_consumer_change
# /admin/models/piston/consumer/<var>/delete/ django.contrib.admin.options.delete_view piston_consumer_delete
# /admin/models/piston/consumer/<var>/history/ django.contrib.admin.options.history_view piston_consumer_history
# /admin/models/piston/consumer/add/ django.contrib.admin.options.add_view piston_consumer_add
# /admin/models/r/<content_type_id>/<object_id>/ django.contrib.contenttypes.views.shortcut view_on_site
# /admin/models/tags/tag/ django.contrib.admin.options.changelist_view tags_tag_changelist
# /admin/models/tags/tag/<var>/ django.contrib.admin.options.change_view tags_tag_change
# /admin/models/tags/tag/<var>/delete/ django.contrib.admin.options.delete_view tags_tag_delete
# /admin/models/tags/tag/<var>/history/ django.contrib.admin.options.history_view tags_tag_history
# /admin/models/tags/tag/add/ django.contrib.admin.options.add_view tags_tag_add
# /admin/models/users/blacklistedemaildomain/ django.contrib.admin.options.changelist_view users_blacklistedemaildomain_changelist
# /admin/models/users/blacklistedemaildomain/<var>/ django.contrib.admin.options.change_view users_blacklistedemaildomain_change
# /admin/models/users/blacklistedemaildomain/<var>/delete/ django.contrib.admin.options.delete_view users_blacklistedemaildomain_delete
# /admin/models/users/blacklistedemaildomain/<var>/history/ django.contrib.admin.options.history_view users_blacklistedemaildomain_history
# /admin/models/users/blacklistedemaildomain/add/ users.admin.add_view users_blacklistedemaildomain_add
# /admin/models/users/blacklistedname/ django.contrib.admin.options.changelist_view users_blacklistedname_changelist
# /admin/models/users/blacklistedname/<var>/ django.contrib.admin.options.change_view users_blacklistedname_change
# /admin/models/users/blacklistedname/<var>/delete/ django.contrib.admin.options.delete_view users_blacklistedname_delete
# /admin/models/users/blacklistedname/<var>/history/ django.contrib.admin.options.history_view users_blacklistedname_history
# /admin/models/users/blacklistedname/add/ users.admin.add_view users_blacklistedname_add
# /admin/models/users/userprofile/ django.contrib.admin.options.changelist_view users_userprofile_changelist
# /admin/models/users/userprofile/<var>/ django.contrib.admin.options.change_view users_userprofile_change
# /admin/models/users/userprofile/<var>/delete/ django.contrib.admin.options.delete_view users_userprofile_delete
# /admin/models/users/userprofile/<var>/history/ django.contrib.admin.options.history_view users_userprofile_history
# /admin/models/users/userprofile/add/ django.contrib.admin.options.add_view users_userprofile_add
# /admin/models/versions/license/ django.contrib.admin.options.changelist_view versions_license_changelist
# /admin/models/versions/license/<var>/ django.contrib.admin.options.change_view versions_license_change
# /admin/models/versions/license/<var>/delete/ django.contrib.admin.options.delete_view versions_license_delete
# /admin/models/versions/license/<var>/history/ django.contrib.admin.options.history_view versions_license_history
# /admin/models/versions/license/add/ django.contrib.admin.options.add_view versions_license_add
# /admin/models/versions/version/ django.contrib.admin.options.changelist_view versions_version_changelist
# /admin/models/versions/version/<var>/ django.contrib.admin.options.change_view versions_version_change
# /admin/models/versions/version/<var>/delete/ django.contrib.admin.options.delete_view versions_version_delete
# /admin/models/versions/version/<var>/history/ django.contrib.admin.options.history_view versions_version_history
# /admin/models/versions/version/add/ django.contrib.admin.options.add_view versions_version_add
# /admin/models/waffle/flag/ django.contrib.admin.options.changelist_view waffle_flag_changelist
# /admin/models/waffle/flag/<var>/ django.contrib.admin.options.change_view waffle_flag_change
# /admin/models/waffle/flag/<var>/delete/ django.contrib.admin.options.delete_view waffle_flag_delete
# /admin/models/waffle/flag/<var>/history/ django.contrib.admin.options.history_view waffle_flag_history
# /admin/models/waffle/flag/add/ django.contrib.admin.options.add_view waffle_flag_add
# /admin/models/waffle/sample/ django.contrib.admin.options.changelist_view waffle_sample_changelist
# /admin/models/waffle/sample/<var>/ django.contrib.admin.options.change_view waffle_sample_change
# /admin/models/waffle/sample/<var>/delete/ django.contrib.admin.options.delete_view waffle_sample_delete
# /admin/models/waffle/sample/<var>/history/ django.contrib.admin.options.history_view waffle_sample_history
# /admin/models/waffle/sample/add/ django.contrib.admin.options.add_view waffle_sample_add
# /admin/models/waffle/switch/ django.contrib.admin.options.changelist_view waffle_switch_changelist
# /admin/models/waffle/switch/<var>/ django.contrib.admin.options.change_view waffle_switch_change
# /admin/models/waffle/switch/<var>/delete/ django.contrib.admin.options.delete_view waffle_switch_delete
# /admin/models/waffle/switch/<var>/history/ django.contrib.admin.options.history_view waffle_switch_history
# /admin/models/waffle/switch/add/ django.contrib.admin.options.add_view waffle_switch_add
# /admin/models/zadmin/config/ django.contrib.admin.options.changelist_view zadmin_config_changelist
# /admin/models/zadmin/config/<var>/ django.contrib.admin.options.change_view zadmin_config_change
# /admin/models/zadmin/config/<var>/delete/ django.contrib.admin.options.delete_view zadmin_config_delete
# /admin/models/zadmin/config/<var>/history/ django.contrib.admin.options.history_view zadmin_config_history
# /admin/models/zadmin/config/add/ django.contrib.admin.options.add_view zadmin_config_add
# /admin/models/zadmin/downloadsource/ django.contrib.admin.options.changelist_view zadmin_downloadsource_changelist
# /admin/models/zadmin/downloadsource/<var>/ django.contrib.admin.options.change_view zadmin_downloadsource_change
# /admin/models/zadmin/downloadsource/<var>/delete/ django.contrib.admin.options.delete_view zadmin_downloadsource_delete
# /admin/models/zadmin/downloadsource/<var>/history/ django.contrib.admin.options.history_view zadmin_downloadsource_history
# /admin/models/zadmin/downloadsource/add/ django.contrib.admin.options.add_view zadmin_downloadsource_add
- /admin/monthly-pick zadmin.views.monthly_pick zadmin.monthly_pick
- /admin/oauth-consumer-create zadmin.views.oauth_consumer_create zadmin.oauth-consumer-create
- /admin/settings zadmin.views.show_settings zadmin.settings
- /admin/validation zadmin.views.validation zadmin.validation
- /admin/validation/<job_id>/tally.csv zadmin.views.validation_tally_csv zadmin.validation_tally_csv
- /admin/validation/application_versions.json zadmin.views.application_versions_json zadmin.application_versions_json
- /admin/validation/job-status.json zadmin.views.job_status zadmin.job_status
- /admin/validation/notify/syntax.json zadmin.views.notify_syntax zadmin.notify.syntax
- /admin/validation/set/<job> zadmin.views.notify zadmin.notify
- /admin/validation/start zadmin.views.start_validation zadmin.start_validation
/api/1.5/search_suggestions/ api.views.search_suggestions
/api/2/addon/<addon_id> api.urls.SwitchToDRF() api.addon
/api/2/addon/<addon_id>/version/<version_id> api.urls.SwitchToDRF() api.version
/api/2/addon/<addon_id>/versions api.urls.SwitchToDRF() api.versions
/api/2/addons/ api.urls.SwitchToDRF() api.addons
/api/2/user/ api.urls.SwitchToDRF() api.user
/api/<api_version>/addon/<addon_id> api.urls.SwitchToDRF() api.addon_detail
/api/<api_version>/get_language_packs api.urls.SwitchToDRF() api.language
/api/<api_version>/list/ api.urls.SwitchToDRF() api.list
/api/<api_version>/list/<list_type>/ api.urls.SwitchToDRF() api.list
/api/<api_version>/list/<list_type>/<addon_type>/ api.urls.SwitchToDRF() api.list
/api/<api_version>/list/<list_type>/<addon_type>/<limit>/ api.urls.SwitchToDRF() api.list
/api/<api_version>/list/<list_type>/<addon_type>/<limit>/<platform>/ api.urls.SwitchToDRF() api.list
/api/<api_version>/list/<list_type>/<addon_type>/<limit>/<platform>/<version>/ api.urls.SwitchToDRF() api.list
/api/<api_version>/list/<list_type>/<addon_type>/<limit>/<platform>/<version><var>)/ api.urls.SwitchToDRF() api.list
/api/<api_version>/search/<query>/ api.urls.SwitchToDRF() api.search
/api/<api_version>/search/<query>/<addon_type>/ api.urls.SwitchToDRF() api.search
/api/<api_version>/search/<query>/<addon_type>/<limit>/ api.urls.SwitchToDRF() api.search
/api/<api_version>/search/<query>/<addon_type>/<limit>/<platform>/ api.urls.SwitchToDRF() api.search
/api/<api_version>/search/<query>/<addon_type>/<limit>/<platform>/<version>/ api.urls.SwitchToDRF() api.search
/api/<api_version>/search/<query>/<addon_type>/<limit>/<platform>/<version><var>)/ api.urls.SwitchToDRF() api.search
/api/<api_version>/search/guid:<guids> api.views.guid_search
/api/<var>/.*) api.views.redirect_view
- /api/v3/accounts/authorize/ accounts.views.AuthorizeView accounts.authorize
- /api/v3/accounts/login/ accounts.views.LoginView accounts.login
- /api/v3/accounts/profile/ accounts.views.ProfileView accounts.profile
- /api/v3/accounts/register/ accounts.views.RegisterView accounts.register
- /api/v3/accounts/source/ accounts.views.AccountSourceView accounts.source
- /api/v3/addons/ addons.api.views.SearchView addons.api.search
- /api/v3/addons/<guid>/versions/<version_string>/ signing.views.VersionView signing.version
- /api/v3/addons/<guid>/versions/<version_string>/uploads/<pk>/ signing.views.VersionView signing.version
- /api/v3/addons/<slug>/ addons.api.views.DetailView addons.api.detail
- /api/v3/file/<file_id><var> signing.views.SignedFile signing.file
/blocked/ blocklist.views.blocked_list blocked.list
/blocked/<var> blocklist.views.blocked_detail blocked.detail
/blocklist/<apiver>/<app>/<appver>/ blocklist.views.blocklist blocklist
/bookmarks/ lib.urls_base.<lambda>
/browse/type:7 browse.urls.<lambda>
/browse/type:<type_><var><var><var> browse.views.legacy_redirects
/collection/<uuid>/ bandwagon.views.legacy_redirect
/collections/ bandwagon.views.collection_listing collections.list
/collections/<username>/ bandwagon.views.user_listing collections.user
/collections/<username>/<slug>/ bandwagon.views.collection_detail collections.detail
- /collections/<username>/<slug>/<action> bandwagon.views.collection_alter collections.alter
- /collections/<username>/<slug>/delete bandwagon.views.delete collections.delete
- /collections/<username>/<slug>/delete_icon bandwagon.views.delete_icon collections.delete_icon
- /collections/<username>/<slug>/edit/ bandwagon.views.edit collections.edit
- /collections/<username>/<slug>/edit/addons bandwagon.views.edit_addons collections.edit_addons
- /collections/<username>/<slug>/edit/contributors bandwagon.views.edit_contributors collections.edit_contributors
- /collections/<username>/<slug>/edit/privacy bandwagon.views.edit_privacy collections.edit_privacy
/collections/<username>/<slug>/format:json bandwagon.views.collection_detail_json collections.detail.json
/collections/<username>/<slug>/format:rss bandwagon.feeds.CollectionDetailFeed() collections.detail.rss
/collections/<username>/<slug>/share bandwagon.views.share collections.share
/collections/<username>/<slug>/statistics/ stats.views.collection_report collections.stats
/collections/<username>/<slug>/statistics/downloads-<group>-<start>-<end>.<format> stats.views.collection_series
/collections/<username>/<slug>/statistics/downloads-<group>-<start>-<end>.<format> stats.views.collection_stats collections.stats.downloads_series
/collections/<username>/<slug>/statistics/downloads/ stats.views.collection_report collections.stats.downloads
/collections/<username>/<slug>/statistics/ratings-<group>-<start>-<end>.<format> stats.views.collection_series
/collections/<username>/<slug>/statistics/ratings-<group>-<start>-<end>.<format> stats.views.collection_stats collections.stats.ratings_series
/collections/<username>/<slug>/statistics/ratings/ stats.views.collection_report collections.stats.ratings
/collections/<username>/<slug>/statistics/subscribers-<group>-<start>-<end>.<format> stats.views.collection_series
/collections/<username>/<slug>/statistics/subscribers-<group>-<start>-<end>.<format> stats.views.collection_stats collections.stats.subscribers_series
/collections/<username>/<slug>/statistics/subscribers/ stats.views.collection_report collections.stats.subscribers
- /collections/<username>/<slug>/vote/<direction> bandwagon.views.collection_vote collections.vote
- /collections/<username>/<slug>/watch bandwagon.views.watch collections.watch
/collections/<var>/ bandwagon.views.legacy_directory_redirects
- /collections/add bandwagon.views.add collections.add
- /collections/ajax/add bandwagon.views.ajax_collection_alter collections.ajax_add
/collections/ajax/list bandwagon.views.ajax_list collections.ajax_list
- /collections/ajax/new bandwagon.views.ajax_new collections.ajax_new
- /collections/ajax/remove bandwagon.views.ajax_collection_alter collections.ajax_remove
/collections/edit/<uuid>/ bandwagon.views.legacy_redirect
/collections/following/ bandwagon.views.following collections.following
/collections/format:rss bandwagon.feeds.CollectionFeed() collections.rss
/collections/mine/<slug> bandwagon.views.mine collections.mine
/collections/view/<uuid>/ bandwagon.views.legacy_redirect
# This view looks like it writes but it doesn't.
# /compatibility/<version> compat.views.index compat.index
/compatibility/incoming/ compat.views.incoming compat.incoming
/compatibility/reporter/ compat.views.reporter compat.reporter
/compatibility/reporter/<var> compat.views.reporter_detail compat.reporter_detail
- /compatibility_firstrun django.views.generic.base.TemplateView pages.acr_firstrun
/complete-themes/<category> browse.views.themes browse.themes
/complete-themes/<var>format:rss browse.feeds.ThemeCategoriesRss() browse.themes.rss
/contribute.json amo.views.contribute contribute.json
/credits pages.views.credits pages.credits
- /developer_faq django.views.generic.base.TemplateView pages.dev_faq
- /developers/ devhub.views.index devhub.index
- /developers/addon devhub.urls.<lambda>
- /developers/addon/<addon_id>/ devhub.urls.<lambda>
- /developers/addon/<addon_id>/admin devhub.views.admin devhub.addons.admin
- /developers/addon/<addon_id>/cancel devhub.views.cancel devhub.addons.cancel
- /developers/addon/<addon_id>/delete devhub.views.delete devhub.addons.delete
- /developers/addon/<addon_id>/disable devhub.views.disable devhub.addons.disable
- /developers/addon/<addon_id>/edit devhub.views.edit devhub.addons.edit
- /developers/addon/<addon_id>/edit_<section><var> devhub.views.addons_section devhub.addons.section
- /developers/addon/<addon_id>/enable devhub.views.enable devhub.addons.enable
- /developers/addon/<addon_id>/file/<file_id>/validation devhub.views.file_validation devhub.file_validation
- /developers/addon/<addon_id>/file/<file_id>/validation.json devhub.views.json_file_validation devhub.json_file_validation
- /developers/addon/<addon_id>/file/<file_id>/validation/annotate devhub.views.annotate_file_validation devhub.annotate_file_validation
- /developers/addon/<addon_id>/ownership devhub.views.ownership devhub.addons.owner
- /developers/addon/<addon_id>/payments devhub.views.payments devhub.addons.payments
- /developers/addon/<addon_id>/payments/disable devhub.views.disable_payments devhub.addons.payments.disable
- /developers/addon/<addon_id>/profile devhub.views.profile devhub.addons.profile
- /developers/addon/<addon_id>/profile/remove devhub.views.remove_profile devhub.addons.profile.remove
- /developers/addon/<addon_id>/request-review/<status> devhub.views.request_review devhub.request-review
- /developers/addon/<addon_id>/rmlocale devhub.views.remove_locale devhub.addons.remove-locale
- /developers/addon/<addon_id>/submit/ devhub.urls.<lambda>
- /developers/addon/<addon_id>/submit/3 devhub.views.submit_describe devhub.submit.3
- /developers/addon/<addon_id>/submit/4 devhub.views.submit_media devhub.submit.4
- /developers/addon/<addon_id>/submit/5 devhub.views.submit_license devhub.submit.5
- /developers/addon/<addon_id>/submit/6 devhub.views.submit_select_review devhub.submit.6
- /developers/addon/<addon_id>/submit/7 devhub.views.submit_done devhub.submit.7
- /developers/addon/<addon_id>/submit/bump devhub.views.submit_bump devhub.submit.bump
- /developers/addon/<addon_id>/submit/resume devhub.views.submit_resume devhub.submit.resume
- /developers/addon/<addon_id>/unlist devhub.views.unlist devhub.addons.unlist
- /developers/addon/<addon_id>/upload devhub.views.upload_for_addon devhub.upload_for_addon
- /developers/addon/<addon_id>/upload/<uuid> devhub.views.upload_detail_for_addon devhub.upload_detail_for_addon
- /developers/addon/<addon_id>/upload_icon devhub.views.upload_image devhub.addons.upload_icon
- /developers/addon/<addon_id>/upload_preview devhub.views.upload_image devhub.addons.upload_preview
- /developers/addon/<addon_id>/validation-result/<result_id> devhub.views.bulk_compat_result devhub.bulk_compat_result
- /developers/addon/<addon_id>/validation-result/<result_id>.json devhub.views.json_bulk_compat_result devhub.json_bulk_compat_result
- /developers/addon/<addon_id>/versions devhub.views.version_list devhub.addons.versions
- /developers/addon/<addon_id>/versions/<version> devhub.views.version_bounce
- /developers/addon/<addon_id>/versions/<version_id> devhub.views.version_edit devhub.versions.edit
- /developers/addon/<addon_id>/versions/<version_id>/add devhub.views.version_add_file devhub.versions.add_file
- /developers/addon/<addon_id>/versions/add devhub.views.version_add devhub.versions.add
- /developers/addon/<addon_id>/versions/delete devhub.views.version_delete devhub.versions.delete
- /developers/addon/<addon_id>/versions/stats devhub.views.version_stats devhub.versions.stats
- /developers/addon/api/key/ devhub.views.api_key devhub.api_key
- /developers/addon/check-compatibility devhub.views.check_addon_compatibility devhub.check_addon_compatibility
- /developers/addon/check-compatibility/application_versions.json devhub.views.compat_application_versions devhub.compat_application_versions
- /developers/addon/edit/<var> devhub.urls.<lambda>
- /developers/addon/status/<var> devhub.urls.<lambda>
- /developers/addon/submit/ devhub.urls.<lambda>
- /developers/addon/submit/1 devhub.views.submit devhub.submit.1
- /developers/addon/submit/2 devhub.views.submit_addon devhub.submit.2
- /developers/addon/submit/agreement/ devhub.views.api_key_agreement devhub.api_key_agreement
- /developers/addon/validate/ devhub.views.validate_addon devhub.validate_addon
- /developers/addons devhub.views.dashboard devhub.addons
- /developers/addons/d+/.* devhub.urls.<lambda>
- /developers/ajax/addon/<addon_id>/dependencies devhub.views.ajax_dependencies devhub.ajax.dependencies
- /developers/ajax/addon/<addon_id>/image/status devhub.views.image_status devhub.ajax.image.status
- /developers/ajax/addon/<addon_id>/versions/<version_id>/compatibility devhub.views.ajax_compat_update devhub.ajax.compat.update
- /developers/ajax/addon/<addon_id>/versions/compatibility/error devhub.views.ajax_compat_error devhub.ajax.compat.error
- /developers/ajax/addon/<addon_id>/versions/compatibility/status devhub.views.ajax_compat_status devhub.ajax.compat.status
- /developers/builder devhub.urls.<lambda>
- /developers/docs/<doc_name>) devhub.views.docs devhub.docs
- /developers/feed devhub.views.feed devhub.feed_all
- /developers/feed/<addon_id> devhub.views.feed devhub.feed
- /developers/feed/all devhub.urls.<lambda>
- /developers/search devhub.views.search devhub.search
- /developers/standalone-upload devhub.views.upload devhub.standalone_upload
- /developers/standalone-upload-sideload devhub.views.upload devhub.standalone_upload_sideload
- /developers/standalone-upload-unlisted devhub.views.upload devhub.standalone_upload_unlisted
- /developers/standalone-upload/<var> devhub.views.standalone_upload_detail devhub.standalone_upload_detail
- /developers/theme/<addon_id>/ devhub.urls.<lambda>
- /developers/theme/<addon_id>/delete devhub.views.delete devhub.themes.delete
- /developers/theme/<addon_id>/edit devhub.views.edit_theme devhub.themes.edit
- /developers/theme/<addon_id>/edit/upload/<upload_type> devhub.views.ajax_upload_image devhub.personas.reupload_persona
- /developers/theme/<addon_id>/rmlocale devhub.views.remove_locale devhub.themes.remove-locale
- /developers/theme/<addon_id>/submit/done devhub.views.submit_theme_done devhub.themes.submit.done
- /developers/theme/submit/ devhub.views.submit_theme devhub.themes.submit
- /developers/theme/submit/upload/<upload_type> devhub.views.ajax_upload_image devhub.personas.upload_persona
- /developers/themes devhub.views.dashboard devhub.themes
- /developers/upload devhub.views.upload devhub.upload
- /developers/upload-manifest devhub.views.upload_manifest devhub.upload_manifest
- /developers/upload/<var><var>) devhub.views.upload_detail devhub.upload_detail
- /developers/upload/sideload devhub.views.upload devhub.upload_sideload
- /developers/upload/unlisted devhub.views.upload devhub.upload_unlisted
- /developers/versions/<var> devhub.urls.<lambda>
/dictionaries browse.urls.<lambda>
/discovery/<version>/<platform><var> discovery.urls.pane_redirect
/discovery/addon/<addon_id> discovery.urls.<lambda>
/discovery/addon/<addon_id>/ discovery.views.addon_detail discovery.addons.detail
/discovery/addon/<addon_id>/eula/<file_id> discovery.views.addon_eula discovery.addons.eula
/discovery/modules discovery.views.module_admin discovery.module_admin
/discovery/pane/<section>/<version>/<platform><var> discovery.views.pane_more_addons discovery.pane.more_addons
/discovery/pane/<version>/<platform><var> discovery.views.pane discovery.pane
/discovery/pane/account discovery.views.pane_account discovery.pane.account
/discovery/pane/promos/<version>/<platform><var> discovery.views.pane_promos discovery.pane.promos
/discovery/recs/<version>/<platform><var> discovery.views.recommendations discovery.recs
/downloads/file/<file_id><var><var> versions.views.download_file downloads.file
/downloads/latest<beta>/<addon_id>/<var><var>.* versions.views.download_latest downloads.latest
/downloads/source/<version_id> versions.views.download_source downloads.source
- /editors/ editors.views.home editors.home
- /editors/abuse-reports/<addon_id> editors.views.abuse_reports editors.abuse_reports
- /editors/beta_signed_log editors.views.beta_signed_log editors.beta_signed_log
- /editors/leaderboard/ editors.views.leaderboard editors.leaderboard
- /editors/log/<var> editors.views.eventlog_detail editors.eventlog.detail
- /editors/logs editors.views.eventlog editors.eventlog
- /editors/motd editors.views.motd editors.motd
- /editors/motd/save editors.views.save_motd editors.save_motd
- /editors/performance/<user_id> editors.views.performance editors.performance
- /editors/queue editors.views.queue editors.queue
- /editors/queue/application_versions.json editors.views.application_versions_json editors.application_versions_json
- /editors/queue/fast editors.views.queue_fast_track editors.queue_fast_track
- /editors/queue/nominated editors.views.queue_nominated editors.queue_nominated
- /editors/queue/pending editors.views.queue_pending editors.queue_pending
- /editors/queue/preliminary editors.views.queue_prelim editors.queue_prelim
- /editors/queue/reviews editors.views.queue_moderated editors.queue_moderated
- /editors/queue_version_notes/<addon_id> editors.views.queue_version_notes editors.queue_version_notes
- /editors/queue_viewing editors.views.queue_viewing editors.queue_viewing
- /editors/review/<addon_id> editors.views.review editors.review
- /editors/review_viewing editors.views.review_viewing editors.review_viewing
- /editors/reviewlog editors.views.reviewlog editors.reviewlog
- /editors/themes editors.views_themes.home editors.themes.home
- /editors/themes/flagged editors.views_themes.themes_list editors.themes.list_flagged
- /editors/themes/history/<username> editors.views_themes.themes_history editors.themes.history
- /editors/themes/logs editors.views_themes.themes_logs editors.themes.logs
- /editors/themes/logs/deleted/ editors.views_themes.deleted_themes editors.themes.deleted
- /editors/themes/pending editors.views_themes.themes_list editors.themes.list
- /editors/themes/queue/ editors.views_themes.themes_queue editors.themes.queue_themes
- /editors/themes/queue/commit editors.views_themes.themes_commit editors.themes.commit
- /editors/themes/queue/flagged editors.views_themes.themes_queue_flagged editors.themes.queue_flagged
- /editors/themes/queue/single/<slug> editors.views_themes.themes_single editors.themes.single
- /editors/themes/queue/updates editors.views_themes.themes_queue_rereview editors.themes.queue_rereview
- /editors/themes/release editors.views_themes.release_locks editors.themes.release_locks
- /editors/themes/search/ editors.views_themes.themes_search editors.themes.search
- /editors/themes/updates editors.views_themes.themes_list editors.themes.list_rereview
- /editors/unlisted_queue editors.views.unlisted_queue editors.unlisted_queue
- /editors/unlisted_queue/nominated editors.views.unlisted_queue_nominated editors.unlisted_queue_nominated
- /editors/unlisted_queue/pending editors.views.unlisted_queue_pending editors.unlisted_queue_pending
- /editors/unlisted_queue/preliminary editors.views.unlisted_queue_prelim editors.unlisted_queue_prelim
- /editors/whiteboard/<addon_id> editors.views.whiteboard editors.whiteboard
/es/extensions/<var> browse.views.es_extensions browse.es.extensions
/extensions/<category>/featured browse.views.legacy_creatured_redirect
/extensions/<var> browse.views.extensions browse.extensions
/extensions/<var>format:rss browse.feeds.ExtensionCategoriesRss() browse.extensions.rss
- /faq django.views.generic.base.TemplateView pages.faq
/featured browse.urls.<lambda>
/featured/format:rss browse.feeds.FeaturedRss() browse.featured.rss
/files/browse/<file_id>/ files.views.browse files.list
/files/browse/<file_id>/<type>/<key> files.views.browse files.list
/files/browse/<file_id>/file-redirect/<key> files.views.redirect files.redirect
/files/browse/<file_id>/file-serve/<key> files.views.serve files.serve
/files/browse/<file_id>/status files.views.poll files.poll
/files/compare/<one_id>.{3}<two_id>/ files.views.compare files.compare
/files/compare/<one_id>.{3}<two_id>/<type>/<key> files.views.compare files.compare
/files/compare/<one_id>.{3}<two_id>/status files.views.compare_poll files.compare.poll
/full-themes/<category> browse.views.legacy_fulltheme_redirects
/getpersonas lib.urls_base.<lambda>
- /google1f3e37b7351799a5.html django.views.generic.base.TemplateView
/i/extensions/<category>/featured browse.views.legacy_creatured_redirect i_browse.creatured
/i/language-tools/<category> browse.views.language_tools i_browse.language-tools
/i/promos addons.views.homepage_promos addons.homepage_promos
/i/search-tools/<category> browse.views.search_tools i_browse.search-tools
- /jsi18n.js django.views.i18n.javascript_catalog jsi18n
/language-tools/<category> browse.views.language_tools browse.language-tools
/localizers/ localizers.views.summary localizers.dashboard
/localizers/<locale_code>/ localizers.views.locale_dashboard localizers.locale_dashboard
- /localizers/<locale_code>/categories/ localizers.views.categories localizers.categories
- /localizers/set_motd localizers.views.set_motd localizers.set_motd
- /oauth/access_token/ piston.authentication.oauth.views.get_access_token oauth.access_token
- /oauth/authorize/ piston.authentication.oauth.views.authorize_request_token oauth.authorize
- /oauth/request_token/ piston.authentication.oauth.views.get_request_token oauth.request_token
/opensearch.xml api.views.render_xml amo.opensearch
/pages/about lib.urls_base.<lambda>
/pages/appversions/ applications.views.appversions apps.appversions
/pages/appversions/format:rss applications.views.AppversionsFeed() apps.appversions.rss
/pages/compatibility_firstrun pages.urls.<lambda>
/pages/credits lib.urls_base.<lambda>
/pages/developer_agreement pages.urls.<lambda>
/pages/developer_faq pages.urls.<lambda>
/pages/faq lib.urls_base.<lambda>
/pages/review_guide pages.urls.<lambda>
/pages/validation pages.urls.<lambda>
/persona/<persona_id> addons.views.persona_redirect persona
/personas/<category> browse.views.legacy_theme_redirects
/personas/film and tv/ lib.urls_base.<lambda>
/plugins browse.urls.<lambda>
/recommended lib.urls_base.<lambda>
/recommended/format:rss lib.urls_base.<lambda>
- /review_guide django.views.generic.base.TemplateView pages.review_guide
- /reviews/add/<var> lib.urls_base.<lambda>
/reviews/display/<var> lib.urls_base.<lambda>
- /reviews/spam/ reviews.views.spam addons.reviews.spam
/robots.txt amo.views.robots robots.txt
/search-engines.* lib.urls_base.<lambda>
/search-tools/<category> browse.views.search_tools browse.search-tools
/search-tools/<var>format:rss browse.feeds.SearchToolsRss() browse.search-tools.rss
/search/<var> search.views.search search.search
/search/ajax search.views.ajax_search search.ajax
/search/suggestions search.views.ajax_search_suggestions search.suggestions
/services/csp/report amo.views.cspreport amo.csp.report
/services/install.php amo.install.install api.install
/services/loaded amo.views.loaded amo.loaded
/services/monitor<var> amo.views.monitor amo.monitor
- /services/paypal paypal.views.paypal amo.paypal
/services/pfs.php amo.views.plugin_check_redirect api.plugincheck
/statistics/ lib.urls_base.<lambda> statistics.dashboard
/statistics/ stats.urls.<lambda> stats.dashboard
/statistics/addons_created-<group>-<start>-<end>.<format> stats.views.site_series
/statistics/addons_created/ stats.views.site_stats_report stats.addons_created
/statistics/addons_downloaded-<group>-<start>-<end>.<format> stats.views.site_series
/statistics/addons_downloaded/ stats.views.site_stats_report stats.addons_downloaded
/statistics/addons_in_use-<group>-<start>-<end>.<format> stats.views.site_series
/statistics/addons_in_use/ stats.views.site_stats_report stats.addons_in_use
/statistics/addons_updated-<group>-<start>-<end>.<format> stats.views.site_series
/statistics/addons_updated/ stats.views.site_stats_report stats.addons_updated
/statistics/collection/<uuid>.<format> stats.views.collection stats.collection
/statistics/collections_created-<group>-<start>-<end>.<format> stats.views.site_series
/statistics/collections_created/ stats.views.site_stats_report stats.collections_created
/statistics/events-<start>-<end>.json stats.views.site_events amo.site_events
/statistics/fake-<group>-<start>-<end>.<format> stats.views.fake_collection_stats
/statistics/reviews_created-<group>-<start>-<end>.<format> stats.views.site_series
/statistics/reviews_created/ stats.views.site_stats_report stats.reviews_created
/statistics/site-<group>-<start>-<end>.<format> stats.views.site stats.site.new
/statistics/site<format>/<group> stats.views.site stats.site
/statistics/users_created-<group>-<start>-<end>.<format> stats.views.site_series
/statistics/users_created/ stats.views.site_stats_report stats.users_created
- /sunbird django.views.generic.base.TemplateView pages.sunbird
/sunbird/ pages.urls.<lambda>
/tag/<tag_name> search.views.search tags.detail
/tags/top tags.views.top_cloud tags.top_cloud
/themes/<category> browse.views.personas browse.personas
/themes/<category_name>/format:rss browse.views.legacy_theme_redirects
/top-tags/ lib.urls_base.<lambda>
- /user-media/<path> django.views.static.serve
/user/<user_id>/ users.views.profile users.profile
- /user/<user_id>/abuse users.views.report_abuse users.abuse
- /user/<user_id>/confirm/<token> users.views.confirm users.confirm
- /user/<user_id>/confirm/resend users.views.confirm_resend users.confirm.resend
- /user/<user_id>/emailchange/<token>/<hash> users.views.emailchange users.emailchange
- /user/<user_id>/rmlocale users.views.remove_locale users.remove-locale
/user/<user_id>/themes<var> users.views.themes users.themes
/users/ajax users.views.ajax users.ajax
- /users/delete users.views.delete users.delete
- /users/delete_photo users.views.delete_photo users.delete_photo
- /users/edit users.views.edit users.edit
- /users/edit<var> users.views.admin_edit users.admin_edit
/users/info/<var> lib.urls_base.<lambda>
- /users/login users.views.login users.login
- /users/login/modal users.views.login_modal users.login_modal
- /users/logout users.views.logout users.logout
- /users/pwreset/ django.contrib.auth.views.password_reset password_reset_form
- /users/pwreset/<uidb64>/<token> users.views.password_reset_confirm users.pwreset_confirm
- /users/pwresetcomplete django.contrib.auth.views.password_reset_complete users.pwreset_complete
- /users/pwresetsent django.contrib.auth.views.password_reset_done password_reset_done
- /users/register users.views.register users.register
- /users/t-shirt users.views.t_shirt users.t-shirt
- /users/unsubscribe/<token>/<hash>/<perm_setting> users.views.unsubscribe users.unsubscribe
/versions/license/<var> addons.views.license_redirect
/versions/updateInfo/<version_id> versions.views.update_info_redirect
- /wafflejs waffle.views.wafflejs wafflejs
import inspect
if __name__ == '__main__':
import manage # noqa
all_ok = True
# This is a file of URLs and views generated with manage.py show_urls
# then edited to expose only the views that should have a
# @non_atomic_requests decorator.
for line in open('./olympia-urls.txt', 'r'):
line = line.strip()
if line.startswith('#'):
continue
# Lines prefixed with a minus means that the view should be wrapped in a
# transaction. Otherwise, the view should explicitly not run in a
# transaction.
should_be_atomic = line.startswith('-')
parts = line.split('\t')
url = parts[0]
view_mod = parts[1]
try:
mod_parts = view_mod.split('.')
names = [mod_parts.pop(-1)]
if len(mod_parts):
mod = '.'.join(mod_parts)
else:
# This is just a top-level module, no sub modules.
mod = names.pop(0)
if '<lambda>' in names:
# You can't really import these so I'll just check them
# manually.
print view_mod
else:
if names[0].endswith('()'):
# Some class objects are like this but not all. Shrug.
names[0] = names[0][:-2]
view_mod = __import__(mod, globals(), locals(), names)
view_file = view_mod.__file__
view = getattr(view_mod, names[0])
if inspect.isclass(view):
# It's a class based view.
view_cls = view
if hasattr(view_cls, 'as_view'):
view = view_cls.as_view()
else:
view = view_cls.__call__
else:
# It's a regular function view.
view_cls = None
is_atomic = not hasattr(view, '_non_atomic_requests')
if should_be_atomic:
# These are views that write.
view_needs_fixing = not is_atomic
msg = 'view should NOT be decorated w/ @non_atomic_requests'
else:
# These are read-only views.
view_needs_fixing = is_atomic
msg = 'view SHOULD be decorated w/ @non_atomic_requests'
if not view_needs_fixing:
# Check to make sure this view REALLY doesn't write.
src = inspect.getsource(view)
if ( 'POST' in src or
'save(' in src or
'update(' in src):
view_needs_fixing = True
msg = ('This view might write! Maybe remove '
'@non_atomic_requests?')
if view_needs_fixing:
all_ok = False
print
print '*' * 80
print msg
print url
print view
print view_mod
print view_file
print '*' * 80
break
except Exception:
print '*** trouble with line:', line
print '*** trouble with view:', view_mod
raise
print
if all_ok:
print 'All views seem to be transaction ready. Sweet.'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment