1 |
diff --git a/bin/rmlist b/bin/rmlist |
2 |
index 8b58a3c..b31141e 100755 |
3 |
--- a/bin/rmlist |
4 |
+++ b/bin/rmlist |
5 |
@@ -37,6 +37,7 @@ Where: |
6 |
""" |
7 |
|
8 |
import os |
9 |
+import re |
10 |
import sys |
11 |
import getopt |
12 |
import shutil |
13 |
@@ -121,7 +122,7 @@ def main(): |
14 |
sys.modules[modname].remove(mlist) |
15 |
|
16 |
REMOVABLES = [ |
17 |
- (os.path.join('lists', listname), C_('list info')), |
18 |
+ (os.path.join(mm_cfg.LIST_DATA_DIR, listname), C_('list info')), |
19 |
] |
20 |
|
21 |
# Remove any stale locks associated with the list |
22 |
@@ -131,20 +132,27 @@ def main(): |
23 |
REMOVABLES.append((os.path.join(mm_cfg.LOCK_DIR, filename), |
24 |
C_('stale lock file'))) |
25 |
|
26 |
+ # Remove any held messages for this list |
27 |
+ for filename in os.listdir(mm_cfg.DATA_DIR): |
28 |
+ cre = re.compile('^heldmsg-%s-\d+\.(pck|txt)$' % listname, |
29 |
+ re.IGNORECASE) |
30 |
+ if cre.match(filename): |
31 |
+ REMOVABLES.append((os.path.join(mm_cfg.DATA_DIR, filename), |
32 |
+ C_('held message file'))) |
33 |
+ |
34 |
if removeArchives: |
35 |
REMOVABLES.extend([ |
36 |
- (os.path.join('archives', 'private', listname), |
37 |
+ (os.path.join(mm_cfg.PRIVATE_ARCHIVE_FILE_DIR, listname), |
38 |
C_('private archives')), |
39 |
- (os.path.join('archives', 'private', listname + '.mbox'), |
40 |
+ (os.path.join(mm_cfg.PRIVATE_ARCHIVE_FILE_DIR, listname + '.mbox'), |
41 |
C_('private archives')), |
42 |
- (os.path.join('archives', 'public', listname), |
43 |
+ (os.path.join(mm_cfg.PUBLIC_ARCHIVE_FILE_DIR, listname), |
44 |
C_('public archives')), |
45 |
- (os.path.join('archives', 'public', listname + '.mbox'), |
46 |
+ (os.path.join(mm_cfg.PUBLIC_ARCHIVE_FILE_DIR, listname + '.mbox'), |
47 |
C_('public archives')), |
48 |
]) |
49 |
|
50 |
- for dirtmpl, msg in REMOVABLES: |
51 |
- dir = os.path.join(mm_cfg.VAR_PREFIX, dirtmpl) |
52 |
+ for dir, msg in REMOVABLES: |
53 |
remove_it(listname, dir, msg) |
54 |
|
55 |
|