Page 1 of 2

[SCRIPT] uFiler | Automate your media center

Posted: 12 Mar 2015, 02:27
by xflak
uFiler

So I wrote a windows CLI script using Filebot and called it uFiler, you can find all the info on it, including source code and download links at ufiler.wordpress.com

Here are a few highlights of what it can do that the amc script doesn't:
  • Copy operations performed when downloads begin seeding only, and move operations begin when downloads are finished
  • Includes an exe version of uFiler (i.e. uFiler.exe in addition to uFiler.bat) which runs invisibly\silently
  • Has a force run mode\argument
  • When updating Plex libraries, scans\refreshes only the folders that have changes, so updates take seconds instead of 30 min or longer (depending on your library size)
  • Conflicts set to "auto" by default (i.e. duplicates overwritten only if resolution detected to be superior) but if a "TV" labeled torrent name contains "proper" or "repack" the conflict setting changes to "override". This means that corrected "repack" and "proper" TV downloads will automatically replace their buggy versions even when Filebot can't detect the new file is better.
  • send customizable Kodi\XBMC notifications when downloads start\finish to an unlimited number of machines (supports unique passwords, ports, etc.)
  • simple move\copy operations to variable locations depending on the label used (i.e. support customizing the location on the fly using labels
  • starting teamviewer
  • killing tasks
  • a couple other minor things
    etc.
For the most part, all uFiler's other functions can also be done by the amc script.

Big thanks to rednoah, without his help I would have had a near impossible time improving my script. Originally I wrote it using therenamer instead of FileBot and called it theRenamerHelper, but FileBot is infinitely superior than theRenamer, I wish I had found and used it in the first place!

Below I've pasted just the high level description of uFiler. It's very easy to configure so check it out.

uFiler
uFiler is a windows application designed to be launched by uTorrent to performs various functions when downloads are queued and/or finished. Torrent labels such as “TV”, “Movie”, “teamviewer” or “-m —-Nas–NewDownloads” etc. can be used to automate tasks like organizing your media library as it downloads, downloading subtitles, moving or copying downloads to whatever folder(s) you choose, all while sending optional notifications/updates to an unlimited number of Kodi/XBMC or Plex machines when downloads start or complete, and the list goes on with even more functions like launching teamviewer, killing tasks, etc.

FUNCTIONS:
  • When torrents labelled “TV” or “Movie” are queued, uFiler can optionally send notifications to Kodi/XBMC machine(s) with the download name
  • When a “TV” or “Movie” torrent is completed uFiler will:
    - Automatically rename and move/copy new videos to your organized media library location
    - Clean your TV/Movie downloads folder of useless nfo, txt, uTorrent dat files, sample videos and empty folders (not done for copy operations to avoid seeding disruption)
    - Download missing subtitles for new videos (optional)
    - Launch local installation of Kodi/XBMC (optional)
    - Update one or more Kodi/XBMC libraries (optional)
    - Send on-screen Kodi/XBMC notifications with proper names for each video automatically added to library (optional)
    - Update Plex libraries instantly by only scanning folders with new content (optional)
  • All Kodi/XBMC notifications can be customized, enabled or disabled for each specific machine/host.
  • Utilizing different labels, uFiler can simply move or copy “Finished” downloads to locations of your choosing and optionally send popup notifications to Kodi/XBMC machines.
  • Using the labels “teamviewer” and “kill teamviewer”, uFiler can launch or force close teamviewer (if installed).
  • Change the app name in the “kill ” label to customize what processes to force close (e.g. “kill kodi” will force close Kodi.exe, if running).
  • Bonus Utility 1: “Get New Subs.exe” or “Get New Subs.bat” will search for and download missing subtitles for your videos that are less than two weeks old.
  • Bonus Utility 2: XBMCmessenger.html can quickly and easily send custom messages/popups to any Kodi/XBMC machine.
  • Bonus Utility 3: xbmcLibrary.exe or xbmcLibrary.bat can be used to just send update commands to your Kodi/XBMC library or libraries.
  • Bonus Utility 4: xbmc_exporter.bat can export your Kodi/XBMC library.

Re: [SCRIPT] uFiler | Automate your media center

Posted: 18 Mar 2015, 03:10
by xflak
Just updated the script. Previously conflicts were always set to auto, now it's auto by default but if a "TV" labeled torrent name contains "proper" or "repack" the conflict setting changes to override.

This means that corrected "repack" and "proper" TV downloads will automatically replace their buggy versions even when Filebot can't detect the new file is better.

Pretty sweet right?

Re: [SCRIPT] uFiler | Automate your media center

Posted: 18 Mar 2015, 08:51
by rednoah
Yep, that's pretty smart! :)

Re: [SCRIPT] uFiler | Automate your media center

Posted: 18 Mar 2015, 22:51
by xflak
Made another small update:

When Plex Media Server\Scanner (PMS) adds the first episode of a season it needs to scan the entire series folder, the season subdirectory isn't enough. To work around this, when adding the first episode of a season, or any videos from Season 1, uFiler will have PMS scan the entire series folder instead of just the season folder. This should work in all situations except when the first episode of a season being added to your library is not the first episode of the season or from Season 1. In those cases the scheduled PMS library updates will do the initial scan of the season, and uFiler's updates will be done successfully in realtime from then going forward.

This is all to avoid scanning the entire series folder each time a video is added as it requires more time to do, especially for series with lots of episodes.

Basically uFiler (and of course FileBot) is awesome and keeps getting better :)

Re: [SCRIPT] uFiler | Automate your media center

Posted: 22 Mar 2015, 00:43
by Eggman1414
I can not for the life of me get this to work.
This is what I have for Run this Program:
“F:\Documents\Ufiler\uFiler.exe” “F:\Documents\Ufiler” “%L” “%S” “%P” “%N” “%D” “%K”
Every time a download finishes, it just moves the file to: F:\Documents\Done
Am I missing something?

Re: [SCRIPT] uFiler | Automate your media center

Posted: 22 Mar 2015, 04:09
by xflak
Edit settings.bat with your path(s), also be sure to give your tv torrents a "TV" label and your movie torrents a "Movie" label so your files get saved to F:\Documents\Done\TV and F:\Documents\Done\Movie

All explained here: https://ufiler.wordpress.com/installation/

Let me know if u have problems

Re: [SCRIPT] uFiler | Automate your media center

Posted: 22 Mar 2015, 05:39
by rednoah
Keep in mind that “...” is absolutely not the same as "..." and that you can only quote arguments with the latter.

Re: [SCRIPT] uFiler | Automate your media center

Posted: 22 Mar 2015, 13:50
by xflak
Quotes are not used in the settings.bat file so no need to concern yourself with that (uFiler compensates for that in the main script). And in a text/bat file I think the different style of quotes make no difference.

Don’t forget to escape special characters like brackets or pass throughs using carrots ^

Edit: it is however important to use the right straight quotation marks in the utorrent settings

Re: [SCRIPT] uFiler | Automate your media center

Posted: 22 Mar 2015, 21:15
by Eggman1414
This is my settings.bat right now:

Code: Select all

::Update only what comes after the equal signs
::Escape any special characters [i.e. ()|] by inserting a carrot ^ in front, so for example (Movies) becomes ^(Movies^)
::Do not use quotations marks ""

::set uCompletedDownloads to the folder uTorrent is set to move completed downloads to
set uCompletedDownloads=F:\Documents\Done

::set TVFolder and MovieFolder to the locations of your TV and Movie library, respectively
set TVFolder=F:\Documents\Done\TV Shows
set MovieFolder=F:\Documents\Done\Movies

::set copyORmove to either "copy" or "move" depending on whether you want videos copied or moved. Note that move operations are only triggered when a torrent is "Finished" whereas copy operations are triggered when torrents are seeding and\or finished.
set copyORmove=copy

::set GetSubtitles to "Y" or "N"
set GetSubtitles=Y

::two letter language codes found here: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
set SubtitleLang=en

::If uFiler is installed on the same machine running Plex Media Server, it can update the Plex Library for just the affected folders (i.e. fast\partial scan). Set this is "Y" or "N", if Plex isn't installed it won't run even if set to "Y"
set updatePlexLibrary=Y

::Optionally customize TVFormat and MovieFormat expressions to change how videos are named. For most people the default values will be satisfactory. Do not change these settings unless you know what you're doing. Information on how to customize these can be found at www.filebot.net/naming.html (do not forget to escape special characters)

set TVFormat={n} - {sxe} - {t}

::Optionally override TV Series names by creating\editing a "list.csv" file in the same folder as uFiler. Each line should contain the original name then the new name separated by a semi-colon, for example "Star Trek The Next Generation;STNG" (without quotes)

set MovieFormat={n}
When I try and do a force run and nothing happens.

Re: [SCRIPT] uFiler | Automate your media center

Posted: 22 Mar 2015, 21:50
by Eggman1414
Image
Image

Re: [SCRIPT] uFiler | Automate your media center

Posted: 22 Mar 2015, 22:14
by xflak
Change your TVFormat and MovieFormat back to default for now. I think I may need to put out an update to support naming formats like yours that don't have separate folders for different series and\or movies. It may or may not work in it's current state, I have to investigate but for now just use the default naming format and verify that's working before making adjustments. Shouldn't take me too long to fix it up if there is a problem.

Do you have content saved to "F:\Documents\Done\TV" or "F:\Documents\Done\Movie"?
It won't do anything if there's nothing to process.

To test it, create an empty txt file and rename it as follows (including the extension):
"F:\Documents\Done\TV\the simpsons 101.avi"

then force it to run using
“F:\Documents\Ufiler\uFiler.exe” “F:\Documents\Ufiler” “F”

for verbose output, replace .exe with .bat in the above

Re: [SCRIPT] uFiler | Automate your media center

Posted: 22 Mar 2015, 22:26
by Eggman1414
OK so maybe that's my problem. I have everything that's done, dumped to F:\Documents\Done\. There are two folders (Movies, TV Shows) along with all the downloaded folders. Ill try your method.

Re: [SCRIPT] uFiler | Automate your media center

Posted: 23 Mar 2015, 00:48
by xflak
Ok, just put out an update (v2.6), please re-download and try again

the update makes it more compatible with naming formats that don't utilize separate folders for different series and\or movies (I tested it using the formats you shared earlier so should work just fine)

The old version would have worked fine in most scenarios but plex updates may not have gone through and notifications for Movies may not have appeared properly

Re: [SCRIPT] uFiler | Automate your media center

Posted: 23 Mar 2015, 05:59
by rednoah
Keep in mind that --def artwork=y won't work if the files aren't well-organized into TV/Movie Series/Movie folders.

Re: [SCRIPT] uFiler | Automate your media center

Posted: 05 Apr 2015, 02:53
by xflak
FYI, just updated the configuring uTorrent instructions to include info on how to append the torrent’s label to the directory name

Also, I added a note to remind people to use straight quotation marks instead of curly ones in uTorrents run a program settings.

Re: [SCRIPT] uFiler | Automate your media center

Posted: 23 Apr 2015, 11:47
by xflak
I put out an update last night (v2.7) fixing a small bug that was restricting bulk notifications to only 2 instead of unlimited (e.g. by bulk notifications I mean if u were to grab an entire season in one download labelled "TV" you will get a notification for each episode, not just the first one or two)

Re: [SCRIPT] uFiler | Automate your media center

Posted: 05 May 2015, 18:53
by xflak
If anyone has any feature requests let me know!

Re: [SCRIPT] uFiler | Automate your media center

Posted: 09 Jul 2015, 22:01
by xflak
Shameless bump...

Re: [SCRIPT] uFiler | Automate your media center

Posted: 28 Apr 2016, 20:29
by xflak
I updated uFiler to v2.8; Movie and TV processes will now delete files with "sample" in the name, and also delete non-subtitle files that are less than 30MB large (in order to delete samples without sample in the title)

Re: [SCRIPT] uFiler | Automate your media center

Posted: 09 Jun 2016, 20:32
by miggy
I would like to use uFiler with qbittorrent.

(I have used it with uTorrent for a year or so and have had zero problems. Thanks!!)

I have tried to run uFiler after a torrent completes from qbit as follows:

C:\uFiler_2.7\uFiler.bat "C:\uFiler_2.7" "%L" "%N" "%F"


The supported parameters are different, but I matched the ones in common. I dont really use much of the notifications, xbmc, teamviewer stuff. I just need to rename/move movies and tv series. I really thought it would work with these three parameters, but it is not. I also tried %D instead of %F to no avail. uFilerHistory shows nothing. ..as if its not even starting up.

These are the qbittorrent params:
N Torrent name
L category [ i assumed this means label]
F Content Path (same as root path for multifile torrent)
R Root Path (first torrent subdirectory path)
D Save Path
C Number of Files
Z Torrent size
T Current tracker
I Info Hass

For convenience here are the utorrent params:

You can use the following parameters:

%F - Name of downloaded file (for single file torrents)
%D - Directory where files are saved
%N - Title of torrent
%P - Previous state of torrent
%L - Label
%T - Tracker
%M - Status message string (same as status column)
%I - hex encoded info-hash
%S - State of torrent
%K - kind of torrent (single|multi)

Re: [SCRIPT] uFiler | Automate your media center

Posted: 10 Jun 2016, 01:16
by xflak
miggy wrote:I would like to use uFiler with qbittorrent.

(I have used it with uTorrent for a year or so and have had zero problems. Thanks!!)

I have tried to run uFiler after a torrent completes from qbit as follows:

C:\uFiler_2.7\uFiler.bat "C:\uFiler_2.7" "%L" "%N" "%F"


The supported parameters are different, but I matched the ones in common. I dont really use much of the notifications, xbmc, teamviewer stuff. I just need to rename/move movies and tv series. I really thought it would work with these three parameters, but it is not. I also tried %D instead of %F to no avail. uFilerHistory shows nothing. ..as if its not even starting up.

