Drone Factory is Deprecated [unrar]

I typed up two paragraphs just now about how much this is going to hurt me… but I know you guys don’t care.

I know no one cares… nothing matters… not your problem blah blah blah… but I’ll I’m saying is it puts me one step closer to that edge.

Good luck drone factory folder users no one cares…

Reading the reddit post and there’s this comment… “Tbh, I’ve been considering adding a time delay to blackhole imports, preventing them from importing until x minutes passed since the download appeared/was last modified in the watch folder.” YOU GUYS LITERALLY ALREADY HAVE A FIX but instead are choosing to scrap something people need in order to use your software…

No one wants to manually import stuff the entire purpose behind sonarr is automation…

Last comment on the reddit post…

“I’ve never used drone factory for any Sonarr related, but I’ve found it to be the absolute simplest way to organize downloads from Playon as well as my OTA HdHomerun recordings. I know this wasn’t the intention, but it’s dead simple to set up and lets Sonarr handle the moving, organizing and renaming automagically for series that aren’t available online. I used DropIt to automatically move the completed files from their recording/download folders after a few minutes to DF and Sonarr would automagically take care of everything else.”

1 Like

I feel like you’re winding yourself up. Getting more fed up every post you read…

In regard to those comments: The Blackhole mechanism is distinctly different from the Drone Factory, in the sense that blackhole is an extension of CDH and drone factory is not. The Blackhole is considered a download client and has some protections that the Drone Factory has not, but it’s also stricter in what it can consume and in which format.
Also, that user from the reddit post you quoted has long since moved to CDH and is afaik quite happy.

Also, you’re not expected to ‘manually import’ stuff constantly since that would completely defeat the purpose of automation, Wanted->Manual Import is for rare incidental custom imports, something some users have used the Drone Factory for in the past.
I’d like to know from which post or wiki you have gotten the impression otherwise so I may try to make it clearer.

But please explain how your current workflow is setup, and we’ll be happy to propose the best approach in your situation.
I’ve yet to run into a situation where the Drone Factory was necessary.

PS: The fact that you found it necessary to edit your post to put bold emphasis on that one line is pretty much an insult, I know you just wanted to vent, but if we didn’t care you wouldn’t have Sonarr in the first place.

2 Likes

@Taloth In my setup I use Sonarr to trigger downloads from usenet, but not for torrents. For torrents I use irssi-autodl on a server, and when a show downloads that matches one that I watch, it gets scp’d to a folder on my computer running Sonarr.

As for EventGhost, it’s probably similar to Drone Factory. It watches a folder for events like DirectoryCreated, FileCreated, FileModified, etc. and you can set up event listeners to trigger actions when certain events happen. I used to use it at one point to trigger UpdateXBMC by starting a timer when FIleCreated, then resetting the timer to 10 seconds every time FileModified happened, and when the timer expires, triggering UpdateXBMC (for a file that’s slowly transferring, to be sure I don’t update before the file transfer finishes). I could use the same type of thing to trigger the DownloadedEpisodeScan.

Hi,

I’m also a drone user. Currently for sonarr, my seedbox hardlink downloaded files to a sync folder, that way I can keep all my seeding rules to my rutorrent while dispatch/delivery of the downloaded files are taken care of by a dedicated delivery pipeline.

This way its up to the software which requested the file to wait for the delivery at the corresponding local server. That’s the way it works for me :confused:
Due to the time it can takes to gather the downloaded files, to dispatch it to the right server, is it for work or not, and various rules in my scheduler and my cron tab, rutorrent is totally asynchronous from the delivery of the requested files.

So I can’t simply execute a script at the end of a download, I should do it once the file is delivered … so yes I can create a container dedicated to this task, because I don’t specifically want to modify my crontab on my main server just that, but keeping and alternative is always good, just in case.

I understand that letting sonarr managing the whole end-to-end process is elegant, but a scheduled local scan folder is always useful.

As stated by others above, I truly enjoy and rely upon the functionality of Sonarr to make my life easier. I’ve spent numerous hours setting up, testing, editing, testing, re-editing, googling, posting, thanking, and re-editing program settings to make everything work between usenet and torrent clients to insure that everything is handled correctly and all programs behave as intended. The one and only feature that allowed this this to happen in my setup was Drone Factory extracting rar files. I’ve yet to see a guide that doesn’t require me to learn how to create/program a script (something I’m completely unfamiliar with) to replace the functionality of one simple option in your program that you’re all steadfast on deleting.

