Show version on /-/plugins page, closes #248

distinct-column-values
Simon Willison 2018-05-04 15:04:33 -03:00
rodzic d4da4c92c8
commit ca290719ed
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 17E2DEA2588B7F52
3 zmienionych plików z 10 dodań i 3 usunięć

Wyświetl plik

@ -1434,6 +1434,7 @@ class Datasette:
'name': p['name'],
'static': p['static_path'] is not None,
'templates': p['templates_path'] is not None,
'version': p.get('version'),
} for p in get_plugins(pm)]),
'/-/plugins<as_json:(\.json)?$>'
)

Wyświetl plik

@ -688,6 +688,7 @@ def module_from_path(path, name):
def get_plugins(pm):
plugins = []
plugin_to_distinfo = dict(pm.list_plugin_distinfo())
for plugin in pm.get_plugins():
static_path = None
templates_path = None
@ -699,9 +700,13 @@ def get_plugins(pm):
except (KeyError, ImportError):
# Caused by --plugins_dir= plugins - KeyError/ImportError thrown in Py3.5
pass
plugins.append({
plugin_info = {
'name': plugin.__name__,
'static_path': static_path,
'templates_path': templates_path,
})
}
distinfo = plugin_to_distinfo.get(plugin)
if distinfo:
plugin_info['version'] = distinfo.version
plugins.append(plugin_info)
return plugins

Wyświetl plik

@ -763,7 +763,8 @@ def test_plugins_json(app_client):
assert {
'name': 'my_plugin.py',
'static': False,
'templates': False
'templates': False,
'version': None,
} in response.json