Commits

Takeshi Nakazato authored 7106780e730
CAS-13780 fix invalid backslash (W605) as well as regex bug
No tags

casatasks/src/private/task_sdimaging.py

Modified
776 776 if self.phasecenter == "":
777 777 # defaut is J2000
778 778 base_mref = 'J2000'
779 779 elif isinstance(self.phasecenter, int) or self.phasecenter.isdigit():
780 780 # may be field id
781 781 self.open_table(self.field_table)
782 782 base_mref = self.table.getcolkeyword('PHASE_DIR', 'MEASINFO')['Ref']
783 783 self.close_table()
784 784 else:
785 785 # may be phasecenter is explicitly specified
786 - pattern = '^([\-\+]?[0-9.]+([eE]?-?[0-9])?)|([\-\+]?[0-9][:h][0-9][:m][0-9.]s?)|([\-\+]?[0-9][.d][0-9][.d][0-9.]s?)$'
786 + # numeric value: 3.14, -.3e1, etc.
787 + numeric_pattern = r'[-+]?([0-9]+(.[0-9]*)?|\.[0-9]+)([eE]-?[0-9])?'
788 + # HMS string: 9:15:29, -9h15m29
789 + hms_pattern = r'[-+]?[0-9]+[:h][0-9]+[:m][0-9.]+s?'
790 + # DMS string: 9.15.29, -9d15m29s
791 + dms_pattern = r'[-+]?[0-9]+[.d][0-9]+[.m][0-9.]+s?'
792 + # composite pattern
793 + pattern = fr'^({numeric_pattern}|{hms_pattern}|{dms_pattern})$'
787 794 items = self.phasecenter.split()
788 795 base_mref = 'J2000'
789 796 for i in items:
790 797 s = i.strip()
791 798 if re.match(pattern, s) is None:
792 799 base_mref = s
793 800 break
794 801
795 802 mapextent = self.imager.mapextent(ref=base_mref, movingsource=self.ephemsrcname,
796 803 pointingcolumntouse=colname)

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut