X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Ftango%2Fllcm.py;h=9ddc7727d5ad25cb8441a2a287837e24d53b6499;hb=af04f9735d519cf9aa49f0a1625c59f48c33ba0b;hp=75c71bf76b05d258056d56aae7a08ae7b9205687;hpb=aa4d27cf6ecf9dd7037b1c8292268467efca1805;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/tango/llcm.py b/src/emuvim/api/tango/llcm.py index 75c71bf..9ddc772 100755 --- a/src/emuvim/api/tango/llcm.py +++ b/src/emuvim/api/tango/llcm.py @@ -364,11 +364,30 @@ class Service(object): ports = list() # Containernet naming port_bindings = dict() for i in intfs: - if i.get("port"): + if i.get("port"): # field with a single port if not isinstance(i.get("port"), int): LOG.info("Field 'port' is no int CP: {}".format(i)) else: - ports.append(i.get("port")) + ports.append(i.get("port")) # collect all ports + if i.get("ports"): # list with multiple ports + if not isinstance(i.get("ports"), list): + LOG.info("Field 'port' is no list CP: {}".format(i)) + else: + for p in i.get("ports"): + if not isinstance(p, int): + # do some parsing + try: + if "/udp" in p: + p = tuple(p.split("/")) + else: + p = int(p) + ports.append(p) # collect all ports + except BaseException as ex: + LOG.error( + "Could not parse ports list: {}".format(p)) + LOG.error(ex) + else: + ports.append(p) # collect all ports if i.get("publish"): if not isinstance(i.get("publish"), dict): LOG.info("Field 'publish' is no dict CP: {}".format(i))