Mercurial > repos > cstrittmatter > test_galtrakr_eurl_vtec_wgs_pt_23
annotate HTML.py @ 0:e37910d2c794 draft
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
| author | cstrittmatter | 
|---|---|
| date | Mon, 20 Jan 2020 15:11:03 -0500 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 
0
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
1 #!/usr/bin/python | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
2 # -*- coding: iso-8859-1 -*- | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
3 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
4 HTML.py - v0.04 2009-07-28 Philippe Lagadec | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
5 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
6 This module provides a few classes to easily generate HTML code such as tables | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
7 and lists. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
8 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
9 Project website: http://www.decalage.info/python/html | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
10 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
11 License: CeCILL (open-source GPL compatible), see source code for details. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
12 http://www.cecill.info | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
13 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
14 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
15 __version__ = '0.04' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
16 __date__ = '2009-07-28' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
17 __author__ = 'Philippe Lagadec' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
18 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
19 #--- LICENSE ------------------------------------------------------------------ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
20 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
21 # Copyright Philippe Lagadec - see http://www.decalage.info/contact for contact info | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
22 # | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
23 # This module provides a few classes to easily generate HTML tables and lists. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
24 # | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
25 # This software is governed by the CeCILL license under French law and | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
26 # abiding by the rules of distribution of free software. You can use, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
27 # modify and/or redistribute the software under the terms of the CeCILL | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
28 # license as circulated by CEA, CNRS and INRIA at the following URL | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
29 # "http://www.cecill.info". | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
30 # | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
31 # A copy of the CeCILL license is also provided in these attached files: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
32 # Licence_CeCILL_V2-en.html and Licence_CeCILL_V2-fr.html | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
33 # | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
34 # As a counterpart to the access to the source code and rights to copy, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
35 # modify and redistribute granted by the license, users are provided only | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
36 # with a limited warranty and the software's author, the holder of the | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
37 # economic rights, and the successive licensors have only limited | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
38 # liability. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
39 # | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
40 # In this respect, the user's attention is drawn to the risks associated | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
41 # with loading, using, modifying and/or developing or reproducing the | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
42 # software by the user in light of its specific status of free software, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
43 # that may mean that it is complicated to manipulate, and that also | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
44 # therefore means that it is reserved for developers and experienced | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
45 # professionals having in-depth computer knowledge. Users are therefore | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
46 # encouraged to load and test the software's suitability as regards their | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
47 # requirements in conditions enabling the security of their systems and/or | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
48 # data to be ensured and, more generally, to use and operate it in the | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
49 # same conditions as regards security. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
50 # | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
51 # The fact that you are presently reading this means that you have had | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
52 # knowledge of the CeCILL license and that you accept its terms. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
53 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
54 #--- THANKS -------------------------------------------------------------------- | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
55 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
56 # - Michal Cernoevic, for the idea of column styles. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
57 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
58 #--- REFERENCES ---------------------------------------------------------------- | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
59 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
60 # HTML 4.01 specs: http://www.w3.org/TR/html4/struct/tables.html | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
61 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
62 # Colors: http://www.w3.org/TR/html4/types.html#type-color | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
63 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
64 # Columns alignement and style, one of the oldest and trickiest bugs in Mozilla: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
65 # https://bugzilla.mozilla.org/show_bug.cgi?id=915 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
66 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
67 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
68 #--- CONSTANTS ----------------------------------------------------------------- | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
69 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
70 # Table style to get thin black lines in Mozilla/Firefox instead of 3D borders | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
71 #TABLE_STYLE_THINBORDER = "border: 1px solid #000000; border-collapse: collapse;" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
72 #TABLE_STYLE_THINBORDER = "border: 1px solid #000000;" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
73 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
74 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
75 #=== CLASSES =================================================================== | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
76 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
77 class TableCell (object): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
78 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
79 a TableCell object is used to create a cell in a HTML table. (TD or TH) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
80 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
81 Attributes: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
82 - text: text in the cell (may contain HTML tags). May be any object which | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
83 can be converted to a string using str(). | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
84 - header: bool, false for a normal data cell (TD), true for a header cell (TH) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
85 - bgcolor: str, background color | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
86 - width: str, width | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
87 - align: str, horizontal alignement (left, center, right, justify or char) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
88 - char: str, alignment character, decimal point if not specified | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
89 - charoff: str, see HTML specs | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
90 - valign: str, vertical alignment (top|middle|bottom|baseline) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
91 - style: str, CSS style | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
92 - attribs: dict, additional attributes for the TD/TH tag | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
93 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
94 Reference: http://www.w3.org/TR/html4/struct/tables.html#h-11.2.6 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
95 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
96 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
97 def __init__(self, text="", bgcolor=None, header=False, width=None, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
98 align=None, char=None, charoff=None, valign=None, style=None, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
99 attribs=None): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
100 """TableCell constructor""" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
101 self.text = text | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
102 self.bgcolor = bgcolor | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
103 self.header = header | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
104 self.width = width | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
105 self.align = align | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
106 self.char = char | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
107 self.charoff = charoff | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
108 self.valign = valign | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
109 self.style = style | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
110 self.attribs = attribs | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
111 if attribs==None: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
112 self.attribs = {} | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
113 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
114 def __str__(self): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
115 """return the HTML code for the table cell as a string""" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
116 attribs_str = "" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
117 if self.bgcolor: self.attribs['bgcolor'] = self.bgcolor | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
118 if self.width: self.attribs['width'] = self.width | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
119 if self.align: self.attribs['align'] = self.align | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
120 if self.char: self.attribs['char'] = self.char | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
121 if self.charoff: self.attribs['charoff'] = self.charoff | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
122 if self.valign: self.attribs['valign'] = self.valign | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
123 if self.style: self.attribs['style'] = self.style | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
124 for attr in self.attribs: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
125 attribs_str += ' %s="%s"' % (attr, self.attribs[attr]) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
126 if self.text: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
127 text = str(self.text) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
128 else: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
129 # An empty cell should at least contain a non-breaking space | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
130 text = ' ' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
131 if self.header: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
132 return '<th%s>%s</th>' % (attribs_str, text) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
133 else: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
134 return '<td%s>%s</td>' % (attribs_str, text) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
135 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
136 #------------------------------------------------------------------------------- | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
137 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
138 class TableRow (object): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
139 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
140 a TableRow object is used to create a row in a HTML table. (TR tag) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
141 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
142 Attributes: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
143 - cells: list, tuple or any iterable, containing one string or TableCell | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
144 object for each cell | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
145 - header: bool, true for a header row (TH), false for a normal data row (TD) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
146 - bgcolor: str, background color | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
147 - col_align, col_valign, col_char, col_charoff, col_styles: see Table class | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
148 - attribs: dict, additional attributes for the TR tag | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
149 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
150 Reference: http://www.w3.org/TR/html4/struct/tables.html#h-11.2.5 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
151 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
152 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
153 def __init__(self, cells=None, bgcolor=None, header=False, attribs=None, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
154 col_align=None, col_valign=None, col_char=None, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
155 col_charoff=None, col_styles=None): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
156 """TableCell constructor""" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
157 self.bgcolor = bgcolor | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
158 self.cells = cells | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
159 self.header = header | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
160 self.col_align = col_align | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
161 self.col_valign = col_valign | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
162 self.col_char = col_char | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
163 self.col_charoff = col_charoff | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
164 self.col_styles = col_styles | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
165 self.attribs = attribs | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
166 if attribs==None: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
167 self.attribs = {} | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
168 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
169 def __str__(self): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
170 """return the HTML code for the table row as a string""" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
171 attribs_str = "" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
172 if self.bgcolor: self.attribs['bgcolor'] = self.bgcolor | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
173 for attr in self.attribs: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
174 attribs_str += ' %s="%s"' % (attr, self.attribs[attr]) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
175 result = '<tr%s>' % attribs_str | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
176 for cell in self.cells: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
177 col = self.cells.index(cell) # cell column index | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
178 if not isinstance(cell, TableCell): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
179 cell = TableCell(cell, header=self.header) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
180 # apply column alignment if specified: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
181 if self.col_align and cell.align==None: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
182 cell.align = self.col_align[col] | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
183 if self.col_char and cell.char==None: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
184 cell.char = self.col_char[col] | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
185 if self.col_charoff and cell.charoff==None: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
186 cell.charoff = self.col_charoff[col] | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
187 if self.col_valign and cell.valign==None: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
188 cell.valign = self.col_valign[col] | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
189 # apply column style if specified: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
190 if self.col_styles and cell.style==None: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
191 cell.style = self.col_styles[col] | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
192 result += str(cell) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
193 result += '</tr>\n' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
194 return result | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
195 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
196 #------------------------------------------------------------------------------- | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
197 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
198 class Table (object): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
199 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
200 a Table object is used to create a HTML table. (TABLE tag) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
201 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
202 Attributes: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
203 - rows: list, tuple or any iterable, containing one iterable or TableRow | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
204 object for each row | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
205 - header_row: list, tuple or any iterable, containing the header row (optional) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
206 - border: str or int, border width | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
207 - style: str, table style in CSS syntax (thin black borders by default) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
208 - width: str, width of the table on the page | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
209 - attribs: dict, additional attributes for the TABLE tag | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
210 - col_width: list or tuple defining width for each column | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
211 - col_align: list or tuple defining horizontal alignment for each column | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
212 - col_char: list or tuple defining alignment character for each column | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
213 - col_charoff: list or tuple defining charoff attribute for each column | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
214 - col_valign: list or tuple defining vertical alignment for each column | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
215 - col_styles: list or tuple of HTML styles for each column | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
216 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
217 Reference: http://www.w3.org/TR/html4/struct/tables.html#h-11.2.1 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
218 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
219 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
220 def __init__(self, rows=None, border='1', style=None, width=None, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
221 cellspacing=None, cellpadding=4, attribs=None, header_row=None, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
222 col_width=None, col_align=None, col_valign=None, | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
223 col_char=None, col_charoff=None, col_styles=None): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
224 """TableCell constructor""" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
225 self.border = border | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
226 self.style = style | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
227 # style for thin borders by default | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
228 #if style == None: self.style = TABLE_STYLE_THINBORDER | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
229 self.width = width | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
230 self.cellspacing = cellspacing | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
231 self.cellpadding = cellpadding | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
232 self.header_row = header_row | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
233 self.rows = rows | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
234 if not rows: self.rows = [] | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
235 self.attribs = attribs | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
236 if not attribs: self.attribs = {} | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
237 self.col_width = col_width | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
238 self.col_align = col_align | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
239 self.col_char = col_char | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
240 self.col_charoff = col_charoff | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
241 self.col_valign = col_valign | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
242 self.col_styles = col_styles | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
243 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
244 def __str__(self): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
245 """return the HTML code for the table as a string""" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
246 attribs_str = "" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
247 #if self.border: self.attribs['border'] = self.border | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
248 if self.style: self.attribs['style'] = self.style | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
249 if self.width: self.attribs['width'] = self.width | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
250 if self.cellspacing: self.attribs['cellspacing'] = self.cellspacing | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
251 if self.cellpadding: self.attribs['cellpadding'] = self.cellpadding | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
252 for attr in self.attribs: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
253 attribs_str += ' %s="%s"' % (attr, self.attribs[attr]) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
254 result = '<table%s>\n' % attribs_str | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
255 # insert column tags and attributes if specified: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
256 if self.col_width: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
257 for width in self.col_width: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
258 result += ' <col width="%s">\n' % width | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
259 # First insert a header row if specified: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
260 if self.header_row: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
261 if not isinstance(self.header_row, TableRow): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
262 result += str(TableRow(self.header_row, header=True)) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
263 else: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
264 result += str(self.header_row) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
265 # Then all data rows: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
266 for row in self.rows: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
267 if not isinstance(row, TableRow): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
268 row = TableRow(row) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
269 # apply column alignments and styles to each row if specified: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
270 # (Mozilla bug workaround) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
271 if self.col_align and not row.col_align: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
272 row.col_align = self.col_align | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
273 if self.col_char and not row.col_char: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
274 row.col_char = self.col_char | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
275 if self.col_charoff and not row.col_charoff: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
276 row.col_charoff = self.col_charoff | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
277 if self.col_valign and not row.col_valign: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
278 row.col_valign = self.col_valign | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
279 if self.col_styles and not row.col_styles: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
280 row.col_styles = self.col_styles | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
281 result += str(row) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
282 result += '</table>' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
283 return result | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
284 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
285 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
286 #------------------------------------------------------------------------------- | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
287 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
288 class List (object): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
289 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
290 a List object is used to create an ordered or unordered list in HTML. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
291 (UL/OL tag) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
292 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
293 Attributes: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
294 - lines: list, tuple or any iterable, containing one string for each line | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
295 - ordered: bool, choice between an ordered (OL) or unordered list (UL) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
296 - attribs: dict, additional attributes for the OL/UL tag | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
297 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
298 Reference: http://www.w3.org/TR/html4/struct/lists.html | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
299 """ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
300 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
301 def __init__(self, lines=None, ordered=False, start=None, attribs=None): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
302 """List constructor""" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
303 if lines: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
304 self.lines = lines | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
305 else: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
306 self.lines = [] | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
307 self.ordered = ordered | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
308 self.start = start | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
309 if attribs: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
310 self.attribs = attribs | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
311 else: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
312 self.attribs = {} | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
313 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
314 def __str__(self): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
315 """return the HTML code for the list as a string""" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
316 attribs_str = "" | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
317 if self.start: self.attribs['start'] = self.start | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
318 for attr in self.attribs: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
319 attribs_str += ' %s="%s"' % (attr, self.attribs[attr]) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
320 if self.ordered: tag = 'ol' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
321 else: tag = 'ul' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
322 result = '<%s%s>\n' % (tag, attribs_str) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
323 for line in self.lines: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
324 result += ' <li>%s\n' % str(line) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
325 result += '</%s>\n' % tag | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
326 return result | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
327 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
328 #=== FUNCTIONS ================================================================ | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
329 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
330 # much simpler definition of a link as a function: | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
331 def Link(text, url): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
332 return '<a href="%s">%s</a>' % (url, text) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
333 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
334 def link(text, url): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
335 return '<a href="%s">%s</a>' % (url, text) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
336 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
337 def table(*args, **kwargs): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
338 'return HTML code for a table as a string. See Table class for parameters.' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
339 return str(Table(*args, **kwargs)) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
340 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
341 def list(*args, **kwargs): | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
342 'return HTML code for a list as a string. See List class for parameters.' | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
343 return str(List(*args, **kwargs)) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
344 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
345 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
346 #=== MAIN ===================================================================== | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
347 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
348 # Show sample usage when this file is launched as a script. | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
349 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
350 if __name__ == '__main__': | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
351 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
352 # open an HTML file to show output in a browser | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
353 f = open('test.html', 'w') | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
354 | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
355 t = Table() | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
356 t.rows.append(TableRow(['A', 'B', 'C'], header=True)) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
357 t.rows.append(TableRow(['D', 'E', 'F'])) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
358 t.rows.append(('i', 'j', 'k')) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
359 f.write(str(t) + '<p>\n') | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
360 print (str(t)) | 
| 
 
e37910d2c794
planemo upload commit 15239f1674081ab51ab8dd75a9a40cf1bfaa93e8
 
cstrittmatter 
parents:  
diff
changeset
 | 
361 f.close() | 
