X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sioc.py;h=f8872450a072b4c09c18204856834424c06dd439;hb=f3725641c3dcce6baf0d8b0da1a215616787ef76;hp=d596f771396f0a7330c60d94778db2a4e30e870f;hpb=0a370cfb64046b2e70343191f4b74372367dc861;p=pyplnet.git diff --git a/sioc.py b/sioc.py index d596f77..f887245 100644 --- a/sioc.py +++ b/sioc.py @@ -1,4 +1,3 @@ -# $Id$ # vim:set ts=4 sw=4 expandtab: # (c) Copyright 2008 The Trustees of Princeton University @@ -39,11 +38,13 @@ def gifconf(): stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True) (stdout, stderr) = ip.communicate() - ip.wait() + # no wait is needed when using communicate for line in stdout.split("\n"): - if line.startswith(" inet "): - fields = line.split(" ") - ret[fields[-1]] = fields[5].split("/")[0] + fields = [ field.strip() for field in line.split() ] + if fields and fields[0] == "inet": + # fields[-1] is the last column in fields, which has the interface name + # fields[1] has the IP address / netmask width + ret[fields[-1]] = fields[1].split("/")[0] return ret def gifhwaddr(interface):