[Bug 788309] Re: Allow $var_dir templates to override in-tree templates

Barry Warsaw 788309 at bugs.launchpad.net
Sat Mar 3 19:40:53 CET 2012


def search(template_file, mlist=None, language=None):
    """Generator that provides file system search order.

    This is Mailman's internal template search algorithm.  The first locations
    searched are within the $var_dir/templates directory, allowing a site to
    override a template for a specific mailing list, all the mailing lists in
    a domain, or site-wide.

    The <language> path component is variable, and described below.

    * The list-specific language directory
      <var_dir>/templates/lists/<mlist.fqdn_listname>/<language>

    * The domain-specific language directory
      <var_dir>/templates/domains/<mlist.mail_host>/<language>

    * The site-wide language directory
      <var_dir>/templates/site/<language>

    The <language> path component is calculated as follows, in this
order:

    * The `language` parameter if given
    * `mlist.preferred_language` if given
    * The server's default language
    * English ('en')

    Languages are iterated after each of the four locations are searched.  So
    for example, when searching for the 'foo.txt' template, where the server's
    default language is 'fr', the mailing list's (test at example.com) language
    is 'de' and the `language` parameter is 'it', these locations are searched
    in order:

    * <var_dir>/templates/lists/test at example.com/it/foo.txt
    * <var_dir>/templates/domains/example.com/it/foo.txt
    * <var_dir>/templates/site/it/foo.txt

    * <var_dir>/templates/lists/test at example.com/de/foo.txt
    * <var_dir>/templates/domains/example.com/de/foo.txt
    * <var_dir>/templates/site/de/foo.txt

    * <var_dir>/templates/lists/test at example.com/fr/foo.txt
    * <var_dir>/templates/domains/example.com/fr/foo.txt
    * <var_dir>/templates/site/fr/foo.txt

    * <var_dir>/templates/lists/test at example.com/en/foo.txt
    * <var_dir>/templates/domains/example.com/en/foo.txt
    * <var_dir>/templates/site/en/foo.txt

    After all those paths are searched, the final fallback is the English
    template within the Mailman source tree.

    * <source_dir>/templates/en/foo.txt
    """


** Changed in: mailman
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
https://bugs.launchpad.net/bugs/788309

Title:
  Allow $var_dir templates to override in-tree templates

To manage notifications about this bug go to:
https://bugs.launchpad.net/mailman/+bug/788309/+subscriptions


More information about the Mailman-coders mailing list