Skip to content

Commit 11e6a49

Browse files
committed
Simple refactoring
1 parent fef8da2 commit 11e6a49

File tree

1 file changed

+30
-17
lines changed

1 file changed

+30
-17
lines changed

mbed_lstools/lstools_linux_generic.py

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -117,25 +117,37 @@ def list_mbeds(self):
117117

118118
# Private methods
119119

120-
def get_dev_by_id(self, subdir):
121-
"""! Lists disk devices by id
122-
@return List of strings from 'ls' command executed in shell
120+
def get_dev_by_id_cmd(self, subdir):
121+
"""! Calls command line 'ls' to get devices by their ids
123122
@details Uses Linux shell command: 'ls -oA /dev/disk/by-id/'
123+
@return tuple(stdout lines, retcode)
124124
"""
125-
result = []
126125
cmd = 'ls -oA /dev/' + subdir + '/by-id/'
127126
if self.DEBUG_FLAG:
128-
self.debug(self.get_dev_by_id.__name__, cmd)
129-
127+
self.debug(self.get_dev_by_id_cmd.__name__, cmd)
130128
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
131-
for line in p.stdout.readlines():
132-
line = line.rstrip()
133-
result.append(line)
134-
if self.DEBUG_FLAG:
135-
self.debug(self.get_dev_by_id.__name__, line)
136-
retval = p.wait()
129+
return (p.stdout.readlines(), p.wait())
130+
131+
def get_dev_by_id_process(self, lines, retval):
132+
"""! Remove unnecessary lines from command line output
133+
"""
134+
result = []
135+
if not retval:
136+
for line in lines:
137+
line = line.rstrip()
138+
if not line.lower().startswith('total '): # total 0
139+
result.append(line)
140+
if self.DEBUG_FLAG:
141+
self.debug(self.get_dev_by_id_process.__name__, line)
137142
return result
138143

144+
def get_dev_by_id(self, subdir):
145+
"""! Lists disk devices by id
146+
@return List of strings from 'ls' command executed in shell
147+
"""
148+
lines, retval = self.get_dev_by_id_cmd(subdir)
149+
return self.get_dev_by_id_process(lines, retval)
150+
139151
def get_mounts(self):
140152
"""! Lists mounted devices with vfat file system (potential mbeds)
141153
@result Returns list of all mounted vfat devices
@@ -147,12 +159,13 @@ def get_mounts(self):
147159
self.debug(self.get_mounts.__name__, cmd)
148160

149161
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
150-
for line in p.stdout.readlines():
151-
line = line.rstrip()
152-
result.append(line)
153-
if self.DEBUG_FLAG:
154-
self.debug(self.get_mounts.__name__, line)
155162
retval = p.wait()
163+
if not retval:
164+
for line in p.stdout.readlines():
165+
line = line.rstrip()
166+
result.append(line)
167+
if self.DEBUG_FLAG:
168+
self.debug(self.get_mounts.__name__, line)
156169
return result
157170

158171
def get_disk_hex_ids(self, disk_list):

0 commit comments

Comments
 (0)