summaryrefslogtreecommitdiff
path: root/src/mailman/config
diff options
context:
space:
mode:
authorBarry Warsaw2016-07-16 15:44:07 -0400
committerBarry Warsaw2016-07-16 15:44:07 -0400
commitdbde6231ec897379ed38ed4cd015b8ab20ed5fa1 (patch)
tree1226d06a238314262a1d04d0bbf9c4dc0b72c309 /src/mailman/config
parent3387791beb7112dbe07664041f117fdcc20df53d (diff)
downloadmailman-dbde6231ec897379ed38ed4cd015b8ab20ed5fa1.tar.gz
mailman-dbde6231ec897379ed38ed4cd015b8ab20ed5fa1.tar.zst
mailman-dbde6231ec897379ed38ed4cd015b8ab20ed5fa1.zip
New template system. Closes #249
The new template system is introduced for API 3.1. See ``src/mailman/rest/docs/templates.rst`` for details.
Diffstat (limited to 'src/mailman/config')
-rw-r--r--src/mailman/config/config.py4
-rw-r--r--src/mailman/config/configure.zcml14
-rw-r--r--src/mailman/config/schema.cfg5
3 files changed, 19 insertions, 4 deletions
diff --git a/src/mailman/config/config.py b/src/mailman/config/config.py
index 415e1e3d2..5454c5e5a 100644
--- a/src/mailman/config/config.py
+++ b/src/mailman/config/config.py
@@ -156,8 +156,8 @@ class Configuration:
else category.template_dir),
)
# Directories.
- for name in ('archive', 'bin', 'data', 'etc', 'ext', 'list_data',
- 'lock', 'log', 'messages', 'queue'):
+ for name in ('archive', 'bin', 'cache', 'data', 'etc', 'ext',
+ 'list_data', 'lock', 'log', 'messages', 'queue'):
key = '{}_dir'.format(name)
substitutions[key] = getattr(category, key)
# Files.
diff --git a/src/mailman/config/configure.zcml b/src/mailman/config/configure.zcml
index 535cf729f..f31e79525 100644
--- a/src/mailman/config/configure.zcml
+++ b/src/mailman/config/configure.zcml
@@ -58,6 +58,11 @@
/>
<utility
+ provides="mailman.interfaces.cache.ICacheManager"
+ factory="mailman.model.cache.CacheManager"
+ />
+
+ <utility
provides="mailman.interfaces.database.IDatabaseFactory"
factory="mailman.database.factory.DatabaseFactory"
name="production"
@@ -120,8 +125,13 @@
/>
<utility
- provides="mailman.interfaces.templates.ITemplateLoader"
- factory="mailman.app.templates.TemplateLoader"
+ provides="mailman.interfaces.template.ITemplateLoader"
+ factory="mailman.model.template.TemplateLoader"
+ />
+
+ <utility
+ provides="mailman.interfaces.template.ITemplateManager"
+ factory="mailman.model.template.TemplateManager"
/>
<utility
diff --git a/src/mailman/config/schema.cfg b/src/mailman/config/schema.cfg
index 1cc209e73..e3ddb6f8e 100644
--- a/src/mailman/config/schema.cfg
+++ b/src/mailman/config/schema.cfg
@@ -50,6 +50,9 @@ email_commands_max_lines: 10
# the pending database.
pending_request_life: 3d
+# How long should files be saved before they are evicted from the cache?
+cache_life: 7d
+
# A callable to run with no arguments early in the initialization process.
# This runs before database initialization.
pre_hook:
@@ -123,6 +126,8 @@ log_dir: $var_dir/logs
lock_dir: $var_dir/locks
# Directory for system-wide data.
data_dir: $var_dir/data
+# Cache files.
+cache_dir: $var_dir/cache
# Directory for configuration files and such.
etc_dir: $var_dir/etc
# Directory containing Mailman plugins.