mirror of https://github.com/sipwise/kamailio.git
Change-Id: I214959c0721263c3577e575938067091e1ce328bchanges/54/39854/1
parent
00e482f661
commit
158fae28f5
@ -1,35 +0,0 @@
|
||||
--- a/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
+++ b/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
@@ -993,12 +993,12 @@
|
||||
try:
|
||||
if val:
|
||||
val = eval(val)
|
||||
- except (NameError, e):
|
||||
+ except NameError as e:
|
||||
raise ExecuteError('Failed to parse %s in %s '
|
||||
'(unable to convert to type %s): %s' %
|
||||
(col, self.table, self.header[col]['type'],
|
||||
e))
|
||||
- except (SyntaxError, e):
|
||||
+ except SyntaxError as e:
|
||||
raise ExecuteError('Failed to parse %s in %s '
|
||||
'(unable to convert to type %s): %s' %
|
||||
(col, self.table, self.header[col]['type'],
|
||||
@@ -1083,7 +1083,7 @@
|
||||
# save a copy of the data before modifying
|
||||
self.orig_data = self.data[:]
|
||||
|
||||
- except (IOError, e):
|
||||
+ except IOError as e:
|
||||
raise ExecuteError('Unable to open table %s: %s' % (self.table, e))
|
||||
|
||||
Debug('Header is: %s' % self.header)
|
||||
@@ -1230,7 +1230,7 @@
|
||||
print('Updated %s, rows affected: %d' % (conn.table, row))
|
||||
else:
|
||||
print(row)
|
||||
- except (Error, e):
|
||||
+ except Error as e:
|
||||
print(e)
|
||||
sys.exit(1)
|
||||
|
||||
@ -0,0 +1,241 @@
|
||||
From 5a90c8bc600fe9a93a5ce4f828ce50f3bf532b99 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Seva <linuxmaniac@torreviejawireless.org>
|
||||
Date: Mon, 4 May 2020 15:05:23 +0200
|
||||
Subject: [PATCH] utils/kamctl: dbtextdb remove DeprecationWarning on test
|
||||
|
||||
related #1747
|
||||
|
||||
(cherry picked from commit 765efa80c7d27e9447bc1ad8a354ee24723580ef)
|
||||
---
|
||||
utils/kamctl/dbtextdb/dbtextdb_test.py | 120 ++++++++++++-------------
|
||||
1 file changed, 60 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/utils/kamctl/dbtextdb/dbtextdb_test.py b/utils/kamctl/dbtextdb/dbtextdb_test.py
|
||||
index ecbab06742..54ce274c72 100644
|
||||
--- a/utils/kamctl/dbtextdb/dbtextdb_test.py
|
||||
+++ b/utils/kamctl/dbtextdb/dbtextdb_test.py
|
||||
@@ -8,8 +8,8 @@ __author__ = 'herman@google.com (Herman Sheremetyev)'
|
||||
|
||||
import time
|
||||
import unittest
|
||||
-from dbtextdb import *
|
||||
-
|
||||
+from dbtextdb import DBText
|
||||
+from dbtextdb import ParseError, ExecuteError
|
||||
|
||||
class DBTextTest(unittest.TestCase):
|
||||
|
||||
@@ -25,28 +25,28 @@ class DBTextTest(unittest.TestCase):
|
||||
# normal query
|
||||
query_normal = 'select * from subscriber;'
|
||||
db_conn.ParseQuery(query_normal)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
- self.assert_(db_conn.columns == ['*'])
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
+ self.assertEqual(db_conn.columns, ['*'])
|
||||
db_conn.CleanUp()
|
||||
# normal query with condition
|
||||
query_normal_cond = 'select * from subscriber where column="value";'
|
||||
db_conn.ParseQuery(query_normal_cond)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
- self.assert_(db_conn.columns == ['*'])
|
||||
- self.assert_(db_conn.strings == ['value'])
|
||||
- self.assert_(not db_conn.count)
|
||||
- self.assert_(db_conn.conditions == {'column': 'value'})
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
+ self.assertEqual(db_conn.columns, ['*'])
|
||||
+ self.assertEqual(db_conn.strings, ['value'])
|
||||
+ self.assertTrue(not db_conn.count)
|
||||
+ self.assertEqual(db_conn.conditions, {'column': 'value'})
|
||||
db_conn.CleanUp()
|
||||
# normal query with multiple conditions
|
||||
query_normal_cond = ('select * from subscriber where column="value1" and '
|
||||
'col2=" another value " and col3= foo and a="";')
|
||||
db_conn.ParseQuery(query_normal_cond)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
- self.assert_(db_conn.columns == ['*'])
|
||||
- self.assert_(db_conn.strings == ['value1', ' another value ', ''])
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
+ self.assertEqual(db_conn.columns, ['*'])
|
||||
+ self.assertEqual(db_conn.strings, ['value1', ' another value ', ''])
|
||||
self.assertEqual(db_conn.conditions, {'column': 'value1',
|
||||
'col2': ' another value ',
|
||||
'col3': 'foo', 'a': ''})
|
||||
@@ -54,49 +54,49 @@ class DBTextTest(unittest.TestCase):
|
||||
# normal query with count
|
||||
query_normal_count = 'select count(*) from subscriber;'
|
||||
db_conn.ParseQuery(query_normal_count)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
- self.assert_(db_conn.columns == ['*'])
|
||||
- self.assert_(db_conn.count == True)
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
+ self.assertEqual(db_conn.columns, ['*'])
|
||||
+ self.assertEqual(db_conn.count, True)
|
||||
db_conn.CleanUp()
|
||||
# normal query with now()
|
||||
query_normal_count = 'select count(*) from subscriber where time=now();'
|
||||
db_conn.ParseQuery(query_normal_count)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
- self.assert_(db_conn.columns == ['*'])
|
||||
- self.assert_(db_conn.count == True)
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
+ self.assertEqual(db_conn.columns, ['*'])
|
||||
+ self.assertEqual(db_conn.count, True)
|
||||
self.assertEqual(db_conn.conditions, {'time': self.time_now})
|
||||
db_conn.CleanUp()
|
||||
# normal delete query
|
||||
query_normal_delete = 'delete from subscriber where foo = 2;'
|
||||
db_conn.ParseQuery(query_normal_delete)
|
||||
- self.assert_(db_conn.command == 'DELETE')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
+ self.assertEqual(db_conn.command, 'DELETE')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
self.assertEqual(db_conn.conditions, {'foo': '2'})
|
||||
db_conn.CleanUp()
|
||||
# normal insert values query with no into
|
||||
query_normal_insert_values = ('insert subscriber (col1, col2, col3) '
|
||||
'values (1, "foo", "");')
|
||||
db_conn.ParseQuery(query_normal_insert_values)
|
||||
- self.assert_(db_conn.command == 'INSERT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
+ self.assertEqual(db_conn.command, 'INSERT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
self.assertEqual(db_conn.targets, {'col1': '1', 'col2': 'foo', 'col3': ''})
|
||||
db_conn.CleanUp()
|
||||
# normal insert values query with into
|
||||
query_normal_insert_into_values = ('insert into subscriber (col1, col2) '
|
||||
'values (1, "foo");')
|
||||
db_conn.ParseQuery(query_normal_insert_into_values)
|
||||
- self.assert_(db_conn.command == 'INSERT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
+ self.assertEqual(db_conn.command, 'INSERT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
self.assertEqual(db_conn.targets, {'col1': '1', 'col2': 'foo'})
|
||||
db_conn.CleanUp()
|
||||
# normal insert values query with now()
|
||||
query_normal_insert_into_values = ('insert into subscriber (a, b, c) '
|
||||
'values (NOW(), "foo", now());')
|
||||
db_conn.ParseQuery(query_normal_insert_into_values)
|
||||
- self.assert_(db_conn.command == 'INSERT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
+ self.assertEqual(db_conn.command, 'INSERT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
self.assertEqual(db_conn.targets, {'a': self.time_now, 'b': 'foo',
|
||||
'c': self.time_now})
|
||||
db_conn.CleanUp()
|
||||
@@ -157,23 +157,23 @@ class DBTextTest(unittest.TestCase):
|
||||
# normal insert set query with no into
|
||||
query_normal_insert_set = ('insert subscriber set col= 1, col2 ="\'f\'b";')
|
||||
db_conn.ParseQuery(query_normal_insert_set)
|
||||
- self.assert_(db_conn.command == 'INSERT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
+ self.assertEqual(db_conn.command, 'INSERT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
self.assertEqual(db_conn.targets, {'col': '1', 'col2': '\'f\'b'})
|
||||
db_conn.CleanUp()
|
||||
# normal update
|
||||
query_normal_update = ('update subscriber set col1= 1, col2 ="foo";')
|
||||
db_conn.ParseQuery(query_normal_update)
|
||||
- self.assert_(db_conn.command == 'UPDATE')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
+ self.assertEqual(db_conn.command, 'UPDATE')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
self.assertEqual(db_conn.targets, {'col1': '1', 'col2': 'foo'})
|
||||
db_conn.CleanUp()
|
||||
# normal update with condition
|
||||
query_normal_update_cond = ('update subscriber set col1= 1, col2 ="foo" '
|
||||
'where foo = "bar" and id=1 and a="";')
|
||||
db_conn.ParseQuery(query_normal_update_cond)
|
||||
- self.assert_(db_conn.command == 'UPDATE')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
+ self.assertEqual(db_conn.command, 'UPDATE')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
self.assertEqual(db_conn.targets, {'col1': '1', 'col2': 'foo'})
|
||||
self.assertEqual(db_conn.conditions, {'foo': 'bar', 'id': '1', 'a': ''})
|
||||
db_conn.CleanUp()
|
||||
@@ -220,49 +220,49 @@ class DBTextTest(unittest.TestCase):
|
||||
# normal query with multiple columns
|
||||
query_normal_count = 'select col1, "col 2",col3 , "col4" from subscriber;'
|
||||
db_conn.ParseQuery(query_normal_count)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
- self.assert_(db_conn.strings == ['col 2', 'col4'])
|
||||
- self.assert_(db_conn.columns == ['col1', "'col 2'", 'col3', "'col4'"])
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
+ self.assertEqual(db_conn.strings, ['col 2', 'col4'])
|
||||
+ self.assertEqual(db_conn.columns, ['col1', "'col 2'", 'col3', "'col4'"])
|
||||
db_conn.CleanUp()
|
||||
# normal query with ORDER BY
|
||||
query_normal_order_by = ('select col1, col2 from test'
|
||||
' ORDER by col1;')
|
||||
db_conn.ParseQuery(query_normal_order_by)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'test')
|
||||
- self.assert_(db_conn.columns == ['col1', 'col2'])
|
||||
- self.assert_(db_conn.order_by == 'col1')
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'test')
|
||||
+ self.assertEqual(db_conn.columns, ['col1', 'col2'])
|
||||
+ self.assertEqual(db_conn.order_by, 'col1')
|
||||
db_conn.CleanUp()
|
||||
# normal query with ORDER BY with conditions
|
||||
query_normal_order_by_cond = ('select col1, col2 from test where col="asdf"'
|
||||
' and col2 = "foo" ORDER by col;')
|
||||
db_conn.ParseQuery(query_normal_order_by_cond)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'test')
|
||||
- self.assert_(db_conn.columns == ['col1', 'col2'])
|
||||
- self.assert_(db_conn.conditions == {'col': 'asdf', 'col2': 'foo'})
|
||||
- self.assert_(db_conn.order_by == 'col')
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'test')
|
||||
+ self.assertEqual(db_conn.columns, ['col1', 'col2'])
|
||||
+ self.assertEqual(db_conn.conditions, {'col': 'asdf', 'col2': 'foo'})
|
||||
+ self.assertEqual(db_conn.order_by, 'col')
|
||||
db_conn.CleanUp()
|
||||
# normal query with CONCAT
|
||||
query_normal_concat = ('select concat(uname,"@", domain) as email_addr '
|
||||
'from subscriber where id=3;')
|
||||
db_conn.ParseQuery(query_normal_concat)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'subscriber')
|
||||
- self.assert_(db_conn.columns == ['email_addr'])
|
||||
- self.assert_(db_conn.conditions == {'id': '3'})
|
||||
- self.assert_(db_conn.aliases == {'email_addr': ['uname', "'@'", 'domain']})
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'subscriber')
|
||||
+ self.assertEqual(db_conn.columns, ['email_addr'])
|
||||
+ self.assertEqual(db_conn.conditions, {'id': '3'})
|
||||
+ self.assertEqual(db_conn.aliases, {'email_addr': ['uname', "'@'", 'domain']})
|
||||
db_conn.CleanUp()
|
||||
# normal query with multiple CONCAT
|
||||
query_normal_mult_concat = ('select concat(uname,"@", domain) as email,'
|
||||
' foo as "bar" from table where id=3;')
|
||||
db_conn.ParseQuery(query_normal_mult_concat)
|
||||
- self.assert_(db_conn.command == 'SELECT')
|
||||
- self.assert_(db_conn.table == 'table')
|
||||
- self.assert_(db_conn.columns == ['email', "'bar'"])
|
||||
- self.assert_(db_conn.conditions == {'id': '3'})
|
||||
- self.assert_(db_conn.aliases == {"'bar'": ['foo'],
|
||||
+ self.assertEqual(db_conn.command, 'SELECT')
|
||||
+ self.assertEqual(db_conn.table, 'table')
|
||||
+ self.assertEqual(db_conn.columns, ['email', "'bar'"])
|
||||
+ self.assertEqual(db_conn.conditions, {'id': '3'})
|
||||
+ self.assertTrue(db_conn.aliases == {"'bar'": ['foo'],
|
||||
'email': ['uname', "'@'", 'domain']})
|
||||
db_conn.CleanUp()
|
||||
# bad query with CONCAT missing AS
|
||||
--
|
||||
2.26.2
|
||||
|
||||
@ -0,0 +1,39 @@
|
||||
From e26e587f31eb23c431a2cfb149ec7a86b4f648bc Mon Sep 17 00:00:00 2001
|
||||
From: Victor Seva <linuxmaniac@torreviejawireless.org>
|
||||
Date: Mon, 4 May 2020 15:22:36 +0200
|
||||
Subject: [PATCH] utils/kamctl: dbtextdb.py close previous opened file properly
|
||||
|
||||
related #1747
|
||||
|
||||
(cherry picked from commit 5f52f9905bbdf63d636080f7d0340af4f71ed12a)
|
||||
---
|
||||
utils/kamctl/dbtextdb/dbtextdb.py | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/utils/kamctl/dbtextdb/dbtextdb.py b/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
index 7e1de04687..581496c309 100755
|
||||
--- a/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
+++ b/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
@@ -60,6 +60,10 @@ class DBText(object):
|
||||
if not os.path.isdir(location):
|
||||
raise ParseError(location + ' is not a directory')
|
||||
|
||||
+ def __del__(self):
|
||||
+ if getattr(self, 'fd', False):
|
||||
+ self.fd.close()
|
||||
+
|
||||
def _ParseOrderBy(self):
|
||||
"""Parse out the column name to be used for ordering the dataset.
|
||||
|
||||
@@ -438,6 +442,8 @@ class DBText(object):
|
||||
self.command = '' # which command are we executing
|
||||
self.strings = [] # list of string literals parsed from the query
|
||||
self.parens = [] # list of parentheses parsed from the query
|
||||
+ if getattr(self, 'fd', False):
|
||||
+ self.fd.close()
|
||||
|
||||
def ParseQuery(self, query):
|
||||
"""External wrapper for the query parsing routines.
|
||||
--
|
||||
2.26.2
|
||||
|
||||
@ -0,0 +1,89 @@
|
||||
From c4dd3218e6b723c688762a5c4253fa70f3f588bc Mon Sep 17 00:00:00 2001
|
||||
From: Victor Seva <linuxmaniac@torreviejawireless.org>
|
||||
Date: Mon, 4 May 2020 14:01:33 +0200
|
||||
Subject: [PATCH] utils/kamctl: fix dbtestdb
|
||||
|
||||
some indentantion errors introduced at https://github.com/kamailio/kamailio/commit/bc8bdcaa726f375f6deea8228a1ab0cf97c67035
|
||||
|
||||
related #1747
|
||||
|
||||
(cherry picked from commit b722a48144ac9e029bdbc2968dedbe56966a3f7c)
|
||||
---
|
||||
utils/kamctl/dbtextdb/dbtextdb.py | 38 +++++++++++++++----------------
|
||||
1 file changed, 19 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/utils/kamctl/dbtextdb/dbtextdb.py b/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
index 3d5ee7ecc5..7e1de04687 100755
|
||||
--- a/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
+++ b/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
@@ -146,11 +146,11 @@ class DBText(object):
|
||||
# check if there is a function modifier on the columns
|
||||
if self.tokens[0] == 'COUNT':
|
||||
self.count = True
|
||||
- if col_end == 1:
|
||||
- raise ParseError('COUNT must be followed by column name[s]')
|
||||
- if not self.tokens[1].startswith(self._paren_placeholder):
|
||||
- raise ParseError('COUNT must be followed by ()')
|
||||
- cols_str = self._ReplaceParens(self.tokens[1])
|
||||
+ if col_end == 1:
|
||||
+ raise ParseError('COUNT must be followed by column name[s]')
|
||||
+ if not self.tokens[1].startswith(self._paren_placeholder):
|
||||
+ raise ParseError('COUNT must be followed by ()')
|
||||
+ cols_str = self._ReplaceParens(self.tokens[1])
|
||||
|
||||
cols = cols_str.split(',')
|
||||
for col in cols:
|
||||
@@ -300,7 +300,7 @@ class DBText(object):
|
||||
if self.tokens.pop(0) != 'SET':
|
||||
raise ParseError('UPDATE command must be followed by SET')
|
||||
|
||||
- self.targets = self._ParsePairs(' '.join(self.tokens), ',')
|
||||
+ self.targets = self._ParsePairs(' '.join(self.tokens), ',')
|
||||
|
||||
# INSERT
|
||||
if self.command == 'INSERT':
|
||||
@@ -570,19 +570,19 @@ class DBText(object):
|
||||
string = '%s%s' % (string, c)
|
||||
continue # wait for matching delim
|
||||
|
||||
- started -= 1
|
||||
- if not started:
|
||||
- values.append(string)
|
||||
- new_args = '%s %s' % (new_args, '%s%d' % (placeholder,
|
||||
- my_id))
|
||||
- my_id += 1
|
||||
- string = ''
|
||||
+ started -= 1
|
||||
+ if not started:
|
||||
+ values.append(string)
|
||||
+ new_args = '%s %s' % (new_args, '%s%d' % (placeholder,
|
||||
+ my_id))
|
||||
+ my_id += 1
|
||||
+ string = ''
|
||||
|
||||
- else:
|
||||
- if not started:
|
||||
- new_args = '%s%s' % (new_args, c)
|
||||
else:
|
||||
- string = '%s%s' % (string, c)
|
||||
+ if not started:
|
||||
+ new_args = '%s%s' % (new_args, c)
|
||||
+ else:
|
||||
+ string = '%s%s' % (string, c)
|
||||
|
||||
if started:
|
||||
if mode == 'parens':
|
||||
@@ -714,8 +714,8 @@ class DBText(object):
|
||||
elif self.header[col]['auto']:
|
||||
new_row[col] = self._GetNextAuto(col)
|
||||
|
||||
- else:
|
||||
- raise ExecuteError(col + ' cannot be empty or null')
|
||||
+ else:
|
||||
+ raise ExecuteError(col + ' cannot be empty or null')
|
||||
|
||||
self.data.append(new_row)
|
||||
return [1]
|
||||
--
|
||||
2.26.2
|
||||
|
||||
@ -0,0 +1,88 @@
|
||||
From 5f6f4331811e654e75b49263f8fb823bea9874a3 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Seva <linuxmaniac@torreviejawireless.org>
|
||||
Date: Mon, 4 May 2020 11:33:12 +0200
|
||||
Subject: [PATCH] utils/kamctl: fix handling of Exceptions
|
||||
|
||||
> Traceback (most recent call last):
|
||||
> File "/usr/lib/x86_64-linux-gnu/kamailio/kamctl/dbtextdb/dbtextdb.py", line 1239, in <module>
|
||||
> main(sys.argv)
|
||||
> File "/usr/lib/x86_64-linux-gnu/kamailio/kamctl/dbtextdb/dbtextdb.py", line 1233, in main
|
||||
> except (Error, e):
|
||||
> NameError: name 'e' is not defined
|
||||
|
||||
(cherry picked from commit 1aca79c43cb8dbd920c1eb81c0c30cf89f0985b9)
|
||||
---
|
||||
utils/kamctl/dbtextdb/dbtextdb.py | 22 ++++++++++------------
|
||||
1 file changed, 10 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/utils/kamctl/dbtextdb/dbtextdb.py b/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
index 3a35554013..3d5ee7ecc5 100755
|
||||
--- a/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
+++ b/utils/kamctl/dbtextdb/dbtextdb.py
|
||||
@@ -356,7 +356,7 @@ class DBText(object):
|
||||
# test that the value is string, if not return it as is
|
||||
try:
|
||||
value.find('a')
|
||||
- except:
|
||||
+ except Exception:
|
||||
return value
|
||||
|
||||
escaped = value
|
||||
@@ -377,7 +377,7 @@ class DBText(object):
|
||||
# test that the value is string, if not return it as is
|
||||
try:
|
||||
value.find('a')
|
||||
- except:
|
||||
+ except Exception:
|
||||
return value
|
||||
|
||||
escaped = value
|
||||
@@ -988,21 +988,19 @@ class DBText(object):
|
||||
if not val and not self.header[col]['null']:
|
||||
raise ExecuteError(col + ' cannot be empty or null')
|
||||
|
||||
- if (self.header[col]['type'].lower() == 'int' or
|
||||
- self.header[col]['type'].lower() == 'double'):
|
||||
+ hdr_t = self.header[col]['type'].lower()
|
||||
+ if hdr_t == 'int' or hdr_t == 'double':
|
||||
try:
|
||||
if val:
|
||||
val = eval(val)
|
||||
- except (NameError, e):
|
||||
+ except NameError as e:
|
||||
raise ExecuteError('Failed to parse %s in %s '
|
||||
'(unable to convert to type %s): %s' %
|
||||
- (col, self.table, self.header[col]['type'],
|
||||
- e))
|
||||
- except (SyntaxError, e):
|
||||
+ (col, self.table, hdr_t, e))
|
||||
+ except SyntaxError as e:
|
||||
raise ExecuteError('Failed to parse %s in %s '
|
||||
'(unable to convert to type %s): %s' %
|
||||
- (col, self.table, self.header[col]['type'],
|
||||
- e))
|
||||
+ (col, self.table, hdr_t, e))
|
||||
|
||||
return val
|
||||
|
||||
@@ -1083,7 +1081,7 @@ class DBText(object):
|
||||
# save a copy of the data before modifying
|
||||
self.orig_data = self.data[:]
|
||||
|
||||
- except (IOError, e):
|
||||
+ except IOError as e:
|
||||
raise ExecuteError('Unable to open table %s: %s' % (self.table, e))
|
||||
|
||||
Debug('Header is: %s' % self.header)
|
||||
@@ -1230,7 +1228,7 @@ def main(argv):
|
||||
print('Updated %s, rows affected: %d' % (conn.table, row))
|
||||
else:
|
||||
print(row)
|
||||
- except (Error, e):
|
||||
+ except Error as e:
|
||||
print(e)
|
||||
sys.exit(1)
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
||||
Loading…
Reference in new issue