[Plugin] Extractor Plus (Formerly SimpleExtractor)
Posted: Mon May 23, 2022 9:35 pm
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:
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.
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.
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:
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.
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.