7 Commits

Author SHA1 Message Date
Derek Christensen
42845b8265 Changed default hb_args to match old hardcoded arguments 2017-01-10 23:27:33 -08:00
Derek Christensen
07080fdd9b disable sc2086 2017-01-10 23:21:39 -08:00
Derek Christensen
cf48fec50f Added HB_ARGS for user configurable HandBrake arguments 2017-01-10 23:17:07 -08:00
Derek Christensen
cc408285c5 fixed video_title declaration 2016-12-29 09:51:31 -08:00
Derek Christensen
cff56120ba Fixed VIDEO_TYPE assignment 2016-12-29 09:29:58 -08:00
Derek Christensen
660aa152da Uncomment ripping call 2016-12-28 21:04:10 -08:00
Derek Christensen
9e6a2899f5 Try to handle incorrect year coming from metaservices 2016-12-28 20:54:00 -08:00
4 changed files with 59 additions and 18 deletions

View File

@@ -76,6 +76,9 @@ HANDBRAKE_CLI=HandBrakeCLI
# However, it does not handle tv shows well at all. You will likely want this value to be false when ripping tv shows. # However, it does not handle tv shows well at all. You will likely want this value to be false when ripping tv shows.
MAINFEATURE=false MAINFEATURE=false
# Additional HandBrake arguments.
HB_ARGS="--subtitle scan -F"
##################### #####################
## Emby Parameters ## ## Emby Parameters ##
##################### #####################

View File

@@ -19,6 +19,7 @@ def getdvdtype():
""" Queries OMDbapi.org for title information and parses if it's a movie """ Queries OMDbapi.org for title information and parses if it's a movie
or a tv series """ or a tv series """
dvd_title = args.title dvd_title = args.title
needs_new_year = "false"
try: try:
year = dvd_title[(dvd_title.rindex('(')):len(dvd_title)] year = dvd_title[(dvd_title.rindex('(')):len(dvd_title)]
@@ -37,21 +38,39 @@ def getdvdtype():
if year is None: if year is None:
year = "" year = ""
dvd_type = callwebservice(dvd_title, year) dvd_type = callwebservice(dvd_title_clean, year)
# print (dvd_type)
# handle failures # handle failures
# first see if there is a hyphen and split it # this is kind of kludgy, but it kind of work...
if (dvd_title.find("-") > -1): if (dvd_type == "fail"):
dvd_title_slice = dvd_title[:dvd_title.find("-")]
dvd_title_slice =cleanupstring(dvd_title_slice)
dvd_type = callwebservice(dvd_title_slice)
# if still fail, then try slicing off the last word in a loop
while dvd_type == "fail" and dvd_title_clean.count('+') > 0:
dvd_title_clean = dvd_title_clean.rsplit('+', 1)[0]
dvd_type = callwebservice(dvd_title_clean)
return dvd_type # first try submitting without the year
dvd_type = callwebservice(dvd_title_clean, "")
# print (dvd_type)
if (dvd_type != "fail"):
#that means the year is wrong.
needs_new_year = "true"
if (dvd_type == "fail"):
# second see if there is a hyphen and split it
if (dvd_title.find("-") > -1):
dvd_title_slice = dvd_title[:dvd_title.find("-")]
dvd_title_slice =cleanupstring(dvd_title_slice)
dvd_type = callwebservice(dvd_title_slice)
# if still fail, then try slicing off the last word in a loop
while dvd_type == "fail" and dvd_title_clean.count('+') > 0:
dvd_title_clean = dvd_title_clean.rsplit('+', 1)[0]
dvd_type = callwebservice(dvd_title_clean)
if needs_new_year == "true":
#pass the new year back to bash to handle
global new_year
return dvd_type + "#" + new_year
else:
return dvd_type
def cleanupstring(string): def cleanupstring(string):
# clean up title string to pass to OMDbapi.org # clean up title string to pass to OMDbapi.org
@@ -61,6 +80,8 @@ def cleanupstring(string):
def callwebservice(dvd_title, year=""): def callwebservice(dvd_title, year=""):
""" Queries OMDbapi.org for title information and parses if it's a movie """ Queries OMDbapi.org for title information and parses if it's a movie
or a tv series """ or a tv series """
# print (dvd_title)
try: try:
dvd_title_info_json = urllib.request.urlopen("http://www.omdbapi.com/?t={0}&y={1}&plot=short&r=json".format(dvd_title, year)).read() dvd_title_info_json = urllib.request.urlopen("http://www.omdbapi.com/?t={0}&y={1}&plot=short&r=json".format(dvd_title, year)).read()
except: except:
@@ -70,9 +91,11 @@ def callwebservice(dvd_title, year=""):
if doc['Response'] == "False": if doc['Response'] == "False":
return "fail" return "fail"
else: else:
global new_year
new_year = doc['Year']
return doc['Type'] return doc['Type']
args = entry() args = entry()
dvd_type = getdvdtype() dvd_type = getdvdtype()
print(dvd_type) print(dvd_type)

View File

@@ -70,7 +70,18 @@ if [ "$ID_FS_TYPE" == "udf" ]; then
fi fi
if [ $HAS_NICE_TITLE == true ]; then if [ $HAS_NICE_TITLE == true ]; then
VIDEO_TYPE=$(/opt/arm/getvideotype.py -t "${VIDEO_TITLE}" 2>&1) VTYPE=$(/opt/arm/getvideotype.py -t "${VIDEO_TITLE}" 2>&1)
#handle year mismath if found
if [[ $VTYPE =~ .*#.* ]]; then
VIDEO_TYPE=$(echo "$VTYPE" | cut -f1 -d#)
NEW_YEAR=$(echo "$VTYPE" | cut -f2 -d#)
echo "VIDEO_TYPE is $VIDEO_TYPE and NEW_YEAR is $NEW_YEAR"
VIDEO_TITLE="$(echo "$VIDEO_TITLE" | cut -f1 -d\()($NEW_YEAR)"
echo "Year mismatch found. New video title is $VIDEO_TITLE"
else
VIDEO_TYPE="$VTYPE"
fi
else else
VIDEO_TYPE="unknown" VIDEO_TYPE="unknown"
fi fi

View File

@@ -36,7 +36,8 @@ TIMESTAMP=$5
mv "$SRC"/* "$DEST"/ >> "$LOG" mv "$SRC"/* "$DEST"/ >> "$LOG"
elif [ "$RIPMETHOD" = "backup" ] && [ "$MAINFEATURE" = true ] && [ "$ID_CDROM_MEDIA_BD" = "1" ]; then elif [ "$RIPMETHOD" = "backup" ] && [ "$MAINFEATURE" = true ] && [ "$ID_CDROM_MEDIA_BD" = "1" ]; then
echo "Transcoding BluRay main feature only." >> "$LOG" echo "Transcoding BluRay main feature only." >> "$LOG"
$HANDBRAKE_CLI -i "$SRC" -o "$DEST/$LABEL.$DEST_EXT" --main-feature --preset="$HB_PRESET" --subtitle scan -F 2>> "$LOG" # shellcheck disable=SC2086
$HANDBRAKE_CLI -i "$SRC" -o "$DEST/$LABEL.$DEST_EXT" --main-feature --preset="$HB_PRESET" $HB_ARGS 2>> "$LOG"
rmdir "$SRC" rmdir "$SRC"
elif [ "$RIPMETHOD" = "backup" ] && [ "$MAINFEATURE" = false ] && [ "$ID_CDROM_MEDIA_BD" = "1" ]; then elif [ "$RIPMETHOD" = "backup" ] && [ "$MAINFEATURE" = false ] && [ "$ID_CDROM_MEDIA_BD" = "1" ]; then
echo "Transcoding BluRay all titles above minlength." >> "$LOG" echo "Transcoding BluRay all titles above minlength." >> "$LOG"
@@ -58,7 +59,8 @@ TIMESTAMP=$5
echo "Title length is $SEC seconds." >> "$LOG" echo "Title length is $SEC seconds." >> "$LOG"
if [ $SEC -gt "$MINLENGTH" ]; then if [ $SEC -gt "$MINLENGTH" ]; then
echo "HandBraking title $TITLE" echo "HandBraking title $TITLE"
$HANDBRAKE_CLI -i "$SRC" -o "$DEST/$LABEL-$TITLE.$DEST_EXT" --min-duration="$MINLENGTH" -t "$TITLE" --preset="$HB_PRESET" --subtitle scan -F 2 >> "$LOG" # shellcheck disable=SC2086
$HANDBRAKE_CLI -i "$SRC" -o "$DEST/$LABEL-$TITLE.$DEST_EXT" --min-duration="$MINLENGTH" -t "$TITLE" --preset="$HB_PRESET" $HB_ARGS 2 >> "$LOG"
# Check for main title and rename # Check for main title and rename
if [ "$MAINTITLENO" = "$TITLE" ] && [ "$HAS_NICE_TITLE" = true ]; then if [ "$MAINTITLENO" = "$TITLE" ] && [ "$HAS_NICE_TITLE" = true ]; then
@@ -73,7 +75,8 @@ TIMESTAMP=$5
elif [ "$MAINFEATURE" = true ] && [ "$ID_CDROM_MEDIA_DVD" = "1" ]; then elif [ "$MAINFEATURE" = true ] && [ "$ID_CDROM_MEDIA_DVD" = "1" ]; then
echo "Transcoding DVD main feature only." >> "$LOG" echo "Transcoding DVD main feature only." >> "$LOG"
# echo "$HANDBRAKE_CLI -i $DEVNAME -o \"${DEST}/${LABEL}.${DEST_EXT}\" --main-feature --preset="${HB_PRESET}" --subtitle scan -F 2" >> $LOG # echo "$HANDBRAKE_CLI -i $DEVNAME -o \"${DEST}/${LABEL}.${DEST_EXT}\" --main-feature --preset="${HB_PRESET}" --subtitle scan -F 2" >> $LOG
$HANDBRAKE_CLI -i "$DEVNAME" -o "${DEST}/${LABEL}.${DEST_EXT}" --main-feature --preset="${HB_PRESET}" --subtitle scan -F 2>> "$LOG" # shellcheck disable=SC2086
$HANDBRAKE_CLI -i "$DEVNAME" -o "${DEST}/${LABEL}.${DEST_EXT}" --main-feature --preset="${HB_PRESET}" $HB_ARGS 2>> "$LOG"
eject "$DEVNAME" eject "$DEVNAME"
else else
echo "Transcoding all files." >> "$LOG" echo "Transcoding all files." >> "$LOG"
@@ -86,7 +89,8 @@ TIMESTAMP=$5
filename=${filename%.*} filename=${filename%.*}
echo "Transcoding file $FILE" >> "$LOG" echo "Transcoding file $FILE" >> "$LOG"
$HANDBRAKE_CLI -i "$SRC/$FILE" -o "$DEST/$filename.$DEST_EXT" --preset="$HB_PRESET" --subtitle scan -F 2>> "$LOG" # shellcheck disable=SC2086
$HANDBRAKE_CLI -i "$SRC/$FILE" -o "$DEST/$filename.$DEST_EXT" --preset="$HB_PRESET" $HB_ARGS 2>> "$LOG"
rm "$SRC/$FILE" rm "$SRC/$FILE"
done done
rmdir "$SRC" rmdir "$SRC"