Skip to content

remove implicit execution#33

Open
linuxmaniac wants to merge 20 commits intomasterfrom
vseva/32
Open

remove implicit execution#33
linuxmaniac wants to merge 20 commits intomasterfrom
vseva/32

Conversation

@linuxmaniac
Copy link
Member

@linuxmaniac linuxmaniac force-pushed the vseva/32 branch 2 times, most recently from 9ce249e to a48ec49 Compare March 5, 2026 11:15
@linuxmaniac
Copy link
Member Author

this approach doesn't work at all:

root@sip:~# kamcli subscriber show vseva
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1412, in execute
    meth = statement._execute_on_connection
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute '_execute_on_connection'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/kamcli", line 33, in <module>
    sys.exit(load_entry_point('kamcli==3.0.0', 'console_scripts', 'kamcli')())
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/decorators.py", line 92, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/kamcli/commands/cmd_subscriber.py", line 254, in subscriber_show
    res = c.execute(
        "select * from {0} where username={1!r} and domain={2!r}".format(
    ...<3 lines>...
        )
    )
  File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1414, in execute
    raise exc.ObjectNotExecutableError(statement) from err
sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: "select * from subscriber where username='vseva' and domain='sipwork.pro'"

connection.execute() needs a statement object.

@linuxmaniac
Copy link
Member Author

Ok, we need this helper to translate string to statements

from sqlalchemy import text

but then ioutils_dbres_print needs to be updated too:

root@sip:~# kamcli subscriber show
Traceback (most recent call last):
  File "/usr/bin/kamcli", line 33, in <module>
    sys.exit(load_entry_point('kamcli==3.0.0', 'console_scripts', 'kamcli')())
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/decorators.py", line 92, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/kamcli/commands/cmd_subscriber.py", line 246, in subscriber_show
    ioutils_dbres_print(ctx, oformat, ostyle, res)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/kamcli/ioutils.py", line 54, in ioutils_dbres_print
    jdata.append(dict(row))
                 ~~~~^^^^^
TypeError: cannot convert dictionary update sequence element #0 to a sequence
root@sip:~#

@linuxmaniac
Copy link
Member Author

@linuxmaniac linuxmaniac marked this pull request as ready for review March 5, 2026 22:42
@linuxmaniac linuxmaniac requested a review from miconda March 5, 2026 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant