diff --git a/yubiadmin/apps/__init__.py b/yubiadmin/apps/__init__.py index 53ebbcf..bbe4076 100644 --- a/yubiadmin/apps/__init__.py +++ b/yubiadmin/apps/__init__.py @@ -26,11 +26,17 @@ # POSSIBILITY OF SUCH DAMAGE. import os +import sys from importlib import import_module apps = [] __all__ = ['apps'] + +def get_name(app): + return getattr(app, 'name', None) or sys.modules[app.__module__].__file__ \ + .split('/')[-1].rsplit('.', 1)[0] + for filename in os.listdir(os.path.dirname(__file__)): if filename.endswith('.py') and not filename.startswith('__'): module = import_module('yubiadmin.apps.%s' % filename[:-3]) diff --git a/yubiadmin/server.py b/yubiadmin/server.py index 12f1496..6181ddf 100644 --- a/yubiadmin/server.py +++ b/yubiadmin/server.py @@ -34,8 +34,8 @@ import sys def inspect_app(app): - name = app.name or sys.modules[app.__module__].__file__.split('/')[-1] \ - .rsplit('.', 1)[0] + name = getattr(app, 'name', None) or sys.modules[app.__module__].__file__ \ + .split('/')[-1].rsplit('.', 1)[0] if app.__doc__: doc = app.__doc__.strip()