rndusr / stig

TUI and CLI for the BitTorrent client Transmission
GNU General Public License v3.0
554 stars 24 forks source link

Issue with urwidrees-1.0.3 #172

Closed zugno closed 4 years ago

zugno commented 4 years ago

Hello, I am the current maintainer of the AUR packages. Recently, urwidtrees has been updated to version 1.0.3 in the Arch repos, which makes stig unable to run. Here is the traceback:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/stig/tui/main.py", line 60, in run
    tuiobjects.urwidloop.run()
  File "/usr/lib/python3.8/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/usr/lib/python3.8/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/usr/lib/python3.8/site-packages/stig/tui/urwidpatches.py", line 175, in run
    raise self._exc_info
  File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/lib/python3.8/site-packages/stig/client/poll.py", line 78, in reraise
    task.result()
  File "/usr/lib/python3.8/site-packages/stig/client/poll.py", line 89, in _poll_loop
    await self._poll_task
  File "/usr/lib/python3.8/site-packages/stig/client/poll.py", line 117, in _do_poll
    response = await self._request()
  File "/usr/lib/python3.8/site-packages/stig/client/aiotransmission/api_torrent.py", line 385, in torrents
    return await self._get_torrents_by_ids(keys, from_cache=from_cache)
  File "/usr/lib/python3.8/site-packages/stig/client/aiotransmission/api_torrent.py", line 316, in _get_torrents_by_ids
    response = await self._request_torrents(fields, ids)
  File "/usr/lib/python3.8/site-packages/stig/client/aiotransmission/api_torrent.py", line 235, in _request_torrents
    raw_tlist = await self.rpc.torrent_get(fields=fields)
  File "/usr/lib/python3.8/site-packages/stig/client/aiotransmission/rpc.py", line 496, in request
    await self.connect()
  File "/usr/lib/python3.8/site-packages/stig/client/aiotransmission/rpc.py", line 343, in connect
    import aiohttp
  File "/usr/lib/python3.8/site-packages/aiohttp/__init__.py", line 223, in <module>
    from .worker import GunicornWebWorker, GunicornUVLoopWebWorker  # noqa
  File "/usr/lib/python3.8/site-packages/aiohttp/worker.py", line 11, in <module>
    from gunicorn.config import AccessLogFormat as GunicornAccessLogFormat
  File "/usr/lib/python3.8/site-packages/gunicorn/config.py", line 20, in <module>
    from gunicorn import __version__, util
  File "/usr/lib/python3.8/site-packages/gunicorn/util.py", line 26, in <module>
    import pkg_resources
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3257, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3240, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3269, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 582, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 899, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 785, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'mock' distribution was not found and is required by urwidtrees

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/stig", line 33, in <module>
    sys.exit(load_entry_point('stig==0.11.2a0', 'console_scripts', 'stig')())
  File "/usr/lib/python3.8/site-packages/stig/__init__.py", line 25, in run
    main.run()
  File "/usr/lib/python3.8/site-packages/stig/main.py", line 102, in run
    if not tui.run(run_commands):
  File "/usr/lib/python3.8/site-packages/stig/tui/main.py", line 64, in run
    asyncio.get_event_loop().run_until_complete(objects.srvapi.stop_polling())
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/usr/lib/python3.8/site-packages/stig/client/api.py", line 213, in stop_polling
    await poller.stop()
  File "/usr/lib/python3.8/site-packages/stig/client/aiotransmission/api_status.py", line 36, in stop
    await self._poller_stats.stop(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/stig/client/poll.py", line 155, in stop
    await asyncio.wait_for(self._poll_loop_task, timeout=0)
  File "/usr/lib/python3.8/asyncio/tasks.py", line 461, in wait_for
    return fut.result()
  File "/usr/lib/python3.8/asyncio/events.py", line 81, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/lib/python3.8/site-packages/stig/client/poll.py", line 78, in reraise
    task.result()
  File "/usr/lib/python3.8/site-packages/stig/client/poll.py", line 89, in _poll_loop
    await self._poll_task
  File "/usr/lib/python3.8/site-packages/stig/client/poll.py", line 117, in _do_poll
    response = await self._request()
  File "/usr/lib/python3.8/site-packages/stig/client/aiotransmission/rpc.py", line 496, in request
    await self.connect()
  File "/usr/lib/python3.8/site-packages/stig/client/aiotransmission/rpc.py", line 343, in connect
    import aiohttp
  File "/usr/lib/python3.8/site-packages/aiohttp/__init__.py", line 223, in <module>
    from .worker import GunicornWebWorker, GunicornUVLoopWebWorker  # noqa
  File "/usr/lib/python3.8/site-packages/aiohttp/worker.py", line 11, in <module>
    from gunicorn.config import AccessLogFormat as GunicornAccessLogFormat
  File "/usr/lib/python3.8/site-packages/gunicorn/config.py", line 20, in <module>
    from gunicorn import __version__, util
  File "/usr/lib/python3.8/site-packages/gunicorn/util.py", line 26, in <module>
    import pkg_resources
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3257, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3240, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3269, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 582, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 899, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 785, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'mock' distribution was not found and is required by urwidtrees

Thank you for your work.

rndusr commented 4 years ago

That looks like an issue with the urwidtrees package. Maybe it can be patched to remove the mock dependency, which is only needed to build the docs on very old Python versions that don't come with the unittest module.

I don't know what I can do to help.

zugno commented 4 years ago

Thank you, I will report the issue to the urwidtrees package maintainers.

rndusr commented 4 years ago

Thank you for packaging!