Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Listing failed entries throws NotRenderableError when given weird data #3239

Closed
Flygsand opened this issue Nov 20, 2021 · 1 comment
Closed

Comments

@Flygsand
Copy link
Contributor

Flygsand commented Nov 20, 2021

Expected behaviour:

A table of failed entries is shown.

Actual behaviour:

A NotRenderableError is thrown and no table is shown.

Steps to reproduce:

  • Create a task that fills the failed table with some weirdly formatted titles (in this case, a leading number and some whitespace).
  • Run flexget failed list.

The history and seen subcommands seem unaffected by this issue.

Config:

--- config from task: giant-bomb-unprofessional-fridays
accept_all: true
cookies: /data/cookies/giant-bomb.txt
exec:
  fail_entries: true
  on_output:
    for_accepted:
      - umask 002 && yt-dlp --config-location /data/youtube-dl.conf --cookies /data/cookies/giant-bomb.txt
        --output "/downloads/giant-bomb/Unprofessional Fridays/%(id)s - %(title)s.%(ext)s"
        "{{url}}"
html:
  increment:
    entries_count: 400
    from: 1
    to: 19
  links_re:
    - /(?:shows|videos)/
  url: https://www.giantbomb.com/api/show-episode/19801/?display_type=1&display_order=0&page={{i}}
manual: true

---

Log:

2021-11-20 12:59:30 DEBUG    manager                       Config file /data/config.yml selected
2021-11-20 12:59:30 DEBUG    manager                       sys.defaultencoding: utf-8
2021-11-20 12:59:30 DEBUG    manager                       sys.getfilesystemencoding: utf-8
2021-11-20 12:59:30 DEBUG    manager                       flexget detected io encoding: utf-8
2021-11-20 12:59:30 DEBUG    manager                       os.path.supports_unicode_filenames: False
There is a FlexGet process already running for this config, sending execution there.
2021-11-20 12:59:30 DEBUG    manager                       Sending command to running FlexGet process: ['-c', '/data/config.yml', '-L', 'debug', 'failed', 'list']
Traceback (most recent call last):
  File "/venv/bin/flexget", line 33, in <module>
    sys.exit(load_entry_point('FlexGet==3.1.153', 'console_scripts', 'flexget')())
  File "/venv/lib/python3.9/site-packages/FlexGet-3.1.153-py3.9.egg/flexget/__init__.py", line 44, in main
    manager.start()
  File "/venv/lib/python3.9/site-packages/FlexGet-3.1.153-py3.9.egg/flexget/manager.py", line 365, in start
    client.handle_cli(self.args)
  File "/venv/lib/python3.9/site-packages/rpyc/core/netref.py", line 240, in __call__
    return syncreq(_self, consts.HANDLE_CALL, args, kwargs)
  File "/venv/lib/python3.9/site-packages/rpyc/core/netref.py", line 63, in syncreq
    return conn.sync_request(handler, proxy, *args)
  File "/venv/lib/python3.9/site-packages/rpyc/core/protocol.py", line 473, in sync_request
    return self.async_request(handler, *args, timeout=timeout).value
  File "/venv/lib/python3.9/site-packages/rpyc/core/async_.py", line 102, in value
    raise self._obj
rpyc.core.vinegar/rich.errors.NotRenderableError: unable to render int; a string or other renderable object is required

========= Remote Traceback (1) =========
Traceback (most recent call last):
  File "/venv/lib/python3.9/site-packages/rpyc/core/protocol.py", line 324, in _dispatch_request
    res = self._HANDLERS[handler](self, *args)
  File "/venv/lib/python3.9/site-packages/rpyc/core/protocol.py", line 592, in _handle_call
    return obj(*args, **dict(kwargs))
  File "/venv/lib/python3.9/site-packages/FlexGet-3.1.153-py3.9.egg/flexget/ipc.py", line 94, in exposed_handle_cli
    self.manager.handle_cli(options)
  File "/venv/lib/python3.9/site-packages/FlexGet-3.1.153-py3.9.egg/flexget/manager.py", line 413, in handle_cli
    options.cli_command_callback(self, command_options)
  File "/venv/lib/python3.9/site-packages/FlexGet-3.1.153-py3.9.egg/flexget/components/failed/cli.py", line 11, in do_cli
    list_failed(options)
  File "/venv/lib/python3.9/site-packages/FlexGet-3.1.153-py3.9.egg/flexget/components/failed/cli.py", line 28, in list_failed
    table.add_row(
  File "/venv/lib/python3.9/site-packages/rich/table.py", line 422, in add_row
    raise errors.NotRenderableError(
rich.errors.NotRenderableError: unable to render int; a string or other renderable object is required

Additional information:

  • FlexGet version: 3.1.153
  • Python version: 3.9.5
  • Installation method: source
  • Using daemon (yes/no): yes
  • OS and version: Linux 5.4.0-77-generic #⁠86-Ubuntu SMP Thu Jun 17 02:35:03 UTC 2021 x86_64 Linux
  • Link to crash log: N/A

Excerpt from db-config.sqlite failed table:

sqlite> SELECT * FROM failed;
1|93
          
        
        
        08/10/2018|https://www.giantbomb.com/shows/unprofessional-fridays-08102018/2970-11289|2021-11-20 04:21:32.709169|exec return code was non-zero|2|2021-11-20 05:51:32.709118
2|156
          
        
        
        01/24/2014|https://www.giantbomb.com/shows/unprofessional-fridays-01-24-2014/2970-13695|2021-11-20 03:58:42.054479|exec return code was non-zero|1|2021-11-20 04:58:42.054456
3|53
          
        
        
        (04/17/2019)|https://www.giantbomb.com/shows/04172019/2970-18994|2021-11-20 12:01:04.940715|exec return code was non-zero|1|2021-11-20 13:01:04.940689
@gazpachoking
Copy link
Member

Should be fixed in next version. Thanks for the report!

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

No branches or pull requests

2 participants