src/eric7/MicroPython/Devices/DeviceBase.py

branch
eric7
changeset 9928
f98f0c28c1eb
parent 9906
39daf45010c8
child 9944
011ae0edbcff
equal deleted inserted replaced
9927:fa258d559f01 9928:f98f0c28c1eb
924 """ 924 """
925 command = """ 925 command = """
926 import os as __os_ 926 import os as __os_
927 927
928 def fsinfo(): 928 def fsinfo():
929 infolist = [] 929 infodict = {}
930 info = __os_.statvfs('/') 930 info = __os_.statvfs('/')
931 if info[0] == 0: 931 if info[0] == 0:
932 fsnames = __os_.listdir('/') 932 fsnames = __os_.listdir('/')
933 for fs in fsnames: 933 for fs in fsnames:
934 fs = '/' + fs 934 fs = '/' + fs
935 infolist.append((fs, __os_.statvfs(fs))) 935 infodict[fs] = __os_.statvfs(fs)
936 else: 936 else:
937 infolist.append(('/', info)) 937 infodict['/'] = info
938 return infolist 938 fsnames = __os_.listdir('/')
939 for fs in fsnames:
940 fs = '/' + fs
941 info = __os_.statvfs(fs)
942 if info not in infodict.values():
943 infodict[fs] = info
944 return infodict
939 945
940 print(fsinfo()) 946 print(fsinfo())
941 del __os_, fsinfo 947 del __os_, fsinfo
942 """ 948 """
943 out, err = self._interface.execute(command, mode=self._submitMode) 949 out, err = self._interface.execute(command, mode=self._submitMode)
944 if err: 950 if err:
945 raise OSError(self._shortError(err)) 951 raise OSError(self._shortError(err))
946 infolist = ast.literal_eval(out.decode("utf-8")) 952 infodict = ast.literal_eval(out.decode("utf-8"))
947 if infolist is None: 953 if infodict is None:
948 return None 954 return None
949 else: 955 else:
950 filesystemInfos = [] 956 filesystemInfos = []
951 for fs, info in infolist: 957 for fs, info in infodict.items():
952 totalSize = info[2] * info[1] 958 totalSize = info[2] * info[1]
953 freeSize = info[4] * info[1] 959 freeSize = info[4] * info[1]
954 usedSize = totalSize - freeSize 960 usedSize = totalSize - freeSize
955 filesystemInfos.append((fs, totalSize, usedSize, freeSize)) 961 filesystemInfos.append((fs, totalSize, usedSize, freeSize))
956 962

eric ide

mercurial