diff -r 3d32490ebde4 -r 4139f17d07ad src/eric7/MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py --- a/src/eric7/MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py Sat Aug 31 15:55:04 2024 +0200 +++ b/src/eric7/MicroPython/Devices/CircuitPythonUpdater/CircupFunctions.py Sat Aug 31 17:19:33 2024 +0200 @@ -29,17 +29,21 @@ Function to extract metadata from the connected device and available bundles and returns this as a list of Module instances representing the modules on the device. - @param device_path path to the connected board - @type str + @param device_path path to the connected board or a disk backend object + @type str or circup.DiskBackend @param bundles_list list of supported bundles @type list of circup.Bundle @return list of Module instances describing the current state of the modules on the connected device @rtype list of circup.Module """ + if isinstance(device_path, str): + backend = circup.DiskBackend(device_path, circup.logger) + else: + backend = device_path result = [] try: - device_modules = circup.get_device_versions(device_path) + device_modules = backend.get_device_versions() bundle_modules = circup.get_bundle_versions(bundles_list) for name, device_metadata in device_modules.items(): if name in bundle_modules: