Closed Serneum closed 10 months ago
Thank you for trying Buildarr, and the bug report.
This looks to be an issue with how Buildarr is reading the value from Radarr, as I can see that the API version of the value, host
, is being supplied as it should.
I don't actually use SABnzbd (don't use Usenet in my local setup yet), so I haven't had an opportunity to test it.
I'll come with a fix soon.
Thanks for waiting. The fix for this issue has been released as:
buildarr-radarr==0.2.2
callum027/buildarr:0.7.2
(or update your local container if using latest
)Please give the new version a try to check that it resolves your issue.
Apologies about the delay. I believe the issue here was resolved, though there is a new issue with parsing out Plex settings from the look of it:
2023-12-03 15:56:48,979 buildarr:1 urllib3.connectionpool [DEBUG] http://radarr:7878 "GET /api/v3/notification HTTP/1.1" 200 None
2023-12-03 15:56:48,979 buildarr:1 radarr.rest [DEBUG] response body: b'[\n {\n "onGrab": false,\n "onDownload": true,\n "onUpgrade": true,\n "onRename": true,\n "onMovieAdded": false,\n "onMovieDelete": false,\n "onMovieFileDelete": false,\n "onMovieFileDeleteForUpgrade": false,\n "onHealthIssue": false,\n "onHealthRestored": false,\n "onApplicationUpdate": false,\n "onManualInteractionRequired": false,\n "supportsOnGrab": false,\n "supportsOnDownload": true,\n "supportsOnUpgrade": true,\n "supportsOnRename": true,\n "supportsOnMovieAdded": false,\n "supportsOnMovieDelete": true,\n "supportsOnMovieFileDelete": true,\n "supportsOnMovieFileDeleteForUpgrade": true,\n "supportsOnHealthIssue": false,\n "supportsOnHealthRestored": false,\n "supportsOnApplicationUpdate": false,\n "supportsOnManualInteractionRequired": false,\n "includeHealthWarnings": false,\n "name": "Plex",\n "fields": [\n {\n "order": 0,\n "name": "host",\n "label": "Host",\n "value": "192.168.1.100",\n "type": "textbox",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 1,\n "name": "port",\n "label": "Port",\n "value": 32400,\n "type": "textbox",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 2,\n "name": "useSsl",\n "label": "Use SSL",\n "helpText": "Connect to Plex over HTTPS instead of HTTP",\n "value": false,\n "type": "checkbox",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 3,\n "name": "authToken",\n "label": "Auth Token",\n "value": "********",\n "type": "textbox",\n "advanced": true,\n "privacy": "apiKey",\n "isFloat": false\n },\n {\n "order": 4,\n "name": "signIn",\n "label": "Authenticate with Plex.tv",\n "value": "startOAuth",\n "type": "oAuth",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 5,\n "name": "updateLibrary",\n "label": "Update Library",\n "value": true,\n "type": "checkbox",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 6,\n "name": "mapFrom",\n "label": "Map Paths From",\n "helpText": "Radarr path, used to modify movie paths when Plex sees library path location differently from Radarr",\n "type": "textbox",\n "advanced": true,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 7,\n "name": "mapTo",\n "label": "Map Paths To",\n "helpText": "Plex path, used to modify movie paths when Plex sees library path location differently from Radarr",\n "type": "textbox",\n "advanced": true,\n "privacy": "normal",\n "isFloat": false\n }\n ],\n "implementationName": "Plex Media Server",\n "implementation": "PlexServer",\n "configContract": "PlexServerSettings",\n "infoLink": "https://wiki.servarr.com/radarr/supported#plexserver",\n "tags": [],\n "id": 1\n }\n]'
Traceback (most recent call last):
File "/usr/local/bin/buildarr", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/buildarr_radarr/cli.py", line 92, in dump_config
.from_remote(
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/buildarr/manager/__init__.py", line 171, in from_remote
return instance_config.from_remote(secrets)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/buildarr_radarr/config/__init__.py", line 181, in from_remote
settings=RadarrSettings.from_remote(secrets),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/buildarr/config/base.py", line 85, in from_remote
fields[field_name] = field.type_.from_remote(secrets)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/buildarr_radarr/config/settings/notifications/__init__.py", line 144, in from_remote
definitions={
^
File "/usr/local/lib/python3.11/site-packages/buildarr_radarr/config/settings/notifications/__init__.py", line 145, in <dictcomp>
api_notification.name: NOTIFICATION_TYPE_MAP[ # type: ignore[attr-defined]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'PlexServer'
Happy to mark this issue as resolved and open another. Here's the output for the download client:
2023-12-03 16:00:01,112 buildarr:1 urllib3.connectionpool [DEBUG] http://radarr:7878 "GET /api/v3/downloadclient HTTP/1.1" 200 None
2023-12-03 16:00:01,112 buildarr:1 radarr.rest [DEBUG] response body: b'[\n {\n "enable": true,\n "protocol": "usenet",\n "priority": 1,\n "removeCompletedDownloads": true,\n "removeFailedDownloads": true,\n "name": "Sabnzbd",\n "fields": [\n {\n "order": 0,\n "name": "host",\n "label": "Host",\n "value": "sabnzbd",\n "type": "textbox",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 1,\n "name": "port",\n "label": "Port",\n "value": 8080,\n "type": "textbox",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 2,\n "name": "useSsl",\n "label": "Use SSL",\n "helpText": "Use secure connection when connecting to Sabnzbd",\n "value": false,\n "type": "checkbox",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 3,\n "name": "urlBase",\n "label": "Url Base",\n "helpText": "Adds a prefix to the Sabnzbd url, e.g. http://[host]:[port]/[urlBase]/api",\n "type": "textbox",\n "advanced": true,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 4,\n "name": "apiKey",\n "label": "API Key",\n "value": "********",\n "type": "textbox",\n "advanced": false,\n "privacy": "apiKey",\n "isFloat": false\n },\n {\n "order": 5,\n "name": "username",\n "label": "Username",\n "value": "Serneum",\n "type": "textbox",\n "advanced": false,\n "privacy": "userName",\n "isFloat": false\n },\n {\n "order": 6,\n "name": "password",\n "label": "Password",\n "value": "********",\n "type": "password",\n "advanced": false,\n "privacy": "password",\n "isFloat": false\n },\n {\n "order": 7,\n "name": "movieCategory",\n "label": "Category",\n "helpText": "Adding a category specific to Radarr avoids conflicts with unrelated non-Radarr downloads. Using a category is optional, but strongly recommended.",\n "value": "movies",\n "type": "textbox",\n "advanced": false,\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 8,\n "name": "recentMoviePriority",\n "label": "Recent Priority",\n "helpText": "Priority to use when grabbing movies that released within the last 21 days",\n "value": -100,\n "type": "select",\n "advanced": false,\n "selectOptions": [\n {\n "value": -100,\n "name": "Default",\n "order": -100,\n "dividerAfter": false\n },\n {\n "value": -2,\n "name": "Paused",\n "order": -2,\n "dividerAfter": false\n },\n {\n "value": -1,\n "name": "Low",\n "order": -1,\n "dividerAfter": false\n },\n {\n "value": 0,\n "name": "Normal",\n "order": 0,\n "dividerAfter": false\n },\n {\n "value": 1,\n "name": "High",\n "order": 1,\n "dividerAfter": false\n },\n {\n "value": 2,\n "name": "Force",\n "order": 2,\n "dividerAfter": false\n }\n ],\n "privacy": "normal",\n "isFloat": false\n },\n {\n "order": 9,\n "name": "olderMoviePriority",\n "label": "Older Priority",\n "helpText": "Priority to use when grabbing movies that released over 21 days ago",\n "value": -100,\n "type": "select",\n "advanced": false,\n "selectOptions": [\n {\n "value": -100,\n "name": "Default",\n "order": -100,\n "dividerAfter": false\n },\n {\n "value": -2,\n "name": "Paused",\n "order": -2,\n "dividerAfter": false\n },\n {\n "value": -1,\n "name": "Low",\n "order": -1,\n "dividerAfter": false\n },\n {\n "value": 0,\n "name": "Normal",\n "order": 0,\n "dividerAfter": false\n },\n {\n "value": 1,\n "name": "High",\n "order": 1,\n "dividerAfter": false\n },\n {\n "value": 2,\n "name": "Force",\n "order": 2,\n "dividerAfter": false\n }\n ],\n "privacy": "normal",\n "isFloat": false\n }\n ],\n "implementationName": "SABnzbd",\n "implementation": "Sabnzbd",\n "configContract": "SabnzbdSettings",\n "infoLink": "https://wiki.servarr.com/radarr/supported#sabnzbd",\n "tags": [],\n "id": 1\n }\n]'
I'm trying to run Buildarr and have it dump config for my instances of Radarr. Both instances of Radarr that I run are on version 5.1.3.8246. Buildarr is whatever the
latest
tag is pointing to for Docker. Given that there are issues for adding Radarr support, I am wondering if the version of Radarr that I am running is the issueBuildarr is continuously failing on trying to parse Sabnzbd as a Download client. The logs from the debug logging are: