Index: __init__.py =================================================================== diff -u -r5dc30de23fb46cbe81cd27dfb0359792d0a258da -r7afbecef0b9557bd33cb2612e1f813fbe480baa4 --- __init__.py (.../__init__.py) (revision 5dc30de23fb46cbe81cd27dfb0359792d0a258da) +++ __init__.py (.../__init__.py) (revision 7afbecef0b9557bd33cb2612e1f813fbe480baa4) @@ -3,11 +3,15 @@ """ import os -available_plugin_folders = sorted(os.listdir('./plugins')) +plugin_folder='./plugins' +available_plugin_folders = sorted(os.listdir(plugin_folder)) available_plugins = [] # to be used as global variable in the simulator # available_plugin_folders = (item for item in sorted(os.listdir('./plugins')) if not item.startswith("__")) for folder in available_plugin_folders: - if not folder.startswith('__') and not folder.startswith('.'): + folder_path = f'{plugin_folder}/{folder}' + if (not folder.startswith('__') and not folder.startswith('.') + and os.path.isdir(folder_path) + and os.path.isfile(f'{folder_path}/interface.ui') and os.path.isfile(f'{folder_path}/loader.py')): exec('from .{0}.loader import Loader as {0}'.format(folder)) available_plugins.append(folder) print(*available_plugins, sep = "\n")