Mercurial > treepkg
annotate bin/createstaticweb.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 | ef87d30468b6 |
children |
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") |
372
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
21 parser.set_defaults(show_logs="build_log.txt.gz") |
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
|
22 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
|
23 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
|
24 " 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
|
25 " relative to the web subdirectory." |
325
85b5667f543e
Fix default value in help string for --status-template option.
Bernhard Herzog <bh@intevation.de>
parents:
287
diff
changeset
|
26 " Default is status-by-startdate.html.")) |
372
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
27 parser.add_option("--show-logs", |
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
28 help=("A comma seperated list of filenames of the" |
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
29 " logs that should be included in the status page." |
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
30 " Valid names are filenames of the files" |
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
31 " in the log dir of a package. e.g." |
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
32 " --show-logs=tarball_log.txt,dpkg_source.txt" |
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
33 " Default is build_log.txt.gz")) |
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 return parser.parse_args() |
78
9a602d8eaa60
initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
35 |
372
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
36 def create_static_site(treepkg_config, status_template, show_logs, destdir): |
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
37 status = Status(treepkg_config=treepkg_config, template=status_template, |
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
38 logs=show_logs.split(",")) |
78
9a602d8eaa60
initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
39 status.create_static_site(destdir) |
9a602d8eaa60
initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
40 |
9a602d8eaa60
initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
41 def main(): |
9a602d8eaa60
initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
42 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
|
43 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
|
44 options.status_template, |
372
ef87d30468b6
Added the option to expose additional log files from the log directory.
Andre Heinecke <aheinecke@intevation.de>
parents:
325
diff
changeset
|
45 options.show_logs, |
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
|
46 args[0]) |
78
9a602d8eaa60
initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
47 |
9a602d8eaa60
initial revision of the subversion repository
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
48 main() |