Mercurial > p > roundup > code
annotate website/issues/extensions/templating.py @ 7800:2d4684e4702d
fix: enhancement to history command output and % template fix.
Rather than using the key field, use the label field for descriptions.
Call cls.labelprop(default_to_id=True) so it returns id rather than
the first sorted property name.
If labelprop() returns 'id' or 'title', we return nothing. 'id' means
there is no label set and no properties named 'name' or 'title'. So
have the caller do whatever it wants (prepend classname for example)
when there is no human readable name. This prevents %(name)s%(key)s
from producing: 23(23).
Also don't accept the 'title' property. Titles can be too
long. Arguably we could: '%(name)20s' to limit the title
length. However without ellipses or something truncating the title
might be confusing. So again pretend there is no human readable name.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 12 Mar 2024 11:52:17 -0400 |
| parents | 42ff671d7f41 |
| children |
| rev | line source |
|---|---|
|
6477
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 import logging |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 logger = logging.getLogger('extension') |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 import sys |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 from roundup import __version__ as roundup_version |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 def AboutPage(db): |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 "report useful info about this tracker" |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
9 def is_module_loaded(module): |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
10 modules = list(sys.modules.keys()) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
11 return module in modules |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 def get_status_of_module(module, prefix=None, version=True): |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 modules = list(sys.modules.keys()) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 is_enabled = module in modules |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 if is_enabled: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
17 if module == 'pyme': |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 from pyme import version |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 version="version %s"%version.versionstr |
|
6521
42ff671d7f41
Fix reporting of mysql and whoosh versions.
John Rouillard <rouilj@ieee.org>
parents:
6507
diff
changeset
|
20 elif module == 'MySQLdb': |
|
42ff671d7f41
Fix reporting of mysql and whoosh versions.
John Rouillard <rouilj@ieee.org>
parents:
6507
diff
changeset
|
21 from MySQLdb import version_info |
|
42ff671d7f41
Fix reporting of mysql and whoosh versions.
John Rouillard <rouilj@ieee.org>
parents:
6507
diff
changeset
|
22 version="version %s"%".".join([str(v) for v in version_info]) |
|
6477
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 elif module == 'pychart': |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 from pychart import version |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 version="version %s"%version.version |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 elif module == 'sqlite3': |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 from sqlite3 import version |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 version="version %s"%version |
|
6521
42ff671d7f41
Fix reporting of mysql and whoosh versions.
John Rouillard <rouilj@ieee.org>
parents:
6507
diff
changeset
|
29 elif module == "whoosh": |
|
42ff671d7f41
Fix reporting of mysql and whoosh versions.
John Rouillard <rouilj@ieee.org>
parents:
6507
diff
changeset
|
30 from whoosh import versionstring |
|
42ff671d7f41
Fix reporting of mysql and whoosh versions.
John Rouillard <rouilj@ieee.org>
parents:
6507
diff
changeset
|
31 version="version %s"%versionstring() |
|
6477
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
32 elif module == 'xapian': |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 from xapian import version_string |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
34 version="version %s"%version_string() |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
35 else: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 if version: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 m = __import__(module) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
38 try: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
39 version="version %s"%m.__version__ |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
40 except AttributeError: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
41 version="version unavailable - exception thrown" |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
42 else: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
43 version="version unavailable" |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
44 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
45 if prefix: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
46 return "%s %s %s enabled: %s"%(prefix, module, version, is_enabled) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
47 else: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
48 return "Module: %s %s enabled: %s"%(module, version, is_enabled) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
49 else: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
50 if prefix: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
51 return "%s %s enabled: %s"%(prefix, module, is_enabled) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
52 else: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
53 return "Module: %s enabled: %s"%(module, is_enabled) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
54 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
55 info = [] |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
56 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
57 info.append("Tracker name: %s<br>"%db.config['TRACKER_NAME']) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
58 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
59 info.append("<h2>Operating environment</h2>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
60 info.append('<a href="http://roundup.sourceforge.net/">Roundup</a> version: %s<br>'%roundup_version) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
61 info.append("Python Version: %s<br>"%sys.version) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
62 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
63 info.append("<h2>Configuration</h2>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
64 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
65 backend = db.config['RDBMS_BACKEND'] |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
66 info.append("Roundup backend: %s<br>"%backend) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
67 if backend != 'anydbm': |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
68 info.append("Roundup db cache: %s<br>"%db.config['RDBMS_CACHE_SIZE']) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
69 info.append("Roundup isolation_level: %s<br>"%db.config['RDBMS_ISOLATION_LEVEL']) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
70 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
71 info.append("Roundup template: %s<br>"%db.config['TEMPLATE_ENGINE']) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
72 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
73 info.append("<h2>Database modules</h2>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
74 info.append(get_status_of_module('anydbm', version=False) + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
75 info.append(get_status_of_module('dbm', version=False) + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
76 info.append(get_status_of_module('sqlite3') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
77 info.append(get_status_of_module('MySQLdb') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
78 info.append(get_status_of_module('psycopg2') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
79 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
80 info.append("<h2>Other modules</h2>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
81 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
82 indexer = db.config['INDEXER'] |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
83 if not indexer: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
84 if is_module_loaded('xapian'): |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
85 indexer="unset using xapian" |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
86 elif is_module_loaded('whoosh'): |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
87 indexer="unset using woosh" |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
88 else: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
89 indexer="unset using native" |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
90 else: |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
91 indexer="set to " + indexer |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
92 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
93 info.append("Indexer used for full-text: %s<br>"%indexer) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
94 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
95 info.append("Available indexers:<br><ul>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
96 if is_module_loaded('xapian'): |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
97 info.append("<li>%s</li>"%get_status_of_module('xapian', prefix="Indexer loaded:")) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
98 if is_module_loaded('whoosh'): |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
99 info.append("<li>%s</li>"%get_status_of_module('whoosh', prefix="Indexer loaded:")) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
100 info.append("<li>Indexer loaded: native: True</li>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
101 info.append("</ul>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
102 info.append(get_status_of_module('pytz') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
103 info.append(get_status_of_module('pyme') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
104 info.append(get_status_of_module('OpenSSL') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
105 info.append(get_status_of_module('pychart') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
106 info.append(get_status_of_module('pygal') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
107 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
108 info.append(get_status_of_module('jinja2') + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
109 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
110 uid = db._db.getuid() |
|
6478
a35d4e0c4e07
Fix permissions check. Use role not perm check.
John Rouillard <rouilj@ieee.org>
parents:
6477
diff
changeset
|
111 if uid == "1" or db._db.user.has_role(uid,"Admin"): |
|
6477
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
112 #may leak sensitive info about system, directory paths etc. |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
113 #and keys so require admin user access. Consider expanding |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
114 #to Admin rights for tracker. |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
115 info.append("") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
116 info.append("Module Path: %r"%sys.path) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
117 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
118 info.append("<h2>Environment Variables</h2>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
119 info.append("<pre>") # include pre to prevent wrapping of values |
|
6507
bc95f7431efb
Remove miscommited issue directory; AboutPage fix; aria for drag/drop
John Rouillard <rouilj@ieee.org>
parents:
6478
diff
changeset
|
120 for key in list(db._client.env.keys()): |
|
6477
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
121 info.append("%s=%s"%(key,db._client.env[key]) + "<br>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
122 info.append("</pre>") |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
123 return "\n".join(info) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
124 |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
125 def init(instance): |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
126 instance.registerUtil('AboutPage', AboutPage) |
|
0ecfa817299b
Added code for utils.AboutPage called from home.about.html
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
127 |
