MicroPython eric7

Tue, 21 Mar 2023 11:45:08 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 21 Mar 2023 11:45:08 +0100
branch
eric7
changeset 9928
f98f0c28c1eb
parent 9927
fa258d559f01
child 9929
4a81ccaa7c7f

MicroPython
- Changed the 'fileSystemInfo()' method such, that it finds mounted file systems as well.

src/eric7/MicroPython/Devices/DeviceBase.py file | annotate | diff | comparison | revisions
--- 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