From 26ca5bc96baf10008532b84fa430eb8529ead0b6 Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Wed, 7 Oct 2009 13:37:14 +0000 Subject: [PATCH] bug 1362: * distill stations from Observation.VirtualInstrument * properly parse empty arrays in parset --- RTCP/Run/src/LOFAR/Parset.py | 16 ++++++++++++---- RTCP/Run/src/util/Parset.py | 4 +++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/RTCP/Run/src/LOFAR/Parset.py b/RTCP/Run/src/LOFAR/Parset.py index 092cae09b57..a22fccf5ac4 100644 --- a/RTCP/Run/src/LOFAR/Parset.py +++ b/RTCP/Run/src/LOFAR/Parset.py @@ -33,13 +33,21 @@ class Parset(util.Parset.Parset): def distillStations(self): """ Distill station names to use from the parset file and return them. """ - def stripQuotes(s): - return s.strip("'").rstrip("'") + key = "Observation.VirtualInstrument.stationList" - if "OLAP.storageStationNames" not in self: + if key not in self: return "" - return map( stripQuotes, self.getStringVector( "OLAP.storageStationNames" ) ) + stationlist = self.getStringVector(key) + antennaset = self["Observation.antennaSet"] + if antennaset.startswith("LBA"): + array = "LBA" + elif antennaset.startswith("HBA"): + array = "HBA" + else: + assert False,"Unknown Observation.antennaSet: %s" % (antennaset,) + + return "+".join(["%s%s" % (stat,array) for stat in stationlist]) def distillPartition(self): """ Distill partition to use from the parset file and return it. """ diff --git a/RTCP/Run/src/util/Parset.py b/RTCP/Run/src/util/Parset.py index 0991e322798..8004cd2eb5d 100644 --- a/RTCP/Run/src/util/Parset.py +++ b/RTCP/Run/src/util/Parset.py @@ -146,7 +146,9 @@ class Parset(dict): # read array value = [] - if peek() != "]": + if peek() == "]": + token() # discard ] + else: # non-empty array # accumulate tokens as a single value, -- GitLab