annotate bin/listpendingnotifications.py @ 310:26c15a0f0e52

When stopping because of an error, do not raise the exception again as it leads to confusing double tracebacks in the log. Instead, simply log the reason for the stopping and stop in the same way a stop instruction is handled.
author Bernhard Herzog <bh@intevation.de>
date Wed, 02 Dec 2009 14:46:37 +0000
parents 1fcdffbeb9de
children dd2bd0ccd674
rev   line source
287
1fcdffbeb9de Make the #! line in the commands more portable. Use /usr/bin/python
Bernhard Herzog <bh@intevation.de>
parents: 241
diff changeset
1 #! /usr/bin/python
241
df3065e4c76b Include the rules revision in the output of listpendingnotifications.py
Bernhard Herzog <bh@intevation.de>
parents: 99
diff changeset
2 # Copyright (C) 2008, 2009 by Intevation GmbH
99
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
3 # Authors:
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
4 # Bernhard Herzog <bh@intevation.de>
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
5 #
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
6 # This program is free software under the GPL (>=v2)
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
7 # Read the file COPYING coming with the software for details.
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
8
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
9 """List tracks and revisions where notifications are pending"""
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
10
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
11 import treepkgcmd
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
12 from treepkg.options import create_parser
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
13 from treepkg.report import get_packager_group
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
14
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
15 def parse_commandline():
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
16 return create_parser().parse_args()
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
17
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
18 def list_notifications(config_file):
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
19 group = get_packager_group(config_file)
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
20 for track in group.get_package_tracks():
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
21 for revision in track.get_revisions():
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
22 if revision.status.notification_mail.name == "notification_pending":
241
df3065e4c76b Include the rules revision in the output of listpendingnotifications.py
Bernhard Herzog <bh@intevation.de>
parents: 99
diff changeset
23 print "%s %s %d %d" % (revision.status.status.name,
df3065e4c76b Include the rules revision in the output of listpendingnotifications.py
Bernhard Herzog <bh@intevation.de>
parents: 99
diff changeset
24 track.name, revision.revision,
df3065e4c76b Include the rules revision in the output of listpendingnotifications.py
Bernhard Herzog <bh@intevation.de>
parents: 99
diff changeset
25 revision.rules_revision)
99
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
26 revision.status.notification_sent()
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
27
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
28
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
29 def main():
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
30 options, args = parse_commandline()
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
31 list_notifications(options.config_file)
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
32
7888fe374e11 Add support for notification mails in case of build errors
Bernhard Herzog <bh@intevation.de>
parents:
diff changeset
33 main()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)