hlr: Use python module instead of cmdline to modify sqlite db
Change-Id: I94a294c37f361a666064094455c9a1e1399fdfc7
This commit is contained in:
parent
e1a26224e7
commit
6610dfe0f5
|
@ -23,5 +23,6 @@ import time
|
||||||
import traceback
|
import traceback
|
||||||
import yaml
|
import yaml
|
||||||
import pydbus
|
import pydbus
|
||||||
|
import sqlite3
|
||||||
|
|
||||||
print('dependencies ok')
|
print('dependencies ok')
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import pprint
|
import pprint
|
||||||
|
import sqlite3
|
||||||
|
|
||||||
from . import log, util, config, template, process, osmo_ctrl, pcap_recorder
|
from . import log, util, config, template, process, osmo_ctrl, pcap_recorder
|
||||||
|
|
||||||
|
@ -107,16 +108,6 @@ class OsmoHlr(log.Origin):
|
||||||
log.ctx(proc)
|
log.ctx(proc)
|
||||||
raise log.Error('Exited in error')
|
raise log.Error('Exited in error')
|
||||||
|
|
||||||
def run_sql_file(self, name, sql_file):
|
|
||||||
self.run_local(name, ('/bin/sh', '-c', 'sqlite3 %r < %r' % (self.db_file, sql_file)))
|
|
||||||
|
|
||||||
def run_sql(self, name, sql):
|
|
||||||
self.dbg('SQL:', repr(sql))
|
|
||||||
sql_file = self.run_dir.new_file(name + '.sql')
|
|
||||||
with open(sql_file, 'w') as f:
|
|
||||||
f.write(sql)
|
|
||||||
self.run_sql_file(name, sql_file)
|
|
||||||
|
|
||||||
def subscriber_add(self, modem, msisdn=None, algo=None):
|
def subscriber_add(self, modem, msisdn=None, algo=None):
|
||||||
if msisdn is None:
|
if msisdn is None:
|
||||||
msisdn = self.suite_run.resources_pool.next_msisdn(modem)
|
msisdn = self.suite_run.resources_pool.next_msisdn(modem)
|
||||||
|
@ -126,12 +117,16 @@ class OsmoHlr(log.Origin):
|
||||||
if not algo:
|
if not algo:
|
||||||
algo = self.AUTH_ALGO_COMP128v1 if modem.ki() else self.AUTH_ALGO_NONE
|
algo = self.AUTH_ALGO_COMP128v1 if modem.ki() else self.AUTH_ALGO_NONE
|
||||||
self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, algo=algo)
|
self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi(), subscriber_id=subscriber_id, algo=algo)
|
||||||
self.run_sql('add_subscriber',
|
conn = sqlite3.connect(self.db_file)
|
||||||
'insert into subscriber (id, imsi, msisdn) values (%r, %r, %r);'
|
try:
|
||||||
% (subscriber_id, modem.imsi(), modem.msisdn))
|
c = conn.cursor()
|
||||||
self.run_sql('add_subscriber',
|
c.execute('insert into subscriber (id, imsi, msisdn) values (?, ?, ?)',
|
||||||
'insert into auc_2g (subscriber_id, algo_id_2g, ki) values (%r, %r, %r);'
|
(subscriber_id, modem.imsi(), modem.msisdn,))
|
||||||
% (subscriber_id, algo, modem.ki()))
|
c.execute('insert into auc_2g (subscriber_id, algo_id_2g, ki) values (?, ?, ?)',
|
||||||
|
(subscriber_id, algo, modem.ki(),))
|
||||||
|
conn.commit()
|
||||||
|
finally:
|
||||||
|
conn.close()
|
||||||
return subscriber_id
|
return subscriber_id
|
||||||
|
|
||||||
def conf_for_msc(self):
|
def conf_for_msc(self):
|
||||||
|
|
Loading…
Reference in New Issue