clinton-hall / nzbToMedia

Provides NZB and Torrent postprocessing To CouchPotatoServer, SickBeard/SickRage, HeadPhones, Mylar and Gamez
GNU General Public License v3.0
671 stars 176 forks source link

Something is broken but I don't know what #980

Closed fidofido300 closed 8 years ago

fidofido300 commented 8 years ago

Following is the Log entry for my proplem When SickRage Founds Torrent it sends to utorrent after Finish Utorrent calls torrenttoMedia after script run if the file is under series.sxx.exx.name\series.sxx.exx.name\file.mp4 file processed and added to its directory but if its extracted from a archive and is under series.sxx.exx.name\file.mp4 it fails and downloaded from another source AGAIN!

I would appreciate if you can look in to it.

utorrent call python c:\Sickrage\SickRage\contrib\nzbToMedia\TorrentToMedia.py "%D" "%N" "%L" "%I"

Nzbtomedia config is

# nzbToMedia Configuration # For more information, visit https://github.com/clinton-hall/nzbToMedia/wiki

[General]

Enable/Disable update notifications

version_notify = 1
# Enable/Disable automatic updates
auto_update = 1
# Set to the full path to the git executable
git_path = c:\Sickrage\Git\cmd\git.exe
# GitHUB user for repo
git_user = ""
# GitHUB branch for repo
git_branch = nightly
# Enable/Disable forceful cleaning of leftover files following postprocess 
force_clean = 0
# Enable/Disable logging debug messages to nzbtomedia.log
log_debug = 1
# Enable/Disable logging database messages to nzbtomedia.log
log_db = 1
# Enable/Disable logging environment variables to debug nzbtomedia.log (helpful to track down errors calling external tools.)
log_env = 0
# Enable/Disable logging git output to debug nzbtomedia.log (helpful to track down update failures.)
log_git = 1
# Set to the directory where your ffmpeg/ffprobe executables are located
ffmpeg_path = c:\Sickrage\ffmpeg\bin
# Enable/Disable media file checking using ffprobe.
check_media = 1
# Enable/Disable a safety check to ensure we don't process all downloads in the default_downloadDirectories by mistake.
safe_mode = 1

[Posix]

Process priority setting for External commands (Extractor and Transcoder) on Posix (Unix/Linux/OSX) systems.

# Set the Niceness value for the nice command. These range from -20 (most favorable to the process) to 19 (least favorable to the process).
niceness = 10
# Set the ionice scheduling class. 0 for none, 1 for real time, 2 for best-effort, 3 for idle.
ionice_class = 2
# Set the ionice scheduling class data. This defines the class data, if the class accepts an argument. For real time and best-effort, 0-7 is valid data.
ionice_classdata = 4

[CouchPotato]

autoProcessing for Movies

#### movie - category that gets called for post-processing with CPS
[[movie]]
    enabled = 0
    apikey = ""
    host = localhost
    port = 5050
    ###### ADVANCED USE - ONLY EDIT IF YOU KNOW WHAT YOU'RE DOING ######
    ssl = 0
    web_root = ""
    # Enable/Disable linking for Torrents
    Torrent_NoLink = 0
    keep_archive = 1
    method = renamer
    delete_failed = 0
    wait_for = 2
    extract = 1
    # Set this to minimum required size to consider a media file valid (in MB)
    minSize = 0
    # Enable/Disable deleting ignored files (samples and invalid media files)
    delete_ignored = 0
    ##### Enable if Couchpotato is on a remote server for this category
    remote_path = 0
    ##### Set to path where download client places completed downloads locally for this category
    watch_dir = ""
[[movies]]
    enabled = 1
    apikey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    host = localhost
    port = 5050
    ssl = 0
    web_root = ""
    Torrent_NoLink = 0
    method = renamer
    delete_failed = 1
    wait_for = 5
    extract = 1
    minSize = 100
    delete_ignored = 0
    remote_path = 0
    watch_dir = ""

[SickBeard]

autoProcessing for TV Series

#### tv - category that gets called for post-processing with SB
[[tv]]
    enabled = 1
    host = localhost
    port = 8081
    username = Sickbeard
    password = xxxxxxx
    ###### ADVANCED USE - ONLY EDIT IF YOU KNOW WHAT YOU'RE DOING ######
    web_root = ""
    ssl = 0
    fork = auto
    delete_failed = 0
    # Enable/Disable linking for Torrents
    Torrent_NoLink = 0
    keep_archive = 1
    process_method = ""
    # force processing of already processed content when running a manual scan.
    force = 0
    # tell SickRage to delete all source files after processing.
    delete_on = 0
    extract = 1
    nzbExtractionBy = Downloader
    # Set this to minimum required size to consider a media file valid (in MB)
    minSize = 100
    # Enable/Disable deleting ignored files (samples and invalid media files)
    delete_ignored = 1
    ##### Enable if SickBeard is on a remote server for this category
    remote_path = 0
    ##### Set to path where download client places completed downloads locally for this category
    watch_dir = H:\utorrent\complete\tv

[NzbDrone]

autoProcessing for TV Series

#### ndCategory - category that gets called for post-processing with NzbDrone
[[tv]]
    enabled = 0

[HeadPhones]

autoProcessing for Music

#### music - category that gets called for post-processing with HP
[[music]]
    enabled = 1
    apikey = ""
    host = localhost
    port = 8181
    ###### ADVANCED USE - ONLY EDIT IF YOU KNOW WHAT YOU'RE DOING ######
    ssl = 0
    web_root = ""
    wait_for = 2
    # Enable/Disable linking for Torrents
    Torrent_NoLink = 0
    keep_archive = 1
    extract = 1
    # Set this to minimum required size to consider a media file valid (in MB)
    minSize = 10
    # Enable/Disable deleting ignored files (samples and invalid media files)
    delete_ignored = 0
    ##### Enable if HeadPhones is on a remote server for this category
    remote_path = 0
    ##### Set to path where download client places completed downloads locally for this category
    watch_dir = ""

[Mylar]

autoProcessing for Comics

#### comics - category that gets called for post-processing with Mylar
[[comics]]
    enabled = 0
    host = localhost
    port = 8090
    username = ""
    password = ""
    ###### ADVANCED USE - ONLY EDIT IF YOU KNOW WHAT YOU'RE DOING ######
    web_root = ""
    ssl = 0
    # Enable/Disable linking for Torrents
    Torrent_NoLink = 0
    keep_archive = 1
    extract = 1
    # Set this to minimum required size to consider a media file valid (in MB)
    minSize = 0
    # Enable/Disable deleting ignored files (samples and invalid media files)
    delete_ignored = 0
    ##### Enable if Mylar is on a remote server for this category
    remote_path = 0
    ##### Set to path where download client places completed downloads locally for this category
    watch_dir = ""

[Gamez]

autoProcessing for Games

#### games - category that gets called for post-processing with Gamez
[[games]]
    enabled = 0
    apikey = ""
    host = localhost
    port = 8085
    ###### 
    library = Set to path where you want the processed games to be moved to.
    ###### ADVANCED USE - ONLY EDIT IF YOU KNOW WHAT YOU'RE DOING ######
    ssl = 0
    web_root = ""
    # Enable/Disable linking for Torrents
    Torrent_NoLink = 0
    keep_archive = 1
    extract = 1
    # Set this to minimum required size to consider a media file valid (in MB)
    minSize = 0
    # Enable/Disable deleting ignored files (samples and invalid media files)
    delete_ignored = 0
    ##### Enable if Gamez is on a remote server for this category
    remote_path = 0
    ##### Set to path where download client places completed downloads locally for this category
    watch_dir = ""

[Network]

Enter Mount points as LocalPath,RemotePath and separate each pair with '|'

# e.g. MountPoints = /volume1/Public/,E:|/volume2/share/,\NAS\
mount_points = ""

[Nzb]

clientAgent - Supported clients: sabnzbd, nzbget
clientAgent = sabnzbd
###### SabNZBD (You must edit this if your using nzbToMedia.py with SabNZBD)
sabnzbd_host = localhost
sabnzbd_port = 8080
sabnzbd_apikey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###### Enter the default path to your default download directory (non-category downloads). this directory is protected by safe_mode.
default_downloadDirectory = g:\Usenet Downloads

[Torrent]

clientAgent - Supported clients: utorrent, transmission, deluge, rtorrent, vuze, other
clientAgent = utorrent
###### useLink - Set to hard for physical links, sym for symbolic links, move to move, move-sym to move and link back, and no to not use links (copy)
useLink = no
###### outputDirectory - Default output directory (categories will be appended as sub directory to outputDirectory)
outputDirectory = h:\utorrent\complete
###### Enter the default path to your default download directory (non-category downloads). this directory is protected by safe_mode. 
default_downloadDirectory = g:\utorrent\
###### Other categories/labels defined for your downloader. Does not include CouchPotato, SickBeard, HeadPhones, Mylar categories.
categories = music_videos, pictures, software, manual, 
###### A list of categories that you don't want to be flattened (i.e preserve the directory structure when copying/linking.
noFlatten = pictures, manual,  series, tv, movies
###### uTorrent Hardlink solution (You must edit this if your using TorrentToMedia.py with uTorrent)
uTorrentWEBui = http://localhost:7070/gui/
uTorrentUSR = xxxx
uTorrentPWD = xxxxxxxx
###### Transmission (You must edit this if your using TorrentToMedia.py with Transmission)
TransmissionHost = localhost
TransmissionPort = 7071
TransmissionUSR = your username
TransmissionPWD = your password
#### Deluge (You must edit this if your using TorrentToMedia.py with deluge. Note that the host/port is for the deluge daemon, not the webui)
DelugeHost = localhost
DelugePort = 58789
DelugeUSR = your username
DelugePWD = your password
###### ADVANCED USE - ONLY EDIT IF YOU KNOW WHAT YOU'RE DOING ######
deleteOriginal = 0
chmodDirectory = 0
resume = 1
resumeOnFailure = 1

[Extensions] compressedExtensions = .zip, .rar, .7z, .gz, .bz, .tar, .arj, .1, .01, .001 mediaExtensions = .mkv, .avi, .divx, .xvid, .mov, .wmv, .mp4, .mpg, .mpeg, .vob, .iso, .m4v audioExtensions = .mp3, .aac, .ogg, .ape, .m4a, .asf, .wma, .flac metaExtensions = .nfo, .sub, .srt, .jpg, .gif, .sub, .idx

[Plex]

Only enter these details if you want to update plex library after processing.

# Do not enter these details if you send the plex notifications from Sickbeard/CouchPotato.
plex_host = localhost
plex_port = 32400
plex_token = ""
plex_ssl = 0
# Enter Plex category to section mapping as Category,section and separate each pair with '|'
# e.g. plex_sections = movie,3|tv,4
plex_sections = ""

[Transcoder]

getsubs. enable to download subtitles.

getSubs = 1
# subLanguages. create a list of languages in the order you want them in your subtitles. 
subLanguages = en
# transcode. enable to use transcoder
transcode = 0

[UserScript]

Use user_script for uncategorized downloads

#Set the categories to use external script.
#Use "UNCAT" to process non-category downloads, and "ALL" for all defined categories.
[[UNCAT]]
    #Enable/Disable this subsection category
    enabled = 0
    Torrent_NoLink = 0
    keep_archive = 1
    extract = 1
    #Enable if you are sending commands to a remote server for this category
    remote_path = 0
    #What extension do you want to process? Specify all the extension, or use "ALL" to process all files.
    user_script_mediaExtensions = .mkv, .avi, .divx, .xvid, .mov, .wmv, .mp4, .mpg, .mpeg
    #Specify the path to your custom script. Use "None" if you wish to link this category, but NOT run any external script.
    user_script_path = /nzbToMedia/userscripts/script.sh
    #Specify the argument(s) passed to script, comma separated in order.
    #for example FP,FN,DN, TN, TL for file path (absolute file name with path), file name, absolute directory name (with path), Torrent Name, Torrent Label/Category.
    #So the result is /media/test/script/script.sh FP FN DN TN TL. Add other arguments as needed eg -f, -r
    user_script_param = FN
    #Set user_script_runOnce = 0 to run for each file, or 1 to only run once (presumably on the entire directory).
    user_script_runOnce = 0
    #Specify the successcodes returned by the user script as a comma separated list. Linux default is 0
    user_script_successCodes = 0
    #Clean after? Note that delay function is used to prevent possible mistake :) Delay is intended as seconds
    user_script_clean = 1
    delay = 120
    #Unique path (directory) created for every download. set 0 to disable.
    unique_path = 1
    ##### Set to path where download client places completed downloads locally for this category
    watch_dir = ""

[ASCII]

Set convert =1 if you want to convert any "foreign" characters to ASCII (UTF8) before passing to SB/CP etc. Default is disabled (0).

convert = 0

[passwords]

enter the full path to a text file containing passwords to be used for extraction attempts.

# In the passwords file, every password should be on a new line
PassWordFile = g:\Usenet Downloads\pass.txt

[Custom]

enter a list (comma separated) of Group Tags you want removed from filenames to help with subtitle matching.

# e.g remove_group = [rarbag],-NZBgeek
# be careful if your "group" is a common "real" word. Please report if you have any group replacements that would fall in this category.
remove_group = ""

Downloaded Torrent utorrent download

After Script run afternzbtotorrent

Log File which contains Log of succesfull run as well

nzbtomedia.txt

clinton-hall commented 8 years ago

Can you please confirm this is updated to the latest nightly branch (a similar problem has been fixed) and your log does show git issues at update check.

fidofido300 commented 8 years ago

c:\Sickrage\SickRage\contrib\nzbToMedia>git pull origin nightly From https://github.com/clinton-hall/nzbToMedia

seems like I am upto date!

MrCee commented 8 years ago

What has been happening to me lately is whenever Sickrage is updated, the contrib folder is recursively updated, overwriting all the nzbtomedia files back to MASTER. The nzbtomedia.log shows that the branch is on nightly... but with the MASTER commit hash. I have posted more about this here >>> https://github.com/SickRage/sickrage-issues/issues/1076 This has happened to me a few times with Sickrage updates being the cause.

Please give this a go as I was seeing the message 'Already up to date' with the commands you were using. Enable all debug logs in auto process cfg to see if this problem involves the wrong commit hash. Run this in nzbtomedia >>

git checkout --force nightly
git pull

@clinton-hall I'm not sure how to stop this from happening, do you have any suggestions?

fidofido300 commented 8 years ago

I have downloaded zip version of NIGHTLY from the site and make an binary comparison of each file and they are the same so I know I am upto date :)

And I know why but above commands does not work for me c:\Sickrage\SickRage\contrib\nzbToMedia>git checkout --force nightly error: pathspec 'nightly' did not match any file(s) known to git.

MrCee commented 8 years ago

It's a different environment to myself, but it would be great to see your full processing logs.

# Enable/Disable logging environment variables to debug nzbtomedia.log (helpful to track down errors calling external tools.)
log_env = 1

I'd like to see the hash commit to see what is going on here.

fidofido300 commented 8 years ago

Ok I will enable them and post the results

fidofido300 commented 8 years ago

Sorry for the long wait but I was Out of country here is the log Thanks in advance nzbtomedia.txt

clinton-hall commented 8 years ago

ok... so a few changes all conspired here...

the easy fix would be to remove tv and series from no_flatten.

[Torrent]
noFlatten = pictures, manual, series, tv, movies

becomes

[Torrent]
noFlatten = pictures, manual, movies
clinton-hall commented 8 years ago

I have also made a fix in nightly that should help with this, and speed it up/ reduce the copying and excessive logs when set to extract.