I know, I get it, it’s your baby and you’ll do with it as you please. But, why? Why would you not listen to the people who pleading with you to please add .rar extraction PRIOR to making this decision so that we don’t have to be left in the cold and look for alternatives?

While it may be simple to folks who CAN program in .net to whip up a script like it’s nothing, it’s not to people who rely on the good will and time of internet forum posters who reply to questions, or who take their time to write guides and how-to’s so that we have an inkling of a chance.

I read comments above by sonarr badged posters that seem somewhat defensive, perhaps even at times, condescending, towards the people who are asking for help. I apologize in advance if those two words put anyone on the defensive, as they’re not meant as an affront. However, I believe you folks should understand that your responses can sometimes come to be taken as such, whether intended to or not. Not every person here, asking for help, is as technically verse as you. If we were, I’m sure we’d have written our own programs/apps/scripts/solutions and now bother you fine folks when our beloved program gives us warning errors about a vital option that we don’t have a readily available solution for, and the developers state that it’s coming, but not before we lose functionality we rely upon.

I certainly hope I’ve imparted some of the concerns that I have and that I’m not looking to spend the next few weekends searching for alternatives to the current automated setup I have (especially with summer TV season about to start!) I also hope that none of the words I’ve said come across as hostile, as I did not intend them to. I merely hope to highlight the concern I have, and what I believe others have as well from reading prior comments.

Have a great weekend!

1 Like

As the dude who started this thread, I’d personally like to give a HUGE hand to @Taloth and @markus101 .

Let’s not forget this is OSS, and free. Let’s not be entitled. First world problems, right?

The simple bottom line is that there is NO alternative to automatically un-rarring for windows users except if you utilize the drone factory. However, I am looking into other options, but it’s not looking good right now.

Also - @Taloth - Simple question - WHY can’t Sonarr unrar? It’s based on python right? Not to bring up our ugly step children, but CP is also Python based and did a pretty good job at it (even if it was the only thing it did well)?

I’m a sysadmin by trade, so I will never try to armchair QB those in the trenches writing this code.

Also, I’m going to re-start this discussion over on the thread I started a while back. Please post your suggestions as far as getting this done there:

Your setup sounds quite sophisticated, so it’s a tough to completely recommend a solution, but a Remote Path Mapping may be viable to achieve the desired result. The remote path mapping would remap the path that rTorrent reports to something locally accessible by Sonarr, your scripts would still need to transfer the files, but would need to keep the filenames and the same folder structure in place (if it isn’t already) and to ensure partial imports don’t occur you’d want to transfer to a separate folder and then move to the remote path mapping location.

Sonarr is written in C#, no python here.

The simple answer is when Sonarr was started the download clients did it, both SABnzbd and NZBGet handle it seamlessly. Torrent clients on the other hand often don’t which from my POV is a big downside, not to mention the ones that have plugins to do it have no post processing stage, so in that respect they are inferior as well, since Sonarr treats complete = ready to import.

We still have plans to support unRARing, but being effective when unRARing (and checking media info in the the process) makes it non-trivial. There is tons to do, and unRARing isn’t at the top of the list currently.

Will Manually Triggering Imports also be removed in v3 because it refers to the drone factory folder?

A few of us that use a smaller seedbox service are investigating the best method of using Sonarr once v3 comes along and we have confirmed that this method works. Importantly it is an Event Driven method (executed by the seedbox’s utility on completion of file download) so shouldn’t lead to the same issues with Drone Factory.

Thanks for the awesome app BTW :smile:

@Lokanna

What surprises me is that we’ve repeated on several occasions that nothing has changed on the 4th, we simply added a warning to get new users to stop using the Drone Factory. Yet people react like the world is ending and we’re just a bunch of assholes. I expected some fallout from users that misinterpreted the announcements, but not that much.

The decision to phase out the Drone Factory periodic scan was made years ago and with good reasons. It was always the plan to only do that on the next backward-incompat major release, v3. We’re not there yet, not by a long shot, it’s not gonna be an automatic update either. This has been mentioned several times. Yet so many users go into full on panic mode or lash out.
The reason why we made the deprecation more obvious is because we’re run into dozen and dozens of users that complained about import issues caused by incorrect usage of the Drone Factory, such as partial import, truncated files, etc. Often solved by simply disabling the Drone Factory coz CDH was already functional in their situation. So our nr one goal here is to make sure new users don’t use the Drone Factory.
It’s entirely possible we come up with a solution to integrating unrar prior to or at the v3 release, but it isn’t that easy to cover all the edge-cases. I rather not open the can of worms of explaining those technical complications.
It’s however entirely possible to do unrar and then call the Sonarr API, if you can’t write that script, somebody else can… and they have. But it depends on your particular setup and download client.

