Add a central function for returning the server URL.
Review Request #6307 — Created Sept. 9, 2014 and submitted
We had a lot of code that attempted to build a server URL by fetching a
Site, SiteConfiguration, doing a URL lookup, and building a string. This
was getting silly, so I've added two central functions for this purpose:
get_server_url()
andbuild_server_url()
.
get_server_url()
returns the URL to the root of the server (or a Local
Site, if one of the identifying arguments are provided).
build_server_url()
builds a URL off of the server URL. It's a
convenience around callingurljoin(get_server_url(), ...)
.Many call sites have been updated to use these new functions. Many still
remain, as we have templates that are building their own URLs, and some
code that's doing fancier URL building, and I didn't want to risk
breaking them right now.This also fixes a bug with the e-mail headers. We were always referring
to the root of the site, rather than the Local Site, which made it harder
to filter when working on multiple Local Sites.
Unit tests pass.
Tested each affected call site manually, with and without Local Sites.
- Change Summary:
-
Fixed Review Bot warnings.
- Commit:
-
8a1ee1a6fa58684ccc242ff0fafe6082a04fc961bdc92c2aa465096504de741f81b7ed22e8fcb78f
- Diff:
-
Revision 2 (+115 -54)
-
Tool: Pyflakes Processed Files: reviewboard/notifications/tests.py reviewboard/webapi/server_info.py reviewboard/attachments/models.py reviewboard/admin/server.py reviewboard/hostingsvcs/googlecode.py reviewboard/admin/security_checks.py reviewboard/notifications/email.py reviewboard/hostingsvcs/github.py reviewboard/hostingsvcs/bitbucket.py reviewboard/hostingsvcs/hook_utils.py Tool: PEP8 Style Checker Processed Files: reviewboard/notifications/tests.py reviewboard/webapi/server_info.py reviewboard/attachments/models.py reviewboard/admin/server.py reviewboard/hostingsvcs/googlecode.py reviewboard/admin/security_checks.py reviewboard/notifications/email.py reviewboard/hostingsvcs/github.py reviewboard/hostingsvcs/bitbucket.py reviewboard/hostingsvcs/hook_utils.py