question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

List indices Error with sonarr_list plugin

See original GitHub issue

Expected behaviour:

Synchronisation of the Trakt-List ‘serien’ to Sonarr

Actual behaviour:

no synchronisation; task series_unseen crashes with error " BUG: Unhandled error in plugin list_add: list indices must be integers, not unicode"

Config:

schedules:
  - tasks: [series_unseen,series_seen,clean-compare]
    interval:
      minutes: 10

tasks:

### SERIES-SONARR #
# Get from series list any shows that have unseen episodes, add to Sonarr and search for missing

  series_unseen:
    priority: 3
    disable:
      - seen
      - seen_info_hash
      - retry_failed
    trakt_lookup:
      account: procuria
      username: Procuria
    trakt_list:
      account: procuria
      list: serien
      type: shows
    if:
      - trakt_watched: reject
    accept_all: yes
    list_add:
      - sonarr_list:
          base_url: http://localhost
          port: 8989
          api_key: MyApiKey
          ignore_episodes_with_files: yes
          root_folder_path: /home/Deluge/TV 
          search_missing_episodes: yes

# Get from series list any shows that have already been seen, add to Sonarr and only get future episodes
# Skip ended to keep Sonarr clean

  series_seen:
    priority: 4
    disable:
      - seen
      - seen_info_hash
      - retry_failed
    thetvdb_lookup: yes
    trakt_lookup:
      account: procuria
      username: Procuria
    trakt_list:
      account: procuria
      list: serien
      type: shows
    if:
      - "tvdb_status != 'Ended' and trakt_watched": accept
    list_add:
      - sonarr_list:
          base_url: http://localhost
          port: 8989
          api_key: MyApiKey
          ignore_episodes_with_files: yes
          ignore_episodes_without_files: yes
          root_folder_path: /home/Deluge/TV

### CLEANUP-SONARR #
# List compare Sonarr and series list, anything in Sonarr that is not in series list is added to entry_list sonarr-rm
# A direct list match between trakt and Sonarr does not work and removes shows incorrectly

  clean-compare:
    delay: 1 days
    priority: 6
    disable:
      - seen
      - seen_info_hash
      - retry_failed
    trakt_lookup: yes
    sonarr_list:
      base_url: http://localhost
      port: 8989
      api_key: MyApiKey
    list_match:
      from:
        - trakt_list:
            account: procuria
            list: serien
            type: shows
      action: reject
    accept_all: yes
    list_remove:
      - sonarr_list:
          base_url: http://localhost
          port: 8989
          api_key: MyApiKey

Log:

2018-05-07 20:24 INFO     manager                       Reloading config from disk.
2018-05-07 20:24 INFO     manager                       Config successfully reloaded from disk.
2018-05-07 20:34 CRITICAL task          series_unseen   BUG: Unhandled error in plugin list_add: list indices must be integers, not unicode
2018-05-07 20:34 CRITICAL manager       series_unseen   An unexpected crash has occurred. Writing crash report to /root/.flexget/crash_report.2018.05.07.203448568805.log. Please verify you are running the latest version of flexget by using "flexget -V" from CLI or by using version_checker plugin at http://flexget.com/wiki/Plugins/version_checker. You are currently using version 2.13.15
2018-05-07 20:34 WARNING  task          series_unseen   Aborting task (plugin: list_add)
2018-05-07 20:35 INFO     trakt_list    clean-compare   Successfully deleted to/from list serien: 0 movie(s), 0 show(s), 0 episode(s), 0 season(s).

Crash-Log:

2018-05-07 20:34 CRITICAL task          series_unseen   BUG: Unhandled error in plugin list_add: list indices must be integers, not unicode
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flexget/task.py", line 486, in __run_plugin
    return method(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/output/list_add.py", line 54, in on_task_output
    thelist |= task.accepted
  File "/usr/lib/python2.7/_abcoll.py", line 330, in __ior__
    self.add(value)
  File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/list/sonarr_list.py", line 217, in add
    log.verbose('Successfully added show %s to Sonarr', show['title'])
TypeError: list indices must be integers, not unicode

Additional information:

  • FlexGet version: 2.13.15
  • Python version: 2.7.12
  • Installation method: pip
  • Using daemon (yes/no): yes
  • OS and version: 16.04.4 LTS (GNU/Linux 4.4.0-122-generic x86_64)

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:32 (16 by maintainers)

github_iconTop GitHub Comments

1reaction
gazpachokingcommented, Jan 29, 2019

Looks like the wiki page needs an update with the base_path option. I think we can probably also add some handling in the plugin to detect and report this better. I think at a minimum it should start checking the return code is 2xx before processing further.

1reaction
Sepdnojcommented, Jan 29, 2019

@Senojpd can you try adding base_path: /sonarr to your flexget config in the sonarr_list section…

so it will look like this in the end

tasks:
  import-trakt-to-sonarr:
    trakt_list:
      username: ******
      list: watchlist
      type: shows
    accept_all: yes
    list_add:
      - sonarr_list:
          base_url: http://localhost
          port: 12468
          base_path: /sonarr
          api_key: **********
          ignore_episodes_with_files: true
          ignore_episodes_without_files: true
          search_missing_episodes: true
          monitored: true
          
schedules:
  # Run every task once an hour
  - tasks: [import-trakt-to-sonarr]
    interval:
      minutes: 1

HOLY FUCKING SHIT BOYS. IT WORKED!

You legend, I’ve spent so many hours on this. Also, and no idea if it was related but I cleared my db files.

Read more comments on GitHub >

github_iconTop Results From Across the Web

TypeError: list indices must be integers or slices, not str
This error occurs when using a string for list indexing instead of indices or slices. For a better understanding of list indexing, see...
Read more >
SonarLint Plugin Initialisation Error in Eclipse IDE
I have recently installed SonarLint plugin in Eclipse IDE on one of my ... URISyntaxException: Illegal character in path at index 16: ...
Read more >
TypeError: list indices must be integers or slices ... - STechies
TypeError: list indices must be integers or slices, not str. Each element in a list in Python has a unique position. This position...
Read more >
TypeError: list indices must be integers or slices, not str
The Python typeerror: list indices must be integers or slices, not str error is raised when you try to access a list using...
Read more >
Sonarr - Dive in
Sonarr is an internet PVR for Usenet and Torrents. Features. Calendar. See all your upcoming episodes in one convenient location.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found