diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-08-15 15:25:51 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-08-15 15:25:51 +0200 |
commit | 69c2ce2525f1d5d8ad53d438a7a5bd433e496cce (patch) | |
tree | c2c986b4e0759e8a015847db97133bb3da956318 | |
parent | 8b59a554887205271e7cb7d09788b8a040b8dcf2 (diff) |
read_params_csv: Make sure we don't end up in endless loop
as a side effect, the first line is now specified with '-j 0'
and not '-j 1'
-rwxr-xr-x | pySim-prog.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/pySim-prog.py b/pySim-prog.py index ce67dbd..d673dba 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 + f.close() + return row; + + f.close() + return None - if row: +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']) - - f.close() return row + def write_params_hlr(opts, params): # SQLite3 OpenBSC HLR if opts.write_hlr: |