What will be the successor of drone factory?


#1

Sonarr version (exact version): 3.0.0.323

OS: Windows

Description of issue: I am testing sonarr V3 at the moment and I really like it.
I see improvement in the grab and import process that I am really happy
But theres one thing that I really miss here though.

I have been using drone factory a lot since I have more download clients next to the ones that are compatible with sonarr that get their downloads from other sources.
I made them place episode files in my specified drone factory folder to be imported by sonarr when they are available.
This option is gone now as far as I can tell.
Just placing these “third party downloaded” files to the download folder where the files grabbed by sonarr are placed does not help, they just don’t get imported automatically.

So is there any chance that in V3 we will get some kind of folderwatch back so that episodes not available through usenet or torrent can be downloaded in other ways but managed and renamed by sonarr?
Now I am trying to setup a second instance of sonarr V2 running alongside v3 just to use that drone factory while also having the benefits of v3.


#2

Yes it is gone and has been deprecated in v2 for months.

No, we’ve been clear when asked that it’s gone and not coming back (including in the v3 Alpha announcement).

Drone Factory has been removed, it will not be coming back, though we have plans to improve the import process outside of basic flow

Our recommendation is to use the API to tell Sonarr to import files. https://github.com/Sonarr/Sonarr/wiki/Command#downloadedepisodesscan the advantage is Sonarr shouldn’t run into a case where there partially copied files (or a partial season pack) that ends up leading to bad imports.

The other option is to use Manual Import, a few clicks more than automated though.


#3

Alright, I am trying just to test this right now and everytime I am sending a call from cmd I get an error regarding the “path” I provided.

I am using this command:

curl.exe -s http://localhost:8989/api/command -X POST -d ‘{"name": "downloadedepisodesscan", "path": "C:\some_path"}’ --header "X-Api-Key:xxxx"

What I get is:

{
  "message": "Unexpected character encountered while parsing value: �. Path '', line 0, position 0. (Json snippet '<--error-->�{name:')",
  "description": "Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: �. Path '', line 0, position 0. (Json snippet '<--error-->�{name:') 

What am I doing wrong?

EDIT:

I have done it with a PowerShell Script now, and it does work.
So, what my problem is: I am placing my own recorded episodes in this folder where I want sonarr to import it from.
Could some one tell me how write a loop that sends this command to sonarr for each subdirectroy wich will contain the episode in this “C:\some_path” directory?
This is the basic script I have copied from the forum.

$url = "http://localhost:8989/api/command"
$json = "{ ""name"": ""DownloadedEpisodesScan"", ""path"": ""C:\\some_path"" }"

Write-Host "Publishing update $version ($branch) to: $url"
Invoke-RestMethod -Uri $url -Method Post -Body $json -Headers @{"X-Api-Key"="xxxx"}

EDIT#2:
Alright, this could have been a chance for me to learn something about powershell scripts, recursion, loops, etc.,… But I found a script to copy… :smiley:

On reddit theres a script that pretty much does what drone factory did:
Credits go to CyrixMXi-233
Source: https://www.reddit.com/r/sonarr/comments/6zl22j/drone_factory_alternative_script/
Script:

$allitems=@(Get-ChildItem -Recurse \\YourSMBShareHere\media\complete | ?{ $_.PSIsContainer }).fullname #get list of all folders in your completed downlaods directory.
for($i=0;$i -lt $allitems.count;$i++){ #iterate through folders
$escaped = $allitems.get($i).replace('\','\\')  #add necessary escape characters
$url = "http://YOURIPHERE:8989/api/command" #change to your Sonarr URL.
$json1 = "{ ""name"": ""downloadedepisodesscan"",""path"": """ #beginning of body
$json2 = """}" #end of body
$jsoncomplete = $json1 + $escaped + $json2 #piece body together.
Invoke-RestMethod -Uri $url -Method Post -Body $jsoncomplete -Headers @{"X-Api-Key"="YOURAPIKEYHERE"} #do it
}

Hope it’s fine that I share this.
And I hope this helps others finding this script.


#4

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.