def parse_args():
    parser = argparse.ArgumentParser(description='Run predictor on slha file',
            formatter_class=argparse.ArgumentDefaultsHelpFormatter)
    parser.add_argument('-f', '--filename',required=True,  help='slha file name')
    parser.add_argument('-p', dest='predictor', required=True, 
            choices=predictor_dict.keys(),help='specify predictor',)
    parser.add_argument('-v','--verbose', action='store_true',help='verbosity')
    parser.add_argument('-b','--breakdown', action='store_true',help='give chi2 breakdown')
    parser.add_argument('--other-inputs',help='other inputs, like this: \"{....}\"')
    return parser.parse_args()

if __name__=="__main__" :
    args=parse_args()
    slhafile=SLHA()
    slhafile.read(args.filename)
    inputs={}
    if args.other_inputs:
        inputs.update(eval(args.other_inputs))
    if args.verbose:
        inputs.update({'verbose':True})
    predictor_output=predictor_dict[args.predictor].run(slhafile, inputs , False)
    pp.pprint(predictor_output)

    if args.breakdown:
        #FIXME: use print_chi2_breakdown() 
        header='{:<20}: {:>13} | {:<30} :  {:>10}'.format('Name constraint','Chi2 penalty','Observable','Value')
        print('='*len(header))
        print(header)
        print('='*len(header))
        for name, constraint in Constraints_list.constraints.items(): 
from tools import c_complex

def parse_args():
    parser = argparse.ArgumentParser(description='Process some integers.')
    parser.add_argument('--filename', '-f', dest='filename', action='store', type=str,
            default='slhas/test.slha', help='slha file name')

    return parser.parse_args()

if __name__=="__main__" :
    args=parse_args()
    filename=args.filename
    slhafile=SLHA()
    lookup=slhafile.get_lookup()
    slhafile.read(filename)
    oids=[oid for oid in lookup.keys() if isinstance(oid,tuple)]
    extpars=([oid for oid in oids if oid[0]=='EXTPAR'])
#    print(slhafile[('MASS', 'Mh0')])
#    slhafile.read(filename)
#    for v in slhafile.data:
#        print(v)
#    cProfile.run('slhafile=SLHA();slhafile.read(filename)')
#    lookup=slhafile.get_lookup()
    

#    slhafile[('SMINPUTS','Mt')]=1.
#    print(slhafile[('SMINPUTS','Mt')])
#    slhafile2=SLHA(lookup=lookup)
#    slhafile2.read(filename)
#    cProfile.run('slhafile2=SLHA(lookup=lookup);slhafile2.read(filename)')