[MERGED] osmo-gsm-tester[master]: hlr: Use python module instead of cmdline to modify sqlite db

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Thu Aug 24 16:39:15 UTC 2017


Pau Espin Pedrol has submitted this change and it was merged.

Change subject: hlr: Use python module instead of cmdline to modify sqlite db
......................................................................


hlr: Use python module instead of cmdline to modify sqlite db

Change-Id: I94a294c37f361a666064094455c9a1e1399fdfc7
---
M check_dependencies.py
M src/osmo_gsm_tester/osmo_hlr.py
2 files changed, 12 insertions(+), 16 deletions(-)

Approvals:
  Pau Espin Pedrol: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/check_dependencies.py b/check_dependencies.py
index 2c9e5c3..d9b857c 100755
--- a/check_dependencies.py
+++ b/check_dependencies.py
@@ -23,5 +23,6 @@
 import traceback
 import yaml
 import pydbus
+import sqlite3
 
 print('dependencies ok')
diff --git a/src/osmo_gsm_tester/osmo_hlr.py b/src/osmo_gsm_tester/osmo_hlr.py
index fbcd43e..16548ad 100644
--- a/src/osmo_gsm_tester/osmo_hlr.py
+++ b/src/osmo_gsm_tester/osmo_hlr.py
@@ -20,6 +20,7 @@
 import os
 import re
 import pprint
+import sqlite3
 
 from . import log, util, config, template, process, osmo_ctrl, pcap_recorder
 
@@ -107,16 +108,6 @@
             log.ctx(proc)
             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):
         if msisdn is None:
             msisdn = self.suite_run.resources_pool.next_msisdn(modem)
@@ -126,12 +117,16 @@
         if not algo:
             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.run_sql('add_subscriber',
-            'insert into subscriber (id, imsi, msisdn) values (%r, %r, %r);'
-            % (subscriber_id, modem.imsi(), modem.msisdn))
-        self.run_sql('add_subscriber',
-            'insert into auc_2g (subscriber_id, algo_id_2g, ki) values (%r, %r, %r);'
-            % (subscriber_id, algo, modem.ki()))
+        conn = sqlite3.connect(self.db_file)
+        try:
+            c = conn.cursor()
+            c.execute('insert into subscriber (id, imsi, msisdn) values (?, ?, ?)',
+                        (subscriber_id, modem.imsi(), modem.msisdn,))
+            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
 
     def conf_for_msc(self):

-- 
To view, visit https://gerrit.osmocom.org/3592
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I94a294c37f361a666064094455c9a1e1399fdfc7
Gerrit-PatchSet: 1
Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list