From 2872fa34a3c0494a7f63a685993eafa5cb8e5697 Mon Sep 17 00:00:00 2001
From: Andreas Freise <adf@star.bham.ac.uk>
Date: Thu, 13 Feb 2014 01:37:44 +0000
Subject: [PATCH] fixing error regarding alternative beam use for node*

---
 pykat/detectors.py | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/pykat/detectors.py b/pykat/detectors.py
index 907f239..3d78506 100644
--- a/pykat/detectors.py
+++ b/pykat/detectors.py
@@ -27,11 +27,11 @@ class Detector(object) :
         self._params = []
         self._mask = {}
         self.__scale = None
-        
-        if node.find('*'):
+
+        if node[-1]=='*':
             self._alternate_beam = True
-            node.replace('*','')
-        
+            node=node[:-1]
+            
         self.__requested_node = node
     
     def _register_param(self, param):
@@ -87,7 +87,6 @@ class ad(Detector):
         Detector.__init__(self, name, node_name)
         self.mode = mode
         self.alternate_beam = alternate_beam
-
         self.__f = Param("f", self, frequency)
     
     @property
@@ -108,16 +107,13 @@ class ad(Detector):
     @staticmethod
     def parseFinesseText(text): 
         values = text.split()
-        
-        if values[-1].endswith('*'):
-            altbeam = True
-        else:
-            altbeam = False
-        
+
+        node=values[-1]
+        alt_beam = node[-1] == '*'
         if len(values) == 6:
             return ad(values[1], values[4], values[5], mode = [int(values[2]), int(values[3])], alternate_beam=alt_beam)
         elif len(values) == 4:
-            return ad(values[1], values[2], values[3], alternate_beam=altbeam)
+            return ad(values[1], values[2], values[3], alternate_beam=alt_beam)
         else:
             raise pkex.BasePyKatException('Amplitude detector code "{0}" is not a valid FINESSE command'.format(text))
             
-- 
GitLab