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