[quote=“Lokanna, post:39, topic:15063, full:true”]
I read comments above by sonarr badged posters that seem somewhat defensive, perhaps even at times, condescending, towards the people who are asking for help. I apologize in advance if those two words put anyone on the defensive, as they’re not meant as an affront. However, I believe you folks should understand that your responses can sometimes come to be taken as such, whether intended to or not.[/quote]

I admit I may sound somewhat defensive or even aggressive at times, it isn’t my intention to offend people, but in my defense: You try to remain neutral if that many users misread stuff, jump to conclusions and then elect to take a dump on you on several different fora instead of asking constructive questions. Certain things also doesn’t translate well over the internet, especially since English isn’t the native language for many.
Several others have been cordial and asked how they particular workflow should work, usually with a positive result, which is exactly why we put up the warning in the first place. But most of those are in different topics, so obviously less visible.

Your post didn’t mention how exactly you use the Drone Factory and which download client, so I can’t advice your on how to proceed, but as I said, there isn’t any hurry.

I thank you for your constructive criticism, and I hope my response addresses some of the concerns you have.

2 Likes

@spurf No it won’t be removed entirely. Only the Periodic Scan in Sonarr (because it’s not event-driven and prone to partial/truncated files being imported).
However, in v3 that command should have a “path” parameter. See https://github.com/Sonarr/Sonarr/wiki/Command#downloadedepisodesscan
One main difference is that the standard Drone Factory scan is performed on a single ‘root’ directory, where everything inside is treated as somewhat of an unrelated mix of directories, files, subdirectories etc.
But the ‘path’ parameter must point to the directory for individual download ‘jobs’, which is assumed to be related to a single job. So could be a season pack, or single episode together with subs. And particularly the downloadClientId parameter, which allows Sonarr to pull info from the original grab event.

However, if you have a remote seedbox, isn’t mounting the drive remotely an option, for example with sshfs? What i’d like to see is a community wiki article about the various seedbox providers on how to set them up properly.

@Taloth

Thank you for the response. Having read this entire thread (and others) I realize you folks have good reasons to nix drone factory. The one new bit of information in the reply after my post that sparked curiosity is the bit about torrent clients not supporting unrar or post processing like Usenet clients.

Have you considered approaching some of the more popular torrent client devs to see if that is their feature map? Maybe you could pick 1 or 2 to partner with and recommend as it would integrate better with Sonarr, due to having post processing, etc. I know the two I see mentioned quite often are qbittorrent and deluge. Just a thought.

As for my set up, I found a new program last night that will act like drone factory and monitor a folder to extract files. I had one or two shows download and it appeared to work so I’m hopeful this work around will suffice until something proper is implemented. I’m hesitant to mention the program because my level of expertise and knowledge is low and I want to verify results before I give anyone else a false sense of hope.

Again, thank you for your time with both replying and developing Sonarr. It truly is a great tool that I rely on.

Some clients do have plugins for it, like Deluge ‘Extractor’ plugin. But it’s an afterthought for most clients.
That isn’t surprising. rar files are far from ideal for long term seeding, since you end up with double the disk space if you want to keep seeding. There are plenty of trackers that ban rar for that very reason.
Official scene rar files aren not actually compressed, they’re only used to ‘split’ the data up in parts. Quite literally the original video is split up in parts, then a header and footer is tacked on and voila… rar files. Which makes it even more ridiculous from a torrent pov.
It would be so much easier if Sonarr simply rejected any torrent with rar inside, but I might not survive the fallout… :wink:

The reverse is possible too: A virtual wrapper so that Sonarr can see what’s inside the rars, parse titles and do mediainfo on them without actually unraring. There are even fuse filesystem wrappers that do that on the fly.
Such a virtualization layer in Sonarr is one of the options we’ve been considering for dealing with rar, but it’s not the only option. Another is to have a pre-processing stage in Sonarr instead, but it’s fairly complicated because it requires the import logic to be ‘stateful’. But personally I think it’s the best approach, since it will allow better integration and handling of lftp/btsync/rsync etc.

I’ve mentioned this above, but I now have my setup using the DownloadEpisodesScan API, so am not using Complete Download Handling or the Drone Factory, so can we have a way of turning off the health check warning “Enable Completed Download Handling or configure Drone factory” please.

For new users I think its a good waning, but for existing, there should be a way of switching it off, as with myself I’m not using any deprecated sonarr features now but am getting this waning.

Unfortunately remote drive mounting isn’t available with this particular seedbox as it is a bit unconventional but suits the needs from a price / utility standpoint.

The seedbox does have a nice utility that can be run on the local machine which transfers torrent pieces as they arrive on the server. When all the pieces have been received the utility assembles them into the final files / directories and places them in a folder (which Drone Factory has been monitoring).

The utility has this option which I’m guessing should be able to provide the path parameter:

file_finished_command: specify a command/script to execute whenever a file finishes. 3 parameters will be passed: the file path, the info hash for the torrent, and the label. it is possible the label has been subjected to cleanup if you enabled cleanup_filenames and include_label_in_file_names.

What I am not sure is how to make a script to achieve this as I have zero experience :confused:

Would you be able to give me some pointers, preferably for powershell as I’m running windows.

Thanks!

OK, Reading all this and all related things made me few things to conclude.

  1. Drone Factory is very useful, quick to setup, slice food, blend, sort, cook, serve on plate, … but occasionally cut few fingers and mix them in smoothy so you can’t be sure until you try the end product.
  2. It will go
  3. I really need it due the facts/settings/stated below in appendix
  4. Solution needs to be made.

so regarding above statements:

  1. Currently I can’t live without it. I’m missing only few fingers (read episodes over the time I use Sonarr) as I carefully used/set my clients and scripts to minimize probability of that happening. eg. I have Download client setup but do not use it as I use DirectDownload client which is neither NZB not Torrent.
  2. Huh, well even hard at times it was loved and I will come to funeral
  3. Ahh, read appendix
  4. Ok. Solution found but needs to be polished.

Appendix:
I have custom made client that handles both DL + Unpack + Move to Join folder (eg. drone folder) and say I’m done. Just wrote Jscript to tell me that, so I have an DL client Event that contain path+filename where the file is saved, but do not know which show it belongs simply can’t know that and this even I can use to trigger downloadedepisodesscan. Hooray, 50% done.

I need help for next 50 percent which involves making Jscript that will work both on Win and linux.
I was thinking about something like this:

// Sending and receiving data in JSON format using POST mothod
//
var xhr = new XMLHttpRequest();
var url = "url";
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/json");
xhr.setRequestHeader("X-Api-Key","MyKey");
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4 && xhr.status === 200) {
        var json = JSON.parse(xhr.responseText);
    }
};
var data = JSON.stringify({"name": "downloadedepisodesscan","path": "/serverA/var/temp/Download.S01E01","importMode":"Move","downloadClientId":"{infohash}"});
xhr.send(data);

So anyone help Please?

Windows 10 Pro/ Sonarr/ altbinz/ drone factory/ 4TB NAS. My set up has been working great for a long time. I hope that I can figure out how to replace drone factory. Subscribed.

@dhcrees Why not simply keep Completed Download Handling enabled, assuming you provide the downloadClientID in the API command, it should be properly handled. And that way you can see which downloads have not yet been imported.

@spurf Something like this https://gist.github.com/Taloth/e02e76bcb29942f791cc2e8595192846
No warranties, and you’ll need to tweak and test it.

@Peke I’d say it’s a good start, but I’m no JScript expert. You probably don’t need to set downloadClientID since you’re using a DirectDownload client.

@wtfchuck What’s special about your setup that it requires a Drone Factory? If you’re insistent on using alt.binz, consider using the Usenet Blackhole client in Sonarr to interface with it. But I’d recommend using sabnzbd or nzbget for better integration and failed download handling.

1 Like

@ everybody else, If you have a specific usecase or problems with switching away from using the Drone Factory, or would like advice on how to do so.
Please open a new topic, preferably with the format “Import without Drone Factory [usecase]” where ‘usecase’ is something unique with your setup, ‘seedbox’, ‘btsync’, ‘unrar’ etc.
Or post in a topic that already mentions your exact usecase.
It’ll help to keep threads specific to a particular usecase, or I’ll lose track of it all and end up making replies like you see above here. :smiley:

1 Like

@seanvree To get back to the topic OP posted, could you take a look at nzbToMedia? I thought it was usenet only but clinton hall appears to have quite a bit of torrent support, transcoding and unrar, and has built in support for the DownloadedEpisodesScan command. It might match your particular usecase for unrar.
At least, if you still want to spend time on it, coz I can imagine you’ve had enough…

Thanks for the help. Drone factory is gone and completed DL handling is working. Black Hole.