diff options
| author | bwarsaw | 1999-12-25 14:41:02 +0000 |
|---|---|---|
| committer | bwarsaw | 1999-12-25 14:41:02 +0000 |
| commit | c5a7b07fbe8486eb27de9a2f817cfc7a76436b7b (patch) | |
| tree | 9537889efa71d6850327d908dca23dbef8574d39 /Mailman/MailList.py | |
| parent | 5fd9d3f88bd21bbe9188ca873ff3a7a12ff32c4f (diff) | |
| download | mailman-c5a7b07fbe8486eb27de9a2f817cfc7a76436b7b.tar.gz mailman-c5a7b07fbe8486eb27de9a2f817cfc7a76436b7b.tar.zst mailman-c5a7b07fbe8486eb27de9a2f817cfc7a76436b7b.zip | |
GetScriptURL(), GetOptionsURL(): generalized method to get a script's
url, both absolute and relative. Now takes an optional argument
`relative' to switch on the base part.
GetAbsoluteOptionsURL(), GetAbsoluteScriptURL(),
GetRelativeScriptURL(): use method above.
TBD: We should probably track down and rewrite any instances of the
old methods in the code.
Diffstat (limited to 'Mailman/MailList.py')
| -rw-r--r-- | Mailman/MailList.py | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py index 9e835fde2..d215255c0 100644 --- a/Mailman/MailList.py +++ b/Mailman/MailList.py @@ -180,30 +180,33 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin, return ("%s <%s.%s>" % (self.description, self._internal_name, self.host_name)) - def GetRelativeScriptURL(self, script_name): - prefix = '../' * Utils.GetNestingLevel() - return '%s%s%s/%s' % (prefix, script_name, mm_cfg.CGIEXT, - self._internal_name) - - def GetAbsoluteScriptURL(self, script_name): - if self.web_page_url: + def GetScriptURL(self, scriptname, relative=0): + if relative: + prefix = '../' * Utils.GetNestingLevel() + elif self.web_page_url: prefix = self.web_page_url else: prefix = mm_cfg.DEFAULT_URL - while prefix[-1] == "/": - prefix = prefix[:-1] - return "%s/%s%s/%s" % (prefix, script_name, mm_cfg.CGIEXT, - self._internal_name) + i = len(prefix)-1 + while i >= 0 and prefix[i] == '/': + i = i - 1 + prefix = prefix[:i+1] + return '%s/%s%s/%s' % (prefix, scriptname, mm_cfg.CGIEXT, + self.internal_name()) - def GetAbsoluteOptionsURL(self, addr, obscured=0): - # address could come in case-preserved + def GetOptionsURL(self, scriptname, obscure=0, relative=0): addr = string.lower(addr) - options = self.GetAbsoluteScriptURL('options') + url = self.GetScriptURL('options', relative) if obscured: - treated = Utils.ObscureEmail(addr, for_text=0) - else: - treated = addr - return "%s/%s" % (options, treated) + addr = Utils.ObscureEmail(addr) + return '%s/%s' % (url, addr) + + # TBD: backwards compatibility. We should really just fix the code + GetAbsoluteOptionsURL = GetOptionsURL + GetAbsoluteScriptURL = GetScriptURL + + def GetRelativeScriptURL(self, scriptname): + return GetScriptURL(self, scriptname, relative=1) def GetUserOption(self, user, option): """Return user's setting for option, defaulting to 0 if no settings.""" |