These are the qbittorrent params:
N Torrent name
L category [ i assumed this means label]
F Content Path (same as root path for multifile torrent)
R Root Path (first torrent subdirectory path)
D Save Path
C Number of Files
Z Torrent size
T Current tracker
I Info Hass

For convenience here are the utorrent params:

You can use the following parameters:

%F - Name of downloaded file (for single file torrents)
%D - Directory where files are saved
%N - Title of torrent
%P - Previous state of torrent
%L - Label
%T - Tracker
%M - Status message string (same as status column)
%I - hex encoded info-hash
%S - State of torrent
%K - kind of torrent (single|multi)
You can use uFiler's force run command to work around your issue, for example when a torrent completes use the following

C:\uFiler_2.7\uFiler.bat "C:\uFiler_2.7" "F"

So for this to work, the completed folder needs to be the folder specified in the settings file + the label, for example, with the following setting

set uCompletedDownloads=C:\Users\XFlak\Downloads

The completed TV downloads should be saved to "C:\Users\XFlak\Downloads\TV" and movie downloads saved to "C:\Users\XFlak\Downloads\Movie"

Please let me know if this works for you, I've never used qbit bit this should work (although you won't have the download starting notifications, just the download completed ones).

Re: [SCRIPT] uFiler | Automate your media center

Posted: 10 Jun 2016, 17:03
by miggy
Yep, that works!

Thanks!

Feature Request: Update plex on another computer (same LAN). I see you can do it with just filebot, so it may not be difficult to implement.

Background: Plex normally watches folders just fine on its own. However, when it watches a networked drive, it does not work at all. A little help from uFiler would be greatly appreciated.

Thanks again.

Re: [SCRIPT] uFiler | Automate your media center

Posted: 11 Jun 2016, 04:18
by xflak
miggy wrote:Yep, that works!

Thanks!

Feature Request: Update plex on another computer (same LAN). I see you can do it with just filebot, so it may not be difficult to implement.

Background: Plex normally watches folders just fine on its own. However, when it watches a networked drive, it does not work at all. A little help from uFiler would be greatly appreciated.

Thanks again.
uFiler updated to v3.0 on June 10, 2016

Get the latest version from here: https://ufiler.wordpress.com/download/

Added support for updating remote Plex libraries running on a different machine (previously only local Plex libraries running on the same machine were supported).

I added this specifically because of your request, let me know if it runs smoothly for you! Note you will need to use the latest settings.bat template to get it to work.

And if you absolutely love it, consider donating to me and\or rednoah (FileBot dev)! Cheers!

Re: [SCRIPT] uFiler | Automate your media center

Posted: 12 Jun 2016, 01:18
by xflak
I should mention, uFiler will only scan the remote TV or Movie library that has the new entry (e.g. if adding a new movie, your TV library will not be scanned, only the movie library). This should make it faster than the stock filebot plex updater. Of course uFiler handles updating local plex libraries even faster by only scanning the folder(s) with new content

Re: [SCRIPT] uFiler | Automate your media center

Posted: 04 Dec 2016, 19:03
by Toter402
I am loving uFiler so far. Loved your ModMii work, BTW, but I'm having a little trouble. Everything seems to work fine when I force run, "ufiler.exe" "*directory*\" "F", but utorrent doesn't seem to execute the exe. I am using "straight" quotation marks. I'm using the latest Beta of Utorrent 3.4.9 build (42951) in Windows 10. I'm guessing NT10 is the culprit. I'm going to try again now with compatibility settings on the uFiler.exe.

Here is my settings.bat:

Code: Select all

set uCompletedDownloads=E:\Torrents\Completed Torrents

set TVFolder=G:\Video\TV Shows
set MovieFolder=G:\Video\Movies

set copyORmove=copy

set GetSubtitles=Y

set SubtitleLang=en

set updatePlexLibrary=localhost
set PlexToken=0123456789abcdefghij
set PlexPort=32400

set TVFormat={csv^('list.csv'^).get^(n^) ?: n}\{episode.special ? 'Season 0' : 'Season '+s}\{s00e00} {t}{' ['+vf.match^(/720[pP]^|1080[pP]/^)+']'}{lang =~ 'eng' ? null : '.'+ lang}

set MovieFormat={n} {'^('+y+'^)'}{' ['+vf.match^(/720[pP]^|1080[pP]/^)+']'}/{n} {'^('+y+'^)'}{' ['+vf.match^(/720[pP]^|1080[pP]/^)+']'}{lang =~ 'eng' ? null : '.'+ lang}
Thanks again, XFlak.
And thank you also, RedNoah!