diff --git a/pySim-prog.py b/pySim-prog.py index ce67dbd3..d673dba8 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -394,7 +394,7 @@ def write_params_csv(opts, params): cw.writerow([params[x] for x in row]) f.close() -def read_params_csv(opts, imsi): +def _read_params_csv(opts, imsi): import csv row = ['name', 'iccid', 'mcc', 'mnc', 'imsi', 'smsp', 'ki', 'opc'] f = open(opts.read_csv, 'r') @@ -402,19 +402,25 @@ def read_params_csv(opts, imsi): i = 0 for row in cr: if opts.num is not None: - i += 1 if opts.num == i: - break + f.close() + return row; + i += 1 if row['imsi'] == imsi: - break - - if row: - row['mcc'] = int(row['mcc']) - row['mnc'] = int(row['mnc']) + f.close() + return row; f.close() + return None + +def read_params_csv(opts, imsi): + row = _read_params_csv(opts, imsi) + if row is not None: + row['mcc'] = int(row['mcc']) + row['mnc'] = int(row['mnc']) return row + def write_params_hlr(opts, params): # SQLite3 OpenBSC HLR if opts.write_hlr: