diff options
| author | bwarsaw | 2002-08-28 16:06:15 +0000 |
|---|---|---|
| committer | bwarsaw | 2002-08-28 16:06:15 +0000 |
| commit | 96b2a458409f8445f4978b74b082eea87263d88d (patch) | |
| tree | 4de0dad9709ea1e97c1e1136e0bc50c6a3c35bce /cron | |
| parent | 4752ce75de133dca091710a26c9d089d2e9b3f5a (diff) | |
| download | mailman-96b2a458409f8445f4978b74b082eea87263d88d.tar.gz mailman-96b2a458409f8445f4978b74b082eea87263d88d.tar.zst mailman-96b2a458409f8445f4978b74b082eea87263d88d.zip | |
Diffstat (limited to 'cron')
| -rwxr-xr-x | cron/senddigests | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/cron/senddigests b/cron/senddigests index d2bede973..77fc7a642 100755 --- a/cron/senddigests +++ b/cron/senddigests @@ -18,22 +18,63 @@ """Dispatch digests for lists w/pending messages and digest_send_periodic set. -Typically it's invoked via cron. +Usage: %(PROGRAM)s [options] + +Options: + -h / --help + Print this message and exit. + + -l listname + --listname=listname + Send the digest for the given list only, otherwise the digests for all + lists are sent out. """ +import sys +import getopt + import paths from Mailman import mm_cfg from Mailman import Utils from Mailman import MailList +from Mailman.i18n import _ # Work around known problems with some RedHat cron daemons import signal signal.signal(signal.SIGCHLD, signal.SIG_DFL) +PROGRAM = sys.argv[0] + + + +def usage(code, msg=''): + print >> sys.stderr, _(__doc__) + if msg: + print >> sys.stderr, msg + sys.exit(code) + def main(): - for listname in Utils.list_names(): + try: + opts, args = getopt.getopt(sys.argv[1:], 'hl:', ['help', 'listname=']) + except getopt.error, msg: + usage(1, msg) + + if args: + usage(1) + + listnames = [] + for opt, arg in opts: + if opt in ('-h', '--help'): + usage(0) + elif opt in ('-l', '--listname'): + listnames.append(arg) + + if not listnames: + listnames = Utils.list_names() + + for listname in listnames: mlist = MailList.MailList(listname, lock=0) if mlist.digest_send_periodic: mlist.Lock() |
