Changeset 810


Ignore:
Timestamp:
07/25/15 19:01:20 (10 months ago)
Author:
mmckerns
Message:

better error messaging for bad input for plotting tools in scripts and support

Location:
mystic/mystic
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • mystic/mystic/scripts.py

    r807 r810  
    418418    #XXX: note that 'argparse' is new as of python2.7 
    419419    from optparse import OptionParser 
    420     def _exit(self, **kwds): 
     420    def _exit(self, errno=None, msg=None): 
    421421      global __quit 
    422422      __quit = True 
     423      if errno or msg: 
     424        msg = msg.split(': error: ')[-1].strip() 
     425        raise IOError(msg) 
    423426    OptionParser.exit = _exit 
    424427 
     
    456459    parser.add_option("-j","--join",action="store_true",dest="line",\ 
    457460                      default=False,help="connect trajectory points in plot") 
    458     parsed_opts, parsed_args = parser.parse_args(cmdargs) 
    459461 
    460462#   import sys 
     
    468470    f.close() 
    469471 
     472    try: 
     473      parsed_opts, parsed_args = parser.parse_args(cmdargs) 
     474    except UnboundLocalError: 
     475      pass 
    470476    if __quit: return 
    471477 
     
    696702    #XXX: note that 'argparse' is new as of python2.7 
    697703    from optparse import OptionParser 
    698     def _exit(self, **kwds): 
     704    def _exit(self, errno=None, msg=None): 
    699705      global __quit 
    700706      __quit = True 
     707      if errno or msg: 
     708        msg = msg.split(': error: ')[-1].strip() 
     709        raise IOError(msg) 
    701710    OptionParser.exit = _exit 
    702711 
     
    721730    #parser.add_option("-f","--file",action="store",dest="filename",metavar="FILE",\ 
    722731    #                  default='log.txt',help="log file name") 
    723     parsed_opts, parsed_args = parser.parse_args(cmdargs) 
    724732 
    725733#   import sys 
     
    733741    f.close() 
    734742 
     743    try: 
     744      parsed_opts, parsed_args = parser.parse_args(cmdargs) 
     745    except UnboundLocalError: 
     746      pass 
     747    if __quit: return 
     748 
    735749    style = '-' # default linestyle 
    736750    if parsed_opts.dots: 
     
    742756      mark = '' 
    743757 
    744     if __quit: return 
    745  
    746758    try: # get logfile name 
    747759      filename = parsed_args[0] 
    748760    except: 
    749       raise IOError, "please provide log file name" 
     761      raise IOError("please provide log file name") 
    750762 
    751763    try: # select which iteration to stop plotting at 
  • mystic/mystic/support.py

    r809 r810  
    339339    #XXX: note that 'argparse' is new as of python2.7 
    340340    from optparse import OptionParser 
    341     def _exit(self, **kwds): 
     341    def _exit(self, errno=None, msg=None): 
    342342        global __quit 
    343343        __quit = True 
     344        if errno or msg: 
     345            msg = msg.split(': error: ')[-1].strip() 
     346            raise IOError(msg) 
    344347    OptionParser.exit = _exit 
    345348 
     
    363366    parser.add_option("-g","--legend",action="store_true",dest="legend",\ 
    364367                      default=False,help="show the legend") 
    365     parsed_opts, parsed_args = parser.parse_args(cmdargs) 
    366368 
    367369    from StringIO import StringIO 
     
    373375    f.close() 
    374376 
     377    try: 
     378        parsed_opts, parsed_args = parser.parse_args(cmdargs) 
     379    except UnboundLocalError: 
     380        pass 
    375381    if __quit: return 
    376382 
     
    572578    #XXX: note that 'argparse' is new as of python2.7 
    573579    from optparse import OptionParser 
    574     def _exit(self, **kwds): 
     580    def _exit(self, errno=None, msg=None): 
    575581        global __quit 
    576582        __quit = True 
     583        if errno or msg: 
     584            msg = msg.split(': error: ')[-1].strip() 
     585            raise IOError(msg) 
    577586    OptionParser.exit = _exit 
    578587 
     
    601610    parser.add_option("-f","--flat",action="store_true",dest="flatten",\ 
    602611                      default=False,help="show selected iterations in a single plot") 
    603     parsed_opts, parsed_args = parser.parse_args(cmdargs) 
    604612 
    605613    from StringIO import StringIO 
     
    611619    f.close() 
    612620 
     621    try: 
     622        parsed_opts, parsed_args = parser.parse_args(cmdargs) 
     623    except UnboundLocalError: 
     624        pass 
    613625    if __quit: return 
    614626 
     
    664676    for bound in bounds: 
    665677        if not isinstance(bound, tuple): 
    666             raise TypeError, "bounds should be tuples of (lower_bound,upper_bound)" 
     678            raise TypeError("bounds should be tuples of (lower_bound,upper_bound)") 
    667679    for i in range(len(xyz)): 
    668680        if isinstance(xyz[i], int): 
    669681            xyz[i] = (xyz[i],) 
    670682        elif not isinstance(xyz[i], tuple): 
    671             raise TypeError, "xyz should be tuples of (param1,param2,param3,...)" 
     683            raise TypeError("xyz should be tuples of (param1,param2,param3,...)") 
    672684 
    673685    # ensure all terms of select are strings that have a ":" 
     
    848860    #XXX: note that 'argparse' is new as of python2.7 
    849861    from optparse import OptionParser 
    850     def _exit(self, **kwds): 
     862    def _exit(self, errno=None, msg=None): 
    851863        global __quit 
    852864        __quit = True 
     865        if errno or msg: 
     866            msg = msg.split(': error: ')[-1].strip() 
     867            raise IOError(msg) 
    853868    OptionParser.exit = _exit 
    854869 
     
    880895    parser.add_option("-f","--flat",action="store_true",dest="flatten",\ 
    881896                      default=False,help="show selected iterations in a single plot") 
    882     parsed_opts, parsed_args = parser.parse_args(cmdargs) 
    883897 
    884898    from StringIO import StringIO 
     
    890904    f.close() 
    891905 
     906    try: 
     907        parsed_opts, parsed_args = parser.parse_args(cmdargs) 
     908    except UnboundLocalError: 
     909        pass 
    892910    if __quit: return 
    893911 
     
    945963    for bound in bounds: 
    946964        if not isinstance(bound, tuple): 
    947             raise TypeError, "bounds should be tuples of (lower_bound,upper_bound)" 
     965            raise TypeError("bounds should be tuples of (lower_bound,upper_bound)") 
    948966    for i in range(len(xyz)): 
    949967        if isinstance(xyz[i], int): 
    950968            xyz[i] = (xyz[i],) 
    951969        elif not isinstance(xyz[i], tuple): 
    952             raise TypeError, "xyz should be tuples of (param1,param2,param3,...)" 
     970            raise TypeError("xyz should be tuples of (param1,param2,param3,...)") 
    953971    for i in range(len(wxyz)): 
    954972        if isinstance(wxyz[i], int): 
    955973            wxyz[i] = (wxyz[i],) 
    956974        elif not isinstance(wxyz[i], tuple): 
    957             raise TypeError, "wxyz should be tuples of (param1,param2,param3,...)" 
     975            raise TypeError("wxyz should be tuples of (param1,param2,param3,...)") 
    958976 
    959977    # ensure all terms of select are strings of ints 
     
    961979        if isinstance(select[i], int): select[i] = str(select[i]) 
    962980        if select[i].count(':'): 
    963             raise ValueError, "iters should be ints" 
     981            raise ValueError("iters should be ints") 
    964982       #if select[i] == '-1': select[i] = 'len(x)-1:len(x)' 
    965983       #elif not select[i].count(':'): 
     
    10601078                        t[v].append([str((1.0 - i[q]*j[q]*k[q])**scale) for q in range(len(i))]) 
    10611079                        if float(t[v][-1][-1]) > 1.0 or float(t[v][-1][-1]) < 0.0: 
    1062                             raise ValueError, "Weights must be in range 0-1. Check normalization and/or assignment." 
     1080                            raise ValueError("Weights must be in range 0-1. Check normalization and/or assignment.") 
    10631081 
    10641082    # build all the plots 
     
    11651183    #XXX: note that 'argparse' is new as of python2.7 
    11661184    from optparse import OptionParser 
    1167     def _exit(self, **kwds): 
     1185    def _exit(self, errno=None, msg=None): 
    11681186        global __quit 
    11691187        __quit = True 
     1188        if errno or msg: 
     1189            msg = msg.split(': error: ')[-1].strip() 
     1190            raise IOError(msg) 
    11701191    OptionParser.exit = _exit 
    11711192 
     
    12091230    parser.add_option("-f","--flat",action="store_true",dest="flatten",\ 
    12101231                      default=False,help="show selected iterations in a single plot") 
    1211     parsed_opts, parsed_args = parser.parse_args(cmdargs) 
    12121232 
    12131233    from StringIO import StringIO 
     
    12191239    f.close() 
    12201240 
     1241    try: 
     1242        parsed_opts, parsed_args = parser.parse_args(cmdargs) 
     1243    except UnboundLocalError: 
     1244        pass 
    12211245    if __quit: return 
    12221246 
     
    12591283        data = load_dataset(file, filter) 
    12601284    except: 
    1261 #       raise IOError, "please provide dataset file name" 
     1285#       raise IOError("please provide dataset file name") 
    12621286        data = dataset() 
    12631287        cones = False 
     
    13381362    for bound in bounds: 
    13391363        if not isinstance(bound, tuple): 
    1340             raise TypeError, "bounds should be tuples of (lower_bound,upper_bound)" 
     1364            raise TypeError("bounds should be tuples of (lower_bound,upper_bound)") 
    13411365 
    13421366    # ensure all terms of select are strings that have a ":" 
Note: See TracChangeset for help on using the changeset viewer.