From c26b82939fc7c699d1a65459603255ad93a56556 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 15 Aug 2012 15:25:51 +0200 Subject: 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' --- pySim-prog.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/pySim-prog.py b/pySim-prog.py index ab18b12..d397e17 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -410,7 +410,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') @@ -418,19 +418,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: -- cgit v1.2.3