Changeset 424fe00 in sasmodels


Ignore:
Timestamp:
Sep 12, 2016 1:17:05 AM (4 years ago)
Author:
Paul Kienzle <pkienzle@…>
Branches:
master, core_shell_microgels, costrafo411, magnetic_model, release_v0.94, release_v0.95, ticket-1257-vesicle-product, ticket_1156, ticket_1265_superball, ticket_822_more_unit_tests
Children:
2a0c7a6
Parents:
52ec91e
Message:

send sys.argv to main()

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sascomp

    r6708a6a r424fe00  
    1919 
    2020    import sasmodels.compare 
    21     sasmodels.compare.main() 
     21    sasmodels.compare.main(*sys.argv[1:]) 
    2222 
    2323if __name__ == "__main__": 
  • sasmodels/compare.py

    ra557a99 r424fe00  
    777777 
    778778 
    779 def parse_opts(): 
    780     # type: () -> Dict[str, Any] 
     779def parse_opts(argv): 
     780    # type: (List[str]) -> Dict[str, Any] 
    781781    """ 
    782782    Parse command line options. 
    783783    """ 
    784784    MODELS = core.list_models() 
    785     flags = [arg for arg in sys.argv[1:] 
     785    flags = [arg for arg in argv 
    786786             if arg.startswith('-')] 
    787     values = [arg for arg in sys.argv[1:] 
     787    values = [arg for arg in argv 
    788788              if not arg.startswith('-') and '=' in arg] 
    789     args = [arg for arg in sys.argv[1:] 
     789    positional_args = [arg for arg in argv 
    790790            if not arg.startswith('-') and '=' not in arg] 
    791791    models = "\n    ".join("%-15s"%v for v in MODELS) 
    792     if len(args) == 0: 
     792    if len(positional_args) == 0: 
    793793        print(USAGE) 
    794794        print("\nAvailable models:") 
    795795        print(columnize(MODELS, indent="  ")) 
    796         sys.exit(1) 
    797     if len(args) > 3: 
     796        return None 
     797    if len(positional_args) > 3: 
    798798        print("expected parameters: model N1 N2") 
    799799 
    800     name = args[0] 
     800    name = positional_args[0] 
    801801    try: 
    802802        model_info = core.load_model_info(name) 
     
    804804        print(str(exc)) 
    805805        print("Could not find model; use one of:\n    " + models) 
    806         sys.exit(1) 
     806        return None 
    807807 
    808808    invalid = [o[1:] for o in flags 
     
    811811    if invalid: 
    812812        print("Invalid options: %s"%(", ".join(invalid))) 
    813         sys.exit(1) 
     813        return None 
    814814 
    815815 
     
    886886        del engines[2:] 
    887887 
    888     n1 = int(args[1]) if len(args) > 1 else 1 
    889     n2 = int(args[2]) if len(args) > 2 else 1 
     888    n1 = int(positional_args[1]) if len(positional_args) > 1 else 1 
     889    n2 = int(positional_args[2]) if len(positional_args) > 2 else 1 
    890890    use_sasview = any(engine == 'sasview' and count > 0 
    891891                      for engine, count in zip(engines, [n1, n2])) 
     
    904904            s = set(p.split('_pd')[0] for p in pars) 
    905905            print("%r invalid; parameters are: %s"%(k, ", ".join(sorted(s)))) 
    906             sys.exit(1) 
     906            return None 
    907907        presets[k] = float(v) if not k.endswith('type') else v 
    908908 
     
    10361036 
    10371037 
    1038 def main(): 
    1039     # type: () -> None 
     1038def main(*argv): 
     1039    # type: (*str) -> None 
    10401040    """ 
    10411041    Main program. 
    10421042    """ 
    1043     opts = parse_opts() 
    1044     if opts['explore']: 
    1045         explore(opts) 
    1046     else: 
    1047         compare(opts) 
     1043    opts = parse_opts(argv) 
     1044    if opts is not None: 
     1045        if opts['explore']: 
     1046            explore(opts) 
     1047        else: 
     1048            compare(opts) 
    10481049 
    10491050if __name__ == "__main__": 
    1050     main() 
     1051    main(*sys.argv[1:]) 
  • sasmodels/compare_many.py

    r40a87fa r424fe00  
    229229    print_models() 
    230230 
    231 def main(): 
     231def main(argv): 
    232232    """ 
    233233    Main program. 
    234234    """ 
    235     if len(sys.argv) not in (6, 7): 
     235    if len(argv) not in (5, 6): 
    236236        print_help() 
    237         sys.exit(1) 
    238  
    239     model = sys.argv[1] 
     237        return 
     238 
     239    model = argv[0] 
    240240    if not (model in MODELS) and (model != "all"): 
    241241        print('Bad model %s.  Use "all" or one of:'%model) 
    242242        print_models() 
    243         sys.exit(1) 
     243        return 
    244244    try: 
    245         count = int(sys.argv[2]) 
    246         is2D = sys.argv[3].startswith('2d') 
    247         assert sys.argv[3][1] == 'd' 
    248         Nq = int(sys.argv[3][2:]) 
    249         mono = sys.argv[4] == 'mono' 
    250         cutoff = float(sys.argv[4]) if not mono else 0 
    251         base = sys.argv[5] 
    252         comp = sys.argv[6] if len(sys.argv) > 6 else "sasview" 
     245        count = int(argv[1]) 
     246        is2D = argv[2].startswith('2d') 
     247        assert argv[2][1] == 'd' 
     248        Nq = int(argv[2][2:]) 
     249        mono = argv[3] == 'mono' 
     250        cutoff = float(argv[3]) if not mono else 0 
     251        base = argv[4] 
     252        comp = argv[5] if len(argv) > 5 else "sasview" 
    253253    except Exception: 
    254254        traceback.print_exc() 
    255255        print_usage() 
    256         sys.exit(1) 
     256        return 
    257257 
    258258    data, index = make_data({'qmax':1.0, 'is2d':is2D, 'nq':Nq, 'res':0., 
     
    265265if __name__ == "__main__": 
    266266    #from .compare import push_seed 
    267     #with push_seed(1): main() 
    268     main() 
     267    #with push_seed(1): main(sys.argv[1:]) 
     268    main(sys.argv[1:]) 
Note: See TracChangeset for help on using the changeset viewer.