pyrosimple icon indicating copy to clipboard operation
pyrosimple copied to clipboard

rtcontrol -V broken with rtorrent 0.15.6

Open laplacesdaemon opened this issue 7 months ago • 1 comments

rtcontrol with the -V option doesn't work with the new rtorrent 0.15.6

Traceback (most recent call last):
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/util/rpc.py", line 133, in __request_xml
    response = self.__transport.request(
        self.__host, self.__handler, request, verbose=self.__verbose
    )
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/io/scgi.py", line 165, in request
    return self.parse_response(io.BytesIO(response))
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/io/scgi.py", line 59, in parse_response
    return super().parse_response(response)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.13/xmlrpc/client.py", line 1325, in parse_response
    return u.close()
           ~~~~~~~^^
  File "/usr/lib/python3.13/xmlrpc/client.py", line 642, in close
    raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault -500: 'Wrong object type.'>

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

Traceback (most recent call last):
  File "/home/rtorrent/.local/bin/rtcontrol", line 8, in <module>
    sys.exit(run())
             ~~~^^
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/scripts/rtcontrol.py", line 1055, in run
    RtorrentControl().run()
    ~~~~~~~~~~~~~~~~~~~~~^^
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/scripts/base.py", line 184, in run
    self.mainloop()
    ~~~~~~~~~~~~~^^
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/scripts/rtcontrol.py", line 963, in mainloop
    self.show_in_view(view, matches)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/scripts/rtcontrol.py", line 718, in show_in_view
    targetname = engine.show(
        matches,
    ...<2 lines>...
        disjoin=remove,
    )
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/torrent/rtorrent.py", line 933, in show
    proxy.d.views.push_back_unique(item.hash, view_name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/xmlrpc/client.py", line 1096, in __call__
    return self.__send(self.__name, args)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/util/rpc.py", line 242, in __request
    return self.__request_switch(methodname, params)
           ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/util/rpc.py", line 268, in __request_switch
    raise exc
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/util/rpc.py", line 260, in __request_switch
    return self.__request_xml(methodname, params)
           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/home/rtorrent/.local/pipx/venvs/pyrosimple/lib/python3.13/site-packages/pyrosimple/util/rpc.py", line 137, in __request_xml
    raise RpcError(exc.faultString, exc.faultCode) from exc
pyrosimple.util.rpc.RpcError: <RpcError -500: 'Wrong object `type.'>
``

laplacesdaemon avatar Sep 04 '25 13:09 laplacesdaemon

I also get this (perhaps related) error when using --json with rtorrent 0.16.0:

Traceback (most recent call last):
  File "/nix/store/24bbkg6v4cymjac2k7rnxlzmq1gy2nfn-pyrosimple-2.14.2/bin/.rtcontrol-wrapped", line 9, in <module>
    sys.exit(run())
             ^^^^^
  File "/nix/store/24bbkg6v4cymjac2k7rnxlzmq1gy2nfn-pyrosimple-2.14.2/lib/python3.12/site-packages/pyrosimple/scripts/rtcontrol.py", line 1055, in run
    RtorrentControl().run()
  File "/nix/store/24bbkg6v4cymjac2k7rnxlzmq1gy2nfn-pyrosimple-2.14.2/lib/python3.12/site-packages/pyrosimple/scripts/base.py", line 184, in run
    self.mainloop()
  File "/nix/store/24bbkg6v4cymjac2k7rnxlzmq1gy2nfn-pyrosimple-2.14.2/lib/python3.12/site-packages/pyrosimple/scripts/rtcontrol.py", line 980, in mainloop
    {name: getattr(i, name) for name in list(engine.FIELD_REGISTRY)}
           ^^^^^^^^^^^^^^^^
  File "/nix/store/24bbkg6v4cymjac2k7rnxlzmq1gy2nfn-pyrosimple-2.14.2/lib/python3.12/site-packages/pyrosimple/torrent/engine.py", line 257, in __get__
    return self.valtype(
           ^^^^^^^^^^^^^
TypeError: unhashable type: 'list'

quentinmit avatar Oct 03 '25 01:10 quentinmit