src/eric7/MicroPython/Devices/DeviceBase.py

branch
eric7
changeset 9928
f98f0c28c1eb
parent 9906
39daf45010c8
child 9944
011ae0edbcff
--- a/src/eric7/MicroPython/Devices/DeviceBase.py	Tue Mar 21 11:23:42 2023 +0100
+++ b/src/eric7/MicroPython/Devices/DeviceBase.py	Tue Mar 21 11:45:08 2023 +0100
@@ -926,16 +926,22 @@
 import os as __os_
 
 def fsinfo():
-    infolist = []
+    infodict = {}
     info = __os_.statvfs('/')
     if info[0] == 0:
         fsnames = __os_.listdir('/')
         for fs in fsnames:
             fs = '/' + fs
-            infolist.append((fs, __os_.statvfs(fs)))
+            infodict[fs] = __os_.statvfs(fs)
     else:
-        infolist.append(('/', info))
-    return infolist
+        infodict['/'] = info
+        fsnames = __os_.listdir('/')
+        for fs in fsnames:
+            fs = '/' + fs
+            info = __os_.statvfs(fs)
+            if info not in infodict.values():
+                infodict[fs] = info
+    return infodict
 
 print(fsinfo())
 del __os_, fsinfo
@@ -943,12 +949,12 @@
         out, err = self._interface.execute(command, mode=self._submitMode)
         if err:
             raise OSError(self._shortError(err))
-        infolist = ast.literal_eval(out.decode("utf-8"))
-        if infolist is None:
+        infodict = ast.literal_eval(out.decode("utf-8"))
+        if infodict is None:
             return None
         else:
             filesystemInfos = []
-            for fs, info in infolist:
+            for fs, info in infodict.items():
                 totalSize = info[2] * info[1]
                 freeSize = info[4] * info[1]
                 usedSize = totalSize - freeSize

eric ide

mercurial