Package svnmailer :: Module settings

[hide private]

# Module settings

source code

# Runtime settings for the svnmailer

This module defines one public class, called Settings. This class is the storage container for all settings used by the svnmailer. Settings is an abstract class. There is just one method that must be implemented -- Settings.init. This method is responsible for filling the container properly. An implementor of the Settings class can be found in the svnmailer.config module.

This module further defines the Settings subcontainers GroupSettingsContainer, GeneralSettingsContainer and RuntimeSettingsContainer, but you should not instantiate them directly -- Settings provides methods that return instances of these containers.

Author: Andr\xc3\xa9 Malo

Classes | [hide private]

| _Tokens Generic token container
| GroupSettingsContainer Container for group settings
| GeneralSettingsContainer Container for general settings
| RuntimeSettingsContainer Container for runtime settings
| Settings Settings management

Functions | [hide private]

`dict`

groupMembers(space) Define the members of the group settings | source code

`dict`

generalMembers(space) Define the members of the general settings | source code

`dict`

runtimeMembers(space) Define the members of the runtime settings | source code

Variables | [hide private]

| modes = `_Tokens('commit', 'propchange', 'lock', 'unlock')`
| xpath = `_Tokens(u'yes', u'no', u'ignore')`
| showenc = `_Tokens(u'yes', u'no', u'nondefault')`
| __package__ = ``'``svnmailer``'``

Function Details | [hide private]

### groupMembers(space)

source code

Define the members of the group settings

The following members are defined:

- `_name`: Name of the group
- `_def_for_repos`: default for_repos regex
- `_def_for_paths`: default for_paths regex
- `for_repos`: Repository regex
- `for_paths`: Path regex (inside the repos)
- `exclude_paths`: Exclude path regex to prevent for_paths from being applied
- `ignore_if_other_matches`: this group will be ignored if there are any other groups selected for a particular path
- `show_nonmatching_paths`: How to deal with paths that are not matched by the group
- `commit_subject_template`: Subject template for commit mail
- `propchange_subject_template`: Subject template for revpropchanges
- `lock_subject_template`: Subject template for locks
- `unlock_subject_template`: Subject template for unlocks
- `commit_subject_prefix`: Subject prefix for commit mail
- `propchange_subject_prefix`: Subject prefix for revpropchanges
- `lock_subject_prefix`: Subject prefix for locks
- `unlock_subject_prefix`: Subject prefix for unlocks
- `max_subject_length`: Maximum subject length
- `from_addr`: `From:` address format string
- `to_addr`: `To:` address format string
- `to_fake`: `To:` non-address format string
- `bcc_addr`: `Bcc:` address format string
- `reply_to_addr`: `Reply-To:` address format string
- `diff_command`: The diff command to use
- `generate_diffs`: List of actions for which diffs are generated
- `browser_base_url`: type and format string of the repository browser base url
- `custom_header`: custom header name and format template
- `to_newsgroup`: The newsgroup where the notification should be posted to
- `long_news_action`: The action to take on huge commit postings
- `long_mail_action`: The action to take on huge commit mails
- `mail_transfer_encoding`: Content-Transfer-Encoding for mails
- `news_transfer_encoding`: Content-Transfer-Encoding for news
- `mail_type`: The mail construction type
- `extract_x509_author`: Treat author as x509 subject and try to extract author's real name and email address
- `cia_project_name`: The project name used for CIA notifications
- `cia_project_module`: The project module used for CIA notifications
- `cia_project_branch`: The project branch used for CIA notifications
- `cia_project_submodule`: The project submodule used for CIA notifications
- `cia_project_path`: The project path, which will be stripped from the absolute node path
- `apply_charset_property`: Should svnmailer:content-charset properties be recognized?
- `show_applied_charset`: Show the encoding of the files in the diff?
- `viewcvs_base_url`: (deprecated, use `browser_base_url` instead) format string for the viewcvs URL

Parameters:
  - `space` (`dict`) - The namespace to pollute
Returns: `dict`
  The members definition

### generalMembers(space)

source code

Define the members of the general settings

The following members are defined:

- `diff_command`: The diff command
- `sendmail_command`: The sendmail compatible command
- `smtp_host`: The smtp host (`host[:port]`)
- `smtp_user`: The smtp auth. user
- `smtp_pass`: The smtp auth. password
- `debug_all_mails_to`: All mails are sent to these addresses (for debugging purposes)
- `cia_rpc_server`: The XML-RPC server running the CIA tracker
- `tempdir`: The directory to use for temporary files

Parameters:
  - `space` (`dict`) - The namespace to pollute
Returns: `dict`
  The members definition

### runtimeMembers(space)

source code

Define the members of the runtime settings

The following members are defined:

- `_repos`: The repository object
- `stdin`: The stdin, read once
- `path_encoding`: The path-encoding parameter
- `debug`: debug mode (True/False)
- `revision`: committed revision number
- `repository`: path to the repository
- `config`: supplied config file name
- `mode`: running mode (see modes)
- `author`: Author of the commit or revpropchange
- `propname`: Property changed (in revpropchange)
- `action`: The revprop action (M, A, D)

Parameters:
  - `space` (`dict`) - The namespace to pollute
Returns: `dict`
  The members definition