Mercurial > treepkg
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() |