mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-08-19 21:03:14 -07:00
Added better parsing strategy
This commit is contained in:
parent
b3694f5e7a
commit
f0bf5fb0cb
3 changed files with 53 additions and 30 deletions
|
@ -269,37 +269,11 @@ if not os.path.isfile(configFilename):
|
||||||
Logger.info("MAIN: Loading config from %s", configFilename)
|
Logger.info("MAIN: Loading config from %s", configFilename)
|
||||||
config.read(configFilename)
|
config.read(configFilename)
|
||||||
|
|
||||||
if len(sys.argv) == 2: #for other clients we assume we must at least get the directory.
|
clientAgent = config.get("Torrent", "clientAgent")
|
||||||
# We will assume this to be the passin from deluge. torrent id, torrent name, torrent save path.
|
|
||||||
inputDirectory = os.path.normpath(sys.argv[1])
|
|
||||||
inputName = '' # We dont have a name yet
|
|
||||||
inputCategory = '' # We dont have a category yet
|
|
||||||
|
|
||||||
elif len(sys.argv) > 4 and sys.argv[1] == 'utorrent': #distinguish utorrent from others like deluge.
|
try:
|
||||||
# We will pass in 'utorrent' '%D', '%N', and '%L' (if it exists), from uTorrent
|
parse_args(clientAgent)
|
||||||
# In short pass "/path/to/downloaded/torrent/ name" to TorrentToMedia.py, eg >>>> TorrentToMedia.py /Downloaded/MovieName.2013.BluRay.1080p.x264-10bit.DTS MovieName.2013.BluRay.1080p.x264-10bit.DTS <<<<
|
except:
|
||||||
inputDirectory = os.path.normpath(sys.argv[2])
|
|
||||||
inputName = sys.argv[3]
|
|
||||||
try: #assume we have a label.
|
|
||||||
inputCategory = sys.argv[4] # We dont have a category yet
|
|
||||||
except:
|
|
||||||
inputCategory = '' # We dont have a category yet
|
|
||||||
inputHash = sys.argv[5]
|
|
||||||
|
|
||||||
elif len(sys.argv) == 4:
|
|
||||||
# We will assume this to be the passin from deluge. torrent id, torrent name, torrent save path.
|
|
||||||
inputDirectory = os.path.normpath(sys.argv[3])
|
|
||||||
inputName = sys.argv[2]
|
|
||||||
inputCategory = '' # We dont have a category yet
|
|
||||||
|
|
||||||
elif os.getenv('TR_TORRENT_DIR'):
|
|
||||||
# We will pass in %TR_TORRENT_DIR% %TR_TORRENT_NAME% from Transmission
|
|
||||||
# In short pass "/path/to/downloaded/torrent/ name" to TorrentToMedia.py, eg >>>> TorrentToMedia.py /Downloaded/MovieName.2013.BluRay.1080p.x264-10bit.DTS MovieName.2013.BluRay.1080p.x264-10bit.DTS <<<<
|
|
||||||
inputDirectory = os.path.normpath(os.getenv('TR_TORRENT_DIR'))
|
|
||||||
inputName = os.getenv('TR_TORRENT_NAME')
|
|
||||||
inputCategory = '' # We dont have a category yet
|
|
||||||
|
|
||||||
else:
|
|
||||||
Logger.error("MAIN: There was a problem loading variables: Exiting")
|
Logger.error("MAIN: There was a problem loading variables: Exiting")
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,9 @@ watch_dir=
|
||||||
failed_fork=0
|
failed_fork=0
|
||||||
|
|
||||||
[Torrent]
|
[Torrent]
|
||||||
|
# Set to whatever torrent client you use.
|
||||||
|
# Supported values: utorrent, transmission, deluge, other
|
||||||
|
clientAgent = other
|
||||||
useLink = 0
|
useLink = 0
|
||||||
extractionTool = C:\Program Files\7-Zip\7z.exe
|
extractionTool = C:\Program Files\7-Zip\7z.exe
|
||||||
categories = music,music_videos,pictures,software
|
categories = music,music_videos,pictures,software
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import logging
|
import logging
|
||||||
import logging.config
|
import logging.config
|
||||||
import os.path
|
import os.path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
def nzbtomedia_configure_logging(dirname):
|
def nzbtomedia_configure_logging(dirname):
|
||||||
|
@ -10,3 +11,48 @@ def nzbtomedia_configure_logging(dirname):
|
||||||
fileHandler.formatter = logging.Formatter('%(asctime)s|%(levelname)-7.7s %(message)s', '%H:%M:%S')
|
fileHandler.formatter = logging.Formatter('%(asctime)s|%(levelname)-7.7s %(message)s', '%H:%M:%S')
|
||||||
fileHandler.level = logging.DEBUG
|
fileHandler.level = logging.DEBUG
|
||||||
logging.getLogger().addHandler(fileHandler)
|
logging.getLogger().addHandler(fileHandler)
|
||||||
|
|
||||||
|
|
||||||
|
def parse_other(args):
|
||||||
|
return os.path.normpath(sys.argv[1]), '', ''
|
||||||
|
|
||||||
|
|
||||||
|
def parse_utorrent(args):
|
||||||
|
# We will pass in 'utorrent' '%D', '%N', and '%L' (if it exists), from uTorrent
|
||||||
|
# In short pass "/path/to/downloaded/torrent/ name" to TorrentToMedia.py, eg >>>> TorrentToMedia.py /Downloaded/MovieName.2013.BluRay.1080p.x264-10bit.DTS MovieName.2013.BluRay.1080p.x264-10bit.DTS <<<<
|
||||||
|
inputDirectory = os.path.normpath(sys.argv[2])
|
||||||
|
inputName = sys.argv[3]
|
||||||
|
try: #assume we have a label.
|
||||||
|
inputCategory = sys.argv[4] # We dont have a category yet
|
||||||
|
except:
|
||||||
|
inputCategory = '' # We dont have a category yet
|
||||||
|
|
||||||
|
|
||||||
|
def parse_deluge(args):
|
||||||
|
# We will assume this to be the passin from deluge. torrent id, torrent name, torrent save path.
|
||||||
|
inputDirectory = os.path.normpath(sys.argv[3])
|
||||||
|
inputName = sys.argv[2]
|
||||||
|
inputCategory = '' # We dont have a category yet
|
||||||
|
|
||||||
|
|
||||||
|
def parse_transmission(args):
|
||||||
|
# We will pass in %TR_TORRENT_DIR% %TR_TORRENT_NAME% from Transmission
|
||||||
|
# In short pass "/path/to/downloaded/torrent/ name" to TorrentToMedia.py, eg >>>> TorrentToMedia.py /Downloaded/MovieName.2013.BluRay.1080p.x264-10bit.DTS MovieName.2013.BluRay.1080p.x264-10bit.DTS <<<<
|
||||||
|
inputDirectory = os.path.normpath(os.getenv('TR_TORRENT_DIR'))
|
||||||
|
inputName = os.getenv('TR_TORRENT_NAME')
|
||||||
|
inputCategory = '' # We dont have a category yet
|
||||||
|
|
||||||
|
|
||||||
|
__ARG_PARSERS__ = {
|
||||||
|
'other': parse_other,
|
||||||
|
'utorrent': parse_utorrent,
|
||||||
|
'deluge': parse_deluge,
|
||||||
|
'transmission': parse_transmission,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def parse_args(clientAgent):
|
||||||
|
parseFunc = __ARG_PARSERS__.get(clientAgent, None)
|
||||||
|
if not parseFunc:
|
||||||
|
raise RuntimeError("Could not find client-agent")
|
||||||
|
parseFunc(sys.argv)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue