Mercurial > p > roundup > code
annotate website/issues/extensions/templating.py @ 7695:2be7a8f66ea7
fix: windows install using pip mislocates share directory
The setup code that tries to make the share install path absolute
prependeds something like:
c:\program files\python_venv
to the paths. The equivalent on linux is recognized as an absolute
path. On windows this is treated oddly. This resulted in
the share files being placed in:
c:\program files\python_venv\Lib\site-packages\program files\python_venv\share
Roundup was unable to find the files there. On windows (where the
platform starts with 'win') don't make the path absolute. This puts
share in:
c:\program files\python_venv\Lib\share
and Roundup finds them.
The translations and templates are found by the roundup-server.
The docs are also installed under the share directory. The man pages
are not installed as windows doesn't have groff to format the source
documents.
This is the second fix from issues getting Roundup running on windows
discussed on mailing list by Simon Eigeldinger.
Thread starts with:
https://sourceforge.net/p/roundup/mailman/message/41557096/
subject: Installing Roundup on Windows 2023-10-05.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 05 Nov 2023 23:01:29 -0500 |
| 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 |
