src/eric7/MicroPython/Devices/DeviceBase.py

branch
eric7
changeset 10034
bf2d02317ba6
parent 10022
a95800b414b7
child 10069
435cc5875135
diff -r 91b0939626ff -r bf2d02317ba6 src/eric7/MicroPython/Devices/DeviceBase.py
--- a/src/eric7/MicroPython/Devices/DeviceBase.py	Tue May 16 14:36:37 2023 +0200
+++ b/src/eric7/MicroPython/Devices/DeviceBase.py	Tue May 16 17:42:54 2023 +0200
@@ -141,7 +141,9 @@
             with contextlib.suppress(OSError):
                 self._deviceData = self.__getDeviceData()
                 self._deviceData["local_mip"] = (
-                    not self._deviceData["mip"] and not self._deviceData["upip"]
+                    not self._deviceData["mip"]
+                    and not self._deviceData["upip"]
+                    and not self.hasCircuitPython()
                 )
                 self._deviceData["wifi"], self._deviceData["wifi_type"] = self.hasWifi()
                 self._deviceData["bluetooth"] = self.hasBluetooth()
@@ -164,15 +166,24 @@
 
     def getDeviceData(self, key=None):
         """
-        Public method to get a copy of the determined device data.
+        Public method to get a copy of the determined device data or part of them.
 
-        @param key name of the data to get (None to get all data) (defaults to None)
-        @type str (optional)
+        @param key name or a list of names of the data to get (None to get all data)
+            (defaults to None)
+        @type str or list of str (optional)
         @return dictionary containing the essential device data
-        @rtype dict
+        @rtype dict or Any
         """
         if key is None:
             return copy.deepcopy(self._deviceData)
+        elif isinstance(key, list):
+            res = {}
+            for name in key:
+                try:
+                    res[name] = self._deviceData[name]
+                except KeyError:
+                    res[name] = None
+            return res
         else:
             try:
                 return self._deviceData[key]

eric ide

mercurial