Changeset 2886


Ignore:
Timestamp:
12/25/13 14:50:26 (11 years ago)
Author:
WataruKawasaki
Message:

New Development: No

JIRA Issue: Yes CAS-5859

Ready for Test: Yes

Interface Changes: No

What Interface Changed:

Test Programs:

Put in Release Notes: No

Module(s): sd

Description: modified parse_spw_selection() so that it emits ValueError when invalid spw given.


File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/scantable.py

    r2885 r2886  
    18141814                   
    18151815                    else: # single number
    1816                         try:
    1817                             #checking if the given number is valid for spw ID
    1818                             idx = valid_ifs.index(int(scs_elem))
    1819                             spw_list.append(valid_ifs[idx])
     1816                        #checking if the given number is valid for spw ID
     1817                        idx = valid_ifs.index(int(scs_elem))
     1818                        spw_list.append(valid_ifs[idx])
    18201819                       
    1821                         except:
    1822                             asaplog.post()
    1823                             asaplog.push("Wrong spw number (" + scs_elem + ") given. ignored.")
    1824                             asaplog.post("WARNING")
    1825                
    18261820                else: # (len_product == 2)
    18271821                    # namely, one of '<', '>' or '~' appers just once.
     
    18291823                    if (lt_sep_length == 2): # '<a'
    18301824                        if is_number(lt_sep[1]):
     1825                            no_valid_spw = True
    18311826                            for i in valid_ifs:
    18321827                                if (i < float(lt_sep[1])):
    18331828                                    spw_list.append(i)
     1829                                    no_valid_spw = False
     1830
     1831                            if no_valid_spw:
     1832                                raise ValueError("Invalid spw selection ('<" + str(lt_sep[1]) + "').")
    18341833                       
    18351834                        else:
    1836                             RuntimeError("Invalid spw selection.")
     1835                            raise RuntimeError("Invalid spw selection.")
    18371836                       
    18381837                    elif (gt_sep_length == 2): # '>a'
    18391838                        if is_number(gt_sep[1]):
     1839                            no_valid_spw = True
    18401840                            for i in valid_ifs:
    18411841                                if (i > float(gt_sep[1])):
    18421842                                    spw_list.append(i)
     1843                                    no_valid_spw = False
     1844                           
     1845                            if no_valid_spw:
     1846                                raise ValueError("Invalid spw selection ('>" + str(gt_sep[1]) + "').")
    18431847                       
    18441848                        else:
    1845                             RuntimeError("Invalid spw selection.")
     1849                            raise RuntimeError("Invalid spw selection.")
    18461850                       
    18471851                    else: # (ti_sep_length == 2) where both boundaries inclusive
     
    18531857                            expr_pmin = min(float(expr0), float(expr1))
    18541858                            expr_pmax = max(float(expr0), float(expr1))
     1859                            no_valid_spw = True
     1860                           
    18551861                            for i in valid_ifs:
    18561862                                if (expr_pmin <= i) and (i <= expr_pmax):
    18571863                                    spw_list.append(i)
     1864                                    no_valid_spw = False
     1865
     1866                            if no_valid_spw:
     1867                                raise ValueError("No valid spw in range ('" + str(expr_pmin) + "~" + str(expr_pmax) + "').")
    18581868                           
    18591869                        elif is_number(expr0) and is_frequency(expr1):
    18601870                            # 'a~b*Hz'
    18611871                            (expr_f0, expr_f1) = get_freq_by_string(expr0, expr1)
    1862 
     1872                            no_valid_spw = True
     1873                           
    18631874                            for coord in self._get_coordinate_list():
    18641875                                expr_p0 = coord['coord'].to_pixel(expr_f0)
     
    18731884                                if ((expr_pmax - pmin)*(expr_pmin - pmax) <= 0.0):
    18741885                                    spw_list.append(spw)
     1886                                    no_valid_spw = False
     1887
     1888                            if no_valid_spw:
     1889                                raise ValueError("No valid spw in range ('" + str(expr0) + "~" + str(expr1) + "').")
    18751890                               
    18761891                        elif is_number(expr0) and is_velocity(expr1):
     
    18791894                            expr_vmin = min(expr_v0, expr_v1)
    18801895                            expr_vmax = max(expr_v0, expr_v1)
    1881 
     1896                            no_valid_spw = True
     1897                           
    18821898                            for coord in self._get_coordinate_list():
    18831899                                spw = coord['if']
     
    18941910                                if ((expr_vmax - vmin)*(expr_vmin - vmax) <= 0.0):
    18951911                                    spw_list.append(spw)
     1912                                    no_valid_spw = False
     1913
     1914                            if no_valid_spw:
     1915                                raise ValueError("No valid spw in range ('" + str(expr0) + "~" + str(expr1) + "').")
    18961916                           
    18971917                        else:
     
    20032023       
    20042024        return res
     2025    #found
    20052026
    20062027    @asaplog_post_dec
Note: See TracChangeset for help on using the changeset viewer.