Mercurial > p > roundup > code
annotate issues/extensions/templating.py @ 6503:4c7381f5051b
Enable bionic build replacing xenail
Enable bionic 18.04 replacing xenial 16.04. Curl
https://oligarchy.co.uk/xapian/ is failing to validate the SSL cert
with the CA on xenial. See if this fixes it.
Python 3.4 is not supported on bionic is obsolete so remove testing.
It was retained because 3.4 was EPEL version for centos 7. With centos
demise, removed it from 'python:' settings.
Test latest 2.x release, earliest 3.x release supported by bionic
(3.6), last two production 3.x releases and nightly to cut down on
cost of testing. Also run tests in 3.x series in reverse order so 3.9
runs first. Hence we fail early as newest pythons seem to have more
issues with the code.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 30 Sep 2021 20:31:29 -0400 |
| parents | bd7015b83ebf |
| children |
| rev | line source |
|---|---|
|
6475
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 import logging |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 logger = logging.getLogger('extension') |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 import sys |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 from roundup import __version__ as roundup_version |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 def AboutPage(db): |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 "report useful info about this tracker" |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
9 def is_module_loaded(module): |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
10 modules = sys.modules.keys() |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
11 return module in modules |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 def get_status_of_module(module, prefix=None, version=True): |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 modules = sys.modules.keys() |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 is_enabled = module in modules |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 if is_enabled: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
17 if module == 'pyme': |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 from pyme import version |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 version="version %s"%version.versionstr |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
20 elif module == 'pychart': |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 from pychart import version |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
22 version="version %s"%version.version |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 elif module == 'sqlite3': |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 from sqlite3 import version |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 version="version %s"%version |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 else: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 if version: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 m = __import__(module) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
29 try: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
30 version="version %s"%m.__version__ |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
31 except AttributeError: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
32 version="version unavailable - exception thrown" |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 else: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
34 version="version unavailable" |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
35 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 if prefix: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 return "%s %s %s enabled: %s"%(prefix, module, version, is_enabled) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
38 else: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
39 return "Module: %s %s enabled: %s"%(module, version, is_enabled) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
40 else: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
41 if prefix: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
42 return "%s %s enabled: %s"%(prefix, module, is_enabled) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
43 else: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
44 return "Module: %s enabled: %s"%(module, is_enabled) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
45 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
46 info = [] |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
47 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
48 info.append("Tracker name: %s<br>"%db.config['TRACKER_NAME']) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
49 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
50 info.append("<h2>Operating environment</h2>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
51 info.append('<a href="http://roundup.sourceforge.net/">Roundup</a> version: %s<br>'%roundup_version) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
52 info.append("Python Version: %s<br>"%sys.version) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
53 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
54 info.append("<h2>Configuration</h2>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
55 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
56 backend = db.config['RDBMS_BACKEND'] |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
57 info.append("Roundup backend: %s<br>"%backend) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
58 if backend != 'anydbm': |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
59 info.append("Roundup db cache: %s<br>"%db.config['RDBMS_CACHE_SIZE']) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
60 info.append("Roundup isolation_level: %s<br>"%db.config['RDBMS_ISOLATION_LEVEL']) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
61 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
62 info.append("Roundup template: %s<br>"%db.config['TEMPLATE_ENGINE']) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
63 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
64 info.append("<h2>Database modules</h2>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
65 info.append(get_status_of_module('anydbm', version=False) + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
66 info.append(get_status_of_module('sqlite3') + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
67 info.append(get_status_of_module('MySQLdb') + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
68 info.append(get_status_of_module('psycopg2') + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
69 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
70 info.append("<h2>Other modules</h2>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
71 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
72 info.append(get_status_of_module('pytz') + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
73 if is_module_loaded('xapian'): |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
74 info.append(get_status_of_module('xapian', prefix="Test indexer:") + |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
75 "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
76 elif is_module_loaded('whoosh'): |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
77 info.append(get_status_of_module('whoosh', prefix="Test indexer:") + |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
78 "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
79 else: |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
80 info.append("Text indexer: Native enabled: True<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
81 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
82 info.append(get_status_of_module('pyme') + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
83 info.append(get_status_of_module('OpenSSL') + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
84 info.append(get_status_of_module('pychart') + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
85 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
86 info.append(get_status_of_module('jinja2') + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
87 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
88 if db._db.getuid() == "1": |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
89 #may leak sensitive info about system, directory paths etc. |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
90 #and keys so require admin user access. Consider expanding |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
91 #to Admin rights for tracker. |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
92 info.append("") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
93 info.append("Module Path: %r"%sys.path) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
94 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
95 info.append("<h2>Environment Variables</h2>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
96 info.append("<pre>") # include pre to prevent wrapping of values |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
97 for key in db._client.env.keys(): |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
98 info.append("%s=%s"%(key,db._client.env[key]) + "<br>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
99 info.append("</pre>") |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
100 return "\n".join(info) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
101 |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
102 def init(instance): |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
103 instance.registerUtil('AboutPage', AboutPage) |
|
bd7015b83ebf
add about page with homeurl and query args ?@template=about
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
104 |
