Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42845b8265 | ||
|
|
07080fdd9b | ||
|
|
cf48fec50f | ||
|
|
cc408285c5 | ||
|
|
cff56120ba | ||
|
|
660aa152da | ||
|
|
9e6a2899f5 |
@@ -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 ##
|
||||||
#####################
|
#####################
|
||||||
|
|||||||
@@ -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)
|
||||||
13
identify.sh
13
identify.sh
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user