[SR-Users] kamcli db sqlite / posgresql error
beer Ll
llcfhllml at gmail.com
Thu Apr 22 10:25:20 CEST 2021
Hi
my kamcli.ini is
(venv) kamailio-BT:/usr/src/kamclienv # cat kamcli.ini.sqlite
### main options
[main]
; SIP domain to be used when an AoR has no domain
domain=sip.test.dev
### database connectivity - URLs are used for SQL Alchemy
[db]
type=sqlite
driver=pysqlite
dbpath=/etc/kamailio/kamailio.db
...
rwurl=%(type)s+%(driver)s:///%(dbpath)s
rourl=%(type)s+%(driver)s:///%(dbpath)s
adminurl=%(type)s+%(driver)s:///%(dbpath)s
scriptsdirectory=/usr/local/share/kamailio/db_sqlite
; outformat - the format to print database result
; - can be: table, json, yaml, dict or raw
outformat=table
; outstyle - the style to print database result with tabulate package
; - default: grid
# outstyle=grid
....
(venv) kamailio-BT:/usr/src/kamclienv # kamcli -c kamcli.ini.sqlite
subscriber show
Traceback (most recent call last):
File "/usr/src/kamclienv/venv/bin/kamcli", line 33, in <module>
sys.exit(load_entry_point('kamcli', 'console_scripts', 'kamcli')())
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py",
line 829, in __call__
return self.main(*args, **kwargs)
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py",
line 782, in main
rv = self.invoke(ctx)
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py",
line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py",
line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py",
line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py",
line 610, in invoke
return callback(*args, **kwargs)
File
"/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/decorators.py",
line 73, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py",
line 610, in invoke
return callback(*args, **kwargs)
File "/usr/src/kamclienv/kamcli/kamcli/commands/cmd_subscriber.py", line
235, in subscriber_show
ioutils_dbres_print(ctx, oformat, ostyle, res)
File "/usr/src/kamclienv/kamcli/kamcli/ioutils.py", line 70, in
ioutils_dbres_print
gstring = tabulate(allrows, headers=res.keys(), tablefmt=ostyle)
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/tabulate.py",
line 1529, in tabulate
tabular_data, headers, showindex=showindex
File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/tabulate.py",
line 1162, in _normalize_tabular_data
"headers for a list of dicts is not a dict or a keyword"
ValueError: headers for a list of dicts is not a dict or a keyword
On Thu, Apr 22, 2021 at 9:41 AM Daniel-Constantin Mierla <miconda at gmail.com>
wrote:
> Hello,
>
> The outstyle configuration option is for kamcli, inside kamcli.ini file.
>
> I just tested with sqlite and empty subscriber table:
>
> # kamcli -c ../kamcli-sqlite.ini subscriber show
>
> +------+------------+----------+------------+-------+--------+
> | id | username | domain | password | ha1 | ha1b |
> +======+============+==========+============+=======+========+
> +------+------------+----------+------------+-------+--------+
>
> Added a user:
>
> kamcli -c ../kamcli-sqlite.ini subscriber add test password
>
> Then listed:
>
> kamcli -c ../kamcli-sqlite.ini subscriber show
>
>
> +------+------------+----------+------------+----------------------------------+----------------------------------+
> | id | username | domain | password |
> ha1 | ha1b |
>
> +======+============+==========+============+==================================+==================================+
> | 1 | test | test.com | password |
> 30e725cfc53ca50516be2e230edf53da | a04fcbbe67702c59dc46fe4779183fe5 |
>
> +------+------------+----------+------------+----------------------------------+----------------------------------+
>
> I have tabulate 0.8.5 running on Debian 10, kamcli in virtual environment.
>
> Cheers,
> Daniel
>
> On 22.04.21 09:25, beer Ll wrote:
>
> Hi Daniel
>
>
> On Thu, Apr 22, 2021 at 8:57 AM Daniel-Constantin Mierla <
> miconda at gmail.com> wrote:
>
>> Hello,
>>
>> at least some of the new errors are not the same, they are related to
>> unique key conflict, see the bottom of the traces:
>>
>> sqlite3.IntegrityError: UNIQUE constraint failed: subscriber.username,
>> subscriber.domain
>>
>> sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint
>> failed: subscriber.username, subscriber.domain
>> [SQL: insert into subscriber (username, domain, password, ha1, ha1b)
>> values ('test', 'sip.test.dev', 'passwordtest',
>> '96a1efd95bcd6e8e573d07ebdacab623', '025f1dc363fa8c1ce1d7f2069d94ed0f')]
>>
>> Regarding the subscriber show command, do you have any outstyle
>> configuration option set?
>>
>> What is the version of your tabulate package?
>>
>
> sqlite> .show
> echo: off
> eqp: off
> explain: auto
> headers: off
> mode: list
> nullvalue: ""
> output: stdout
> colseparator: "|"
> rowseparator: "\n"
> stats: off
> width:
> filename: /etc/kamailio/kamailio.db
>
> (venv) kamailio-BT:/usr/src/kamclienv # pip3 show tabulate
> Name: tabulate
> Version: 0.8.9
> Summary: Pretty-print tabular data
> Home-page: https://github.com/astanin/python-tabulate
> Author: Sergey Astanin
> Author-email: s.astanin at gmail.com
> License: MIT
> Location: /usr/src/kamclienv/venv/lib/python3.7/site-packages
> Requires:
> Required-by: kamcli
>
>
> regards
>
>
>> Cheers,
>> Daniel
>> On 21.04.21 23:24, beer Ll wrote:
>>
>> Hi Daniel
>> many thanks for yours commits in git kamcli.
>>
>> I try the new version but my errors are the same
>>
>> (venv) kamailio-BT:/usr/src/kamclienv/kamcli # kamcli -c
>> /etc/kamcli/kamcli.ini.sqlite subscriber show
>> Traceback (most recent call last):
>> File "/usr/src/kamclienv/venv/bin/kamcli", line 33, in <module>
>> sys.exit(load_entry_point('kamcli', 'console_scripts', 'kamcli')())
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 829, in __call__
>> return self.main(*args, **kwargs)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 782, in main
>> rv = self.invoke(ctx)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 1259, in invoke
>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 1259, in invoke
>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 1066, in invoke
>> return ctx.invoke(self.callback, **ctx.params)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 610, in invoke
>> return callback(*args, **kwargs)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/decorators.py",
>> line 73, in new_func
>> return ctx.invoke(f, obj, *args, **kwargs)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 610, in invoke
>> return callback(*args, **kwargs)
>> File "/usr/src/kamclienv/kamcli/kamcli/commands/cmd_subscriber.py",
>> line 235, in subscriber_show
>> ioutils_dbres_print(ctx, oformat, ostyle, res)
>> File "/usr/src/kamclienv/kamcli/kamcli/ioutils.py", line 70, in
>> ioutils_dbres_print
>> gstring = tabulate(allrows, headers=res.keys(), tablefmt=ostyle)
>> File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/tabulate.py",
>> line 1529, in tabulate
>> tabular_data, headers, showindex=showindex
>> File "/usr/src/kamclienv/venv/lib/python3.7/site-packages/tabulate.py",
>> line 1162, in _normalize_tabular_data
>> "headers for a list of dicts is not a dict or a keyword"
>> ValueError: headers for a list of dicts is not a dict or a keyword
>> (venv) kamailio-BT:/usr/src/kamclienv/kamcli # kamcli -c
>> /etc/kamcli/kamcli.ini.sqlite subscriber add test passwordtest
>> Traceback (most recent call last):
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py",
>> line 1706, in _execute_context
>> cursor, statement, parameters, context
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/default.py",
>> line 716, in do_execute
>> cursor.execute(statement, parameters)
>> sqlite3.IntegrityError: UNIQUE constraint failed: subscriber.username,
>> subscriber.domain
>>
>> The above exception was the direct cause of the following exception:
>>
>> Traceback (most recent call last):
>> File "/usr/src/kamclienv/venv/bin/kamcli", line 33, in <module>
>> sys.exit(load_entry_point('kamcli', 'console_scripts', 'kamcli')())
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 829, in __call__
>> return self.main(*args, **kwargs)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 782, in main
>> rv = self.invoke(ctx)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 1259, in invoke
>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 1259, in invoke
>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 1066, in invoke
>> return ctx.invoke(self.callback, **ctx.params)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 610, in invoke
>> return callback(*args, **kwargs)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/decorators.py",
>> line 73, in new_func
>> return ctx.invoke(f, obj, *args, **kwargs)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/click/core.py", line
>> 610, in invoke
>> return callback(*args, **kwargs)
>> File "/usr/src/kamclienv/kamcli/kamcli/commands/cmd_subscriber.py",
>> line 69, in subscriber_add
>> ha1b,
>> File "<string>", line 2, in execute
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/util/deprecations.py",
>> line 390, in warned
>> return fn(*args, **kwargs)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py",
>> line 3037, in execute
>> return connection.execute(statement, *multiparams, **params)
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py",
>> line 1190, in execute
>> future=False,
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py",
>> line 1491, in _exec_driver_sql
>> distilled_parameters,
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py",
>> line 1749, in _execute_context
>> e, statement, parameters, cursor, context
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py",
>> line 1930, in _handle_dbapi_exception
>> sqlalchemy_exception, with_traceback=exc_info[2], from_=e
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/util/compat.py",
>> line 211, in raise_
>> raise exception
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py",
>> line 1706, in _execute_context
>> cursor, statement, parameters, context
>> File
>> "/usr/src/kamclienv/venv/lib/python3.7/site-packages/sqlalchemy/engine/default.py",
>> line 716, in do_execute
>> cursor.execute(statement, parameters)
>> sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) UNIQUE constraint
>> failed: subscriber.username, subscriber.domain
>> [SQL: insert into subscriber (username, domain, password, ha1, ha1b)
>> values ('test', 'sip.test.dev', 'passwordtest',
>> '96a1efd95bcd6e8e573d07ebdacab623', '025f1dc363fa8c1ce1d7f2069d94ed0f')]
>> (Background on this error at: http://sqlalche.me/e/14/gkpj)
>>
>> best regards
>>
>> On Wed, Apr 21, 2021 at 3:10 PM Daniel-Constantin Mierla <
>> miconda at gmail.com> wrote:
>>
>>> Hello,
>>> On 18.04.21 22:56, beer Ll wrote:
>>>
>>> Hi ,
>>>
>>> I have a server test with
>>>
>>> Debian Buster 10.9
>>> kamailio 5.4.5
>>> kamcli 2.0.0 (similar result with 3.0.0)
>>>
>>> I'm not able to use kamcli
>>> with sqlite : insert and select doesn't work
>>> with pgsql : insert works , select of empty table works , select table
>>> with entry doesn't work
>>>
>>>
>>> TEST WITH SQLITE
>>> root at kamailio-BT:~# kamcli -c /etc/kamcli/kamcli.ini.sqlite subscriber
>>> add test password
>>> Traceback (most recent call last):
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/base.py", line
>>> 1706, in _execute_context
>>> cursor, statement, parameters, context
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/default.py", line
>>> 716, in do_execute
>>> cursor.execute(statement, parameters)
>>> sqlite3.OperationalError: near "%": syntax error
>>>
>>> The above exception was the direct cause of the following exception:
>>>
>>> Traceback (most recent call last):
>>> File "/usr/bin/kamcli", line 11, in <module>
>>> load_entry_point('kamcli==2.0.0', 'console_scripts', 'kamcli')()
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 829,
>>> in __call__
>>> return self.main(*args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 782,
>>> in main
>>> rv = self.invoke(ctx)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1259, in invoke
>>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1259, in invoke
>>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1066, in invoke
>>> return ctx.invoke(self.callback, **ctx.params)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 610,
>>> in invoke
>>> return callback(*args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/decorators.py",
>>> line 73, in new_func
>>> return ctx.invoke(f, obj, *args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 610,
>>> in invoke
>>> return callback(*args, **kwargs)
>>> File
>>> "/usr/lib/python3/dist-packages/kamcli/commands/cmd_subscriber.py", line
>>> 43, in subscriber_add
>>> e.execute('insert into subscriber (username, domain, password, ha1,
>>> ha1b) values (%s, %s, %s, %s, %s)', udata['username'], udata['domain'],
>>> password, ha1, ha1b)
>>> File "<string>", line 2, in execute
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/util/deprecations.py",
>>> line 390, in warned
>>> return fn(*args, **kwargs)
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/base.py", line
>>> 3037, in execute
>>> return connection.execute(statement, *multiparams, **params)
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/base.py", line
>>> 1190, in execute
>>> future=False,
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/base.py", line
>>> 1491, in _exec_driver_sql
>>> distilled_parameters,
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/base.py", line
>>> 1749, in _execute_context
>>> e, statement, parameters, cursor, context
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/base.py", line
>>> 1930, in _handle_dbapi_exception
>>> sqlalchemy_exception, with_traceback=exc_info[2], from_=e
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/util/compat.py", line
>>> 211, in raise_
>>> raise exception
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/base.py", line
>>> 1706, in _execute_context
>>> cursor, statement, parameters, context
>>> File
>>> "/usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/default.py", line
>>> 716, in do_execute
>>> cursor.execute(statement, parameters)
>>> sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "%":
>>> syntax error
>>> [SQL: insert into subscriber (username, domain, password, ha1, ha1b)
>>> values (%s, %s, %s, %s, %s)]
>>> [parameters: ('test', 'sip.test.dev', 'password',
>>> '4380ea9069e888b5fc92996495a0f481', '3a36aeb0df7f4504cc5d9b97dab540e5')]
>>> (Background on this error at: http://sqlalche.me/e/14/e3q8)
>>>
>>> root at kamailio-BT:~# kamctl add test password
>>> -e sqlite_query: /usr/bin/sqlite3 /etc/kamailio/kamailio.db insert into
>>> subscriber (username, domain,ha1,ha1b,password) values ('test','
>>> sip.test.dev
>>> ','4380ea9069e888b5fc92996495a0f481','3a36aeb0df7f4504cc5d9b97dab540e5','password');
>>> -e new user 'test' added
>>>
>>> root at kamailio-BT:~# kamcli -c /etc/kamcli/kamcli.ini.sqlite subscriber
>>> show
>>> Traceback (most recent call last):
>>> File "/usr/bin/kamcli", line 11, in <module>
>>> load_entry_point('kamcli==2.0.0', 'console_scripts', 'kamcli')()
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 829,
>>> in __call__
>>> return self.main(*args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 782,
>>> in main
>>> rv = self.invoke(ctx)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1259, in invoke
>>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1259, in invoke
>>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1066, in invoke
>>> return ctx.invoke(self.callback, **ctx.params)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 610,
>>> in invoke
>>> return callback(*args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/decorators.py",
>>> line 73, in new_func
>>> return ctx.invoke(f, obj, *args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 610,
>>> in invoke
>>> return callback(*args, **kwargs)
>>> File
>>> "/usr/lib/python3/dist-packages/kamcli/commands/cmd_subscriber.py", line
>>> 118, in subscriber_show
>>> ioutils_dbres_print(ctx, oformat, ostyle, res)
>>> File "/usr/lib/python3/dist-packages/kamcli/ioutils.py", line 45, in
>>> ioutils_dbres_print
>>> gstring = tabulate(allrows, headers=res.keys(), tablefmt=ostyle)
>>> File "/usr/local/lib/python3.7/dist-packages/tabulate.py", line 1529,
>>> in tabulate
>>> tabular_data, headers, showindex=showindex
>>> File "/usr/local/lib/python3.7/dist-packages/tabulate.py", line 1162,
>>> in _normalize_tabular_data
>>> "headers for a list of dicts is not a dict or a keyword"
>>> ValueError: headers for a list of dicts is not a dict or a keyword
>>>
>>>
>>> TEST WITH PGSQL
>>> root at kamailio-BT:~# kamcli -c /etc/kamcli/kamcli.ini.pgsql subscriber
>>> show
>>> +------+------------+----------+------------+-------+--------+
>>> | id | username | domain | password | ha1 | ha1b |
>>> +======+============+==========+============+=======+========+
>>> +------+------------+----------+------------+-------+--------+
>>> root at kamailio-BT:~# kamcli -c /etc/kamcli/kamcli.ini.pgsql subscriber
>>> add test password
>>> root at kamailio-BT:~# kamcli -c /etc/kamcli/kamcli.ini.pgsql subscriber
>>> show
>>> Traceback (most recent call last):
>>> File "/usr/bin/kamcli", line 11, in <module>
>>> load_entry_point('kamcli==2.0.0', 'console_scripts', 'kamcli')()
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 829,
>>> in __call__
>>> return self.main(*args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 782,
>>> in main
>>> rv = self.invoke(ctx)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1259, in invoke
>>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1259, in invoke
>>> return _process_result(sub_ctx.command.invoke(sub_ctx))
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line
>>> 1066, in invoke
>>> return ctx.invoke(self.callback, **ctx.params)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 610,
>>> in invoke
>>> return callback(*args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/decorators.py",
>>> line 73, in new_func
>>> return ctx.invoke(f, obj, *args, **kwargs)
>>> File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 610,
>>> in invoke
>>> return callback(*args, **kwargs)
>>> File
>>> "/usr/lib/python3/dist-packages/kamcli/commands/cmd_subscriber.py", line
>>> 118, in subscriber_show
>>> ioutils_dbres_print(ctx, oformat, ostyle, res)
>>> File "/usr/lib/python3/dist-packages/kamcli/ioutils.py", line 45, in
>>> ioutils_dbres_print
>>> gstring = tabulate(allrows, headers=res.keys(), tablefmt=ostyle)
>>> File "/usr/local/lib/python3.7/dist-packages/tabulate.py", line 1529,
>>> in tabulate
>>> tabular_data, headers, showindex=showindex
>>> File "/usr/local/lib/python3.7/dist-packages/tabulate.py", line 1162,
>>> in _normalize_tabular_data
>>> "headers for a list of dicts is not a dict or a keyword"
>>> ValueError: headers for a list of dicts is not a dict or a keyword
>>>
>>> root at kamailio-BT:~# kamctl show test
>>> 1|test|sip.test.dev
>>> |password|4380ea9069e888b5fc92996495a0f481|3a36aeb0df7f4504cc5d9b97dab540e5
>>>
>>> thanks for reporting!
>>>
>>> I could reproduce the sqlite problems, they seemed to be related to the
>>> sql driver for sqlalchemy that was not supporting variadic number of
>>> parameters to the sql query execution function. I replaced with string
>>> formatting and now seems to work. Try with latest git version and report
>>> back if there are still issues.
>>>
>>> The one for postgres I couldn't reproduce, but it was after a commit
>>> related to output style default value. Although it didn't seem related, it
>>> worked what I tried for postgres. Again, test now with latest git version
>>> and if there is still a problem, provide updated traces.
>>>
>>> Cheers,
>>> Daniel
>>>
>>> --
>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>> Kamailio Advanced Training - Online
>>> May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>>> * https://www.asipto.com/sw/kamailio-advanced-training-online/
>>>
>>>
>> _______________________________________________
>> Kamailio (SER) - Users Mailing Listsr-users at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>> --
>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio Advanced Training - Online
>> May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
>> * https://www.asipto.com/sw/kamailio-advanced-training-online/
>>
>> --
> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
> Kamailio Advanced Training - Online
> May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
> * https://www.asipto.com/sw/kamailio-advanced-training-online/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210422/95dc9a5f/attachment.htm>
More information about the sr-users
mailing list