Mercurial > treepkg
annotate bin/listpendingnotifications.py @ 557:9824e409388b
Refactor git branching
If a checkout is already available and the branch is changed in
the config git command would always fail because it doesn't know
the branch to track. Therefore always check if the branch is
locally available and if not checkout the remote branch
author | Bjoern Ricks <bricks@intevation.de> |
---|---|
date | Fri, 02 Sep 2011 08:45:28 +0000 |
parents | dd2bd0ccd674 |
children |
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": |
328
dd2bd0ccd674
Revisions are now handled as strings
Andre Heinecke <aheinecke@intevation.de>
parents:
287
diff
changeset
|
23 print "%s %s %s %s" % (revision.status.status.name, |
241
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() |