From d08c9caf8d85f94922141e6af9abca7389548e6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20J=C3=BCrges?= <jurges@astron.nl>
Date: Wed, 20 Feb 2019 13:47:30 +0000
Subject: [PATCH] SW-382:  Replace RAD/DEG conversion functions with math.*
 equivalents

---
 SAS/XML_generator/src/xmlgen.py | 32 ++++++++++++--------------------
 1 file changed, 12 insertions(+), 20 deletions(-)

diff --git a/SAS/XML_generator/src/xmlgen.py b/SAS/XML_generator/src/xmlgen.py
index 0c75f738375..8a9c17b2c76 100755
--- a/SAS/XML_generator/src/xmlgen.py
+++ b/SAS/XML_generator/src/xmlgen.py
@@ -33,7 +33,7 @@ from xml.sax.saxutils import escape as XMLescape
 from os import _exit as os_exit
 from os.path import splitext
 from datetime import datetime, timedelta
-from math import pi
+from math import pi, radians, degrees
 import re
 import json
 
@@ -130,21 +130,13 @@ def hms2deg(hms_str):
     return sign * (abs(int(arr[0])) + float(arr[1]) / 60 + (float(arr[2]) + arr[3]) / 3600) * 15
 
 
-def deg2rad(degrees):
-    return float(degrees) * pi / 180
-
-
-def rad2deg(radian):
-    return float(radian) * 180 / pi
-
-
 # def convertAngle(number, angle, beamName): #TODO get one convertAngle function
 #   # try converting to degrees else radians else HMS
 #   if angle.endswith('deg') or angle.endswith('d'): # ra specified with 'deg' ?
 #     angle = angle.rstrip(' deg')
 #   else:
 #     try: # try radian units
-#       ra_deg = rad2deg(angle);
+#       ra_deg = degrees(angle);
 #       angle = ra_deg
 #     except: # assuming hms
 #       if not (angle.endswith('s') or angle[-1].isdigit()):
@@ -158,7 +150,7 @@ def convertAngle1(angle, beamName):
         angle = angle.rstrip(' deg')
     else:
         try:  # try radian units
-            ra_deg = rad2deg(angle)
+            ra_deg = degrees(angle)
             angle = ra_deg
         except:  # assuming hms
             if not (angle.endswith('s') or angle[-1].isdigit()):   # FIXME: makes no sense, angle should be float
@@ -173,7 +165,7 @@ def convertAngle2(angle, beamName):
         angle = angle.rstrip(' deg')
     else:
         try:  # try radian units
-            dec_deg = rad2deg(angle)
+            dec_deg = degrees(angle)
             angle = dec_deg
         except:  # assuming dms
             if not (angle.endswith('s') or angle[-1].isdigit()): # FIXME: makes no sense, angle should be float
@@ -259,24 +251,24 @@ def readTiedArrayBeams(lines):
                 if valList[0].startswith('c'):
                     # angle1
                     if valList[1].endswith('deg') or valList[1].endswith('d'):  # degree units?
-                        valList[1] = deg2rad(valList[1].rstrip(' deg'))
+                        valList[1] = radians(valList[1].rstrip(' deg'))
                     else:  # try radian else HMS
                         try:  # if float conversion works assume radian
                             angle1 = float(valList[1])
                             valList[1] = angle1
                         except:  # float conversion did not work try hms
-                            valList[1] = deg2rad(hms2deg(valList[1]))
+                            valList[1] = radians(hms2deg(valList[1]))
                     # angle2
                     if valList[2].endswith('deg') or valList[2].endswith('d'):  # degree units?
-                        valList[2] = deg2rad(valList[2].rstrip(' deg'))
+                        valList[2] = radians(valList[2].rstrip(' deg'))
                     else:  # try radian else HMS
                         try:  # if float conversion works assume radian
                             angle2 = float(valList[2])
                             valList[2] = angle2
                         except:  # float conversion did not work try hms
-                            valList[2] = deg2rad(dms2deg(valList[2]))
+                            valList[2] = radians(dms2deg(valList[2]))
                             # if valList[2].endswith('deg') or valList[2].endswith('d'):
-                            # valList[2] = deg2rad(valList[2].rstrip(' deg'))
+                            # valList[2] = radians(valList[2].rstrip(' deg'))
                     tabs.append(valList)
                 elif valList[0].startswith('i'):
                     valList[1] = float(valList[1])
@@ -1292,7 +1284,7 @@ def readGlobalTABrings(value):
         if (len(globalTABrings) == 2) and (globalTABrings[1].rstrip() != ''):
             globalTABrings[0] = int(globalTABrings[0])  # nrTABrings
             if globalTABrings[1].endswith('deg') or globalTABrings[1].endswith('d'):
-                globalTABrings[1] = deg2rad(globalTABrings[1].rstrip(' deg'))
+                globalTABrings[1] = radians(globalTABrings[1].rstrip(' deg'))
             else:
                 globalTABrings[1] = float(globalTABrings[1])  # TAB ring size
     else:
@@ -1373,7 +1365,7 @@ def readCalibratorBeam(startLine, lines, globalSubbands, globalTABrings, globalB
         else:
             calibratorBeam[5] = int(calibratorBeam[5])  # nrTABrings
             if calibratorBeam[6].endswith('deg') or calibratorBeam[6].endswith('d'):
-                calibratorBeam[6] = deg2rad(calibratorBeam[6].rstrip(' deg'))
+                calibratorBeam[6] = radians(calibratorBeam[6].rstrip(' deg'))
             else:
                 calibratorBeam[6] = float(calibratorBeam[6])  # TAB ring size
 
@@ -1502,7 +1494,7 @@ def readTargetBeams(startLine, lines, globalSubbands, globalBBS, globalDemix, gl
                 targetBeams[nr_beams][5] = int(targetBeams[nr_beams][5])
                 if targetBeams[nr_beams][5] > 0:
                     if targetBeams[nr_beams][6].endswith('deg') or targetBeams[nr_beams][6].endswith('d'):
-                        targetBeams[nr_beams][6] = deg2rad(targetBeams[nr_beams][6].rstrip(' deg'))
+                        targetBeams[nr_beams][6] = radians(targetBeams[nr_beams][6].rstrip(' deg'))
                     else:  # TODO try?
                         targetBeams[nr_beams][6] = float(targetBeams[nr_beams][6])  # TAB ring size
 
-- 
GitLab