|
18 | 18 | OMQ_LISTEN = 'tcp://*:22028'
|
19 | 19 | OMQ_INTERNAL = 'ipc://./omq.sock'
|
20 | 20 | LOG_LEVEL = 'WARNING'
|
21 |
| -DM_EXPIRY_DAYS = 15 |
22 |
| -UPLOAD_DEFAULT_EXPIRY_DAYS = 15 |
| 21 | +DM_EXPIRY = 15 * 86400.0 # Seconds, but specified in config file as days |
| 22 | +UPLOAD_DEFAULT_EXPIRY = 15 * 86400.0 # Seconds (or None), but specified in config file as days |
23 | 23 | UPLOAD_FILENAME_MAX = 60
|
24 | 24 | UPLOAD_FILENAME_KEEP_PREFIX = 40
|
25 | 25 | UPLOAD_FILENAME_KEEP_SUFFIX = 17
|
26 | 26 | UPLOAD_FILE_MAX_SIZE = 6_000_000
|
27 | 27 | UPLOAD_FILENAME_BAD = re.compile(r"[^\w+\-.'()@\[\]]+")
|
28 |
| -ROOM_ACTIVE_PRUNE_THRESHOLD = 60 |
29 |
| -ROOM_DEFAULT_ACTIVE_THRESHOLD = 7 |
30 |
| -MESSAGE_HISTORY_PRUNE_THRESHOLD = 30 |
| 28 | +ROOM_ACTIVE_PRUNE_THRESHOLD = 60 * 86400.0 # Seconds, but specified in config file as days |
| 29 | +ROOM_DEFAULT_ACTIVE_THRESHOLD = 7 * 86400.0 # Seconds, but specified in config file as days |
| 30 | +MESSAGE_HISTORY_PRUNE_THRESHOLD = 30 * 86400.0 # Seconds, but specified in config file as days |
31 | 31 | IMPORT_ADJUST_MS = 0
|
32 | 32 | PROFANITY_FILTER = False
|
33 | 33 | PROFANITY_SILENT = True
|
@@ -77,6 +77,12 @@ def path_exists(path):
|
77 | 77 | def val_or_none(v):
|
78 | 78 | return v or None
|
79 | 79 |
|
| 80 | + def days_to_seconds(v): |
| 81 | + return float(v) * 86400.0 |
| 82 | + |
| 83 | + def days_to_seconds_or_none(v): |
| 84 | + return days_to_seconds(v) if v else None |
| 85 | + |
80 | 86 | truthy = ('y', 'yes', 'Y', 'Yes', 'true', 'True', 'on', 'On', '1')
|
81 | 87 | falsey = ('n', 'no', 'N', 'No', 'false', 'False', 'off', 'Off', '0')
|
82 | 88 | booly = truthy + falsey
|
@@ -105,18 +111,18 @@ def bool_opt(name):
|
105 | 111 | 'http_show_recent': bool_opt('HTTP_SHOW_RECENT'),
|
106 | 112 | },
|
107 | 113 | 'files': {
|
108 |
| - 'expiry': ('UPLOAD_DEFAULT_EXPIRY_DAYS', None, float), |
| 114 | + 'expiry': ('UPLOAD_DEFAULT_EXPIRY', None, days_to_seconds_or_none), |
109 | 115 | 'max_size': ('UPLOAD_FILE_MAX_SIZE', None, int),
|
110 | 116 | 'uploads_dir': ('UPLOAD_PATH', path_exists, val_or_none),
|
111 | 117 | },
|
112 | 118 | 'rooms': {
|
113 |
| - 'active_threshold': ('ROOM_DEFAULT_ACTIVE_THRESHOLD', None, float), |
114 |
| - 'active_prune_threshold': ('ROOM_ACTIVE_PRUNE_THRESHOLD', None, float), |
| 119 | + 'active_threshold': ('ROOM_DEFAULT_ACTIVE_THRESHOLD', None, days_to_seconds), |
| 120 | + 'active_prune_threshold': ('ROOM_ACTIVE_PRUNE_THRESHOLD', None, days_to_seconds), |
115 | 121 | },
|
116 |
| - 'direct_messages': {'expiry': ('DM_EXPIRY_DAYS', None, float)}, |
| 122 | + 'direct_messages': {'expiry': ('DM_EXPIRY', None, days_to_seconds)}, |
117 | 123 | 'users': {'require_blind_keys': bool_opt('REQUIRE_BLIND_KEYS')},
|
118 | 124 | 'messages': {
|
119 |
| - 'history_prune_threshold': ('MESSAGE_HISTORY_PRUNE_THRESHOLD', None, float), |
| 125 | + 'history_prune_threshold': ('MESSAGE_HISTORY_PRUNE_THRESHOLD', None, days_to_seconds), |
120 | 126 | 'profanity_filter': bool_opt('PROFANITY_FILTER'),
|
121 | 127 | 'profanity_silent': bool_opt('PROFANITY_SILENT'),
|
122 | 128 | 'profanity_custom': ('PROFANITY_CUSTOM', path_exists, val_or_none),
|
|
0 commit comments