[Plugin] Extractor Plus (Formerly SimpleExtractor)

Suggest, post, or discuss plugins for Deluge
Post Reply
digitalhigh
Member
Member
Posts: 12
Joined: Thu Oct 24, 2019 3:37 am

[Plugin] Extractor Plus (Formerly SimpleExtractor)

Post by digitalhigh »

Well, hello there.

Yes, it's me again.

I'm here today to tell you about the new plugin I've released, "Extractor Plus".

https://github.com/d8ahazard/deluge-ext ... lus-plugin

"But, don't you already have a plugin that looks just like this?"

Well, yes. Yes I do. And while that plugin is pretty great, there was a lot of stuff under the hood that just always kinda irked me, but it worked for the most part and so I just let it be.

But then, a few days ago, I finally got irritated with "certain" other automated apps that talk to Deluge occasionally copying partially-extracted files to their final destination, only for me to have to go back later and fix the broken files.

So, I started looking at the code again. And, the more I looked at it, the more room I found for improvement.

For example: The plug-in was originally based on the V1 Simple Extractor Plugin, then sorta "merged" with parts from the Extractor plugin to get working with Deluge V2...but I never actually bothered to fix a .tar.* extensions under Windows that *could* be extracted, but just weren't.

Or, for Linux commands, there were several listed "required" applications that are checked for, but never actually used anywhere.


But, I digress. Here's a list of the features, plus fixes and changes from SimpleExtractor to Extractor Plus:

Image

Features

Select extraction location: All files to torrent root, all files "in-place", or all files to a specific directory.

Optional label-based filtering: Extract only torrents with specific labels. Supports the native "Label" plugin, as well as "LabelPlus".

Optional label-based extraction location: If "extract to directory" is specified and this is enabled, it will append the label of the media to the extraction path.

Optional "extract to temp first" feature: Instead of extracting where other apps might be watching for files, this will instead extract to a temp directory and then move the files once completed...reducing the risk of incomplete file copies from other apps.

No External Dependencies: For windows and *most* Linux distributions, no other external dependencies should be required. This includes python packages.


Image


What's New

1. Added "extract to temp folder" option. I highly recommend this. When enabled, it will extract any found archive(s) to the OS-specific /temp folder, then moves the files to the destination when completed extracting. This eliminates my most long-standing irritation as mentioned above.

2. Added an "append label to destination" option when extracting to a specific folder. So, if the output folder is "/downloads/extracted" and the file is labeled with "movie", it will be extracted to "/downloads/extracted/movie". Only works for the first matched label.

3. Added support for all of the .tar.* or .t** file extensions (tar compressed into something else). Previously, they just wouldn't work because it took two commands to do. Tested on xz, gz, lzma/7z and bzip2 types.

4. Added the windows 7z executable right to the .egg for the plugin. No more installing extra dependencies for windoze users.

5. Completely refreshed the UI. Fixed a lot of tiny inconsistencies and weirdness that came with not really understanding how the UI(s) worked, added a few sanity features like hiding/showing the destination folder options only when needed and tooltips, and ensured that the web UI and GTK3 UI were identical.

6. Massively overhauled the backend as well. Instead of just splicing code between two existing plugins and praying until it worked, I actually went through every method and every file and made sure stuff was efficient and right.


Fin

Readme and installation instructions are here:
https://github.com/d8ahazard/deluge-ext ... gin#readme

You can download the latest version of the plugin here:
https://github.com/d8ahazard/deluge-ext ... es/tag/1.5

And if you really like this and want to buy me a beer, you can do that here:
https://www.paypal.com/donate/?hosted_b ... DAVB2WBJEC

Also, I'm not on this forum very much, so if you have an issue, the best way to report it is on Github:
https://github.com/d8ahazard/deluge-ext ... gin/issues

Last, but definitely not least, massive props to Cvarta for the original SimpleExtractor which was the starting point of this plugin, and Andrew Resch and Martijn Voncken for the original Extractor V2 plugin which was the other "donor" I used to get SEV2 working.
Last edited by digitalhigh on Mon May 23, 2022 9:46 pm, edited 1 time in total.
digitalhigh
Member
Member
Posts: 12
Joined: Thu Oct 24, 2019 3:37 am

Re: [Plugin] Extractor Plus (Formerly SimpleExtractor)

Post by digitalhigh »

Reserved...
digitalhigh
Member
Member
Posts: 12
Joined: Thu Oct 24, 2019 3:37 am

Re: [Plugin] Extractor Plus (Formerly SimpleExtractor)

Post by digitalhigh »

Just posted release 1.6.1. This includes a new feature, "Auto-cleanup". With auto-cleanup enabled, you basically specify a delay period in hours. The plugin will track each extracted file, and check it's modified time every minute. Once an extracted file reaches a specific age in hours, it will be deleted.

https://github.com/d8ahazard/deluge-ext ... /tag/1.6.1

I added this feature as a space-saving feature, as in 99% of the cases for my setup, extracted files really only need to be in place for a few minutes until Sonarr/Radarr detect and copy them.


Additional changes include the following:

Fix an issue where extracting multiple files "in-place" would potentially cause all extracted files to be placed in the last "scanned" directory, versus each file to it's respective directory.

Append a "temporary" file extension when copying files from temp. Previously, files would be extracted to temp, then moved to their home dir with their "final" extension. This still left a period of time where a file could be copied by one of the Darr apps before it was finished. Now, we move the file and append ".extplus" to the file name, then rename it once moved. This should greatly reduce the chance of incomplete file copies.
TheMonDon
New User
New User
Posts: 1
Joined: Tue Jun 14, 2022 3:59 pm

Re: [Plugin] Extractor Plus (Formerly SimpleExtractor)

Post by TheMonDon »

I just created an account to say thank you, this plugin is definitely one of the best things I use for deluge. You are awesome, keep it up.
digitalhigh
Member
Member
Posts: 12
Joined: Thu Oct 24, 2019 3:37 am

Re: [Plugin] Extractor Plus (Formerly SimpleExtractor)

Post by digitalhigh »

Release 1.6.2 is UP!

Only change is the addition of a (requested) "Append Archive Name" option in the extraction behaviors.

When enabled, a folder with the name of the extracted archive will be created in the extract destination, and all files in the archive will be extracted/copied there.

https://github.com/d8ahazard/deluge-ext ... /tag/1.6.2


TheMonDon wrote: Tue Jun 14, 2022 4:01 pm I just created an account to say thank you, this plugin is definitely one of the best things I use for deluge. You are awesome, keep it up.
Hey, thanks! I appreciate the kind words.

Like most of my coding projects, this plugin came about because I had a very specific need for functionality that didn't exist.

As I've learned more about the APIs and UI stuff, I got more comfortable adding and changing stuff, which is where we are today. I'm always happy to hear someone else is using and enjoying my work. :D
Post Reply