annotate bin/createstaticweb.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 85b5667f543e
rev   line source
287
1fcdffbeb9de Make the #! line in the commands more portable. Use /usr/bin/python
Bernhard Herzog <bh@intevation.de>
parents: 154
diff changeset
1 #! /usr/bin/python
1fcdffbeb9de Make the #! line in the commands more portable. Use /usr/bin/python
Bernhard Herzog <bh@intevation.de>
parents: 154
diff changeset
2 # Copyright (C) 2007, 2008, 2009 by Intevation GmbH
78
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
3 # Authors:
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
4 # Bernhard Herzog <bh@intevation.de>
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
5 #
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
6 # This program is free software under the GPL (>=v2)
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
7 # Read the file COPYING coming with the software for details.
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
8
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
9 """Creates a static web-site with a status report"""
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
10
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
11 import sys
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
12 import os
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
13
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
14 import treepkgcmd
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
15 from treepkg.options import create_parser
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
16 from treepkg.web import Status
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
17
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
18 def parse_commandline():
152
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
19 parser = create_parser()
154
a30351c91a68 Make status-by-startdate.html the default template. Sorting by date is
Bernhard Herzog <bh@intevation.de>
parents: 152
diff changeset
20 parser.set_defaults(status_template="status-by-startdate.html")
152
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
21 parser.add_option("--status-template",
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
22 help=("The template file to use for the status page."
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
23 " Relative filenames are interpreted"
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
24 " relative to the web subdirectory."
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
25 " Default is status-by-revision.html."))
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
26 return parser.parse_args()
78
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
27
152
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
28 def create_static_site(treepkg_config, status_template, destdir):
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
29 status = Status(treepkg_config=treepkg_config, template=status_template)
78
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
30 status.create_static_site(destdir)
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
31
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
32 def main():
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
33 options, args = parse_commandline()
152
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
34 create_static_site(options.config_file,
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
35 options.status_template,
4adcb15cbdfb Let the user supply the filename of the template to use for the status page.
Bernhard Herzog <bh@intevation.de>
parents: 78
diff changeset
36 args[0])
78
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
37
9a602d8eaa60 initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
38 main()
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)