diff options
Diffstat (limited to 'linhes/linhes-system/recordings.cron')
-rw-r--r-- | linhes/linhes-system/recordings.cron | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/linhes/linhes-system/recordings.cron b/linhes/linhes-system/recordings.cron new file mode 100644 index 0000000..387910f --- /dev/null +++ b/linhes/linhes-system/recordings.cron @@ -0,0 +1,146 @@ +#!/bin/bash + +#START=$(date +%s) + +#check if mythbackend is running and was just started +for i in 1 2 +do +if [ `ps -ef | grep mythbackend |grep -v "grep" | wc -l` ] +then + now=$(date +%s) + mythbackendStartTime=`systemctl status mythbackend.service | grep Active| cut -d ' ' -f 11-12` + mythbackendStartTime=`date -d"$mythbackendStartTime" +"%s"` + if [[ $(( $now - $mythbackendStartTime )) -lt 59 ]] + then + #echo "mythbackend started less than a minute ago. Sleeping..." + sleep 60 + fi +else + #echo "mythbackend not running. exiting." + exit +fi +done + +if [ -f /usr/share/mythtv/contrib/user_jobs/mythlink.pl ] +then + recdir="/data/storage/disk0/media/recordings" + tmprecdir="/data/storage/disk0/media/tmp/recordings" + rm -r $tmprecdir + su - mythtv -c "perl /usr/share/mythtv/contrib/user_jobs/mythlink.pl --format '%Ct/%U/%T/%T %- S%ssE%ep %- %oY-%om-%od = %S' --link '$tmprecdir'" + + # rename category_types (%Ct) from numbers to names + for cattype in $tmprecdir/* + do + if [ $cattype == "$tmprecdir/1" ] + then + rsync -a "$cattype/" "$tmprecdir/Movies" + rm -r "$cattype" + elif [[ $cattype == "$tmprecdir/2" ]] || [[ $cattype == "$tmprecdir/4" ]] + then + rsync -a "$cattype/" "$tmprecdir/TV Shows" + rm -r "$cattype" + elif [ $cattype == "$tmprecdir/3" ] + then + rsync -a "$cattype/" "$tmprecdir/Sports" + rm -r "$cattype" + else + #ignore Movies, TV Shows, Sports. Move all others to TV Shows + if [[ $cattype != "$tmprecdir/Movies" ]] && [[ $cattype != "$tmprecdir/TV Shows" ]] && [[ $cattype != "$tmprecdir/Sports" ]] + then + if [ ! -d "$tmprecdir/TV Shows" ] + then + mkdir "$tmprecdir/TV Shows" + fi + rsync -a "$cattype" "$tmprecdir/TV Shows" + rm -r "$cattype" + fi + fi + done + + #delete Deleted recgroup + for link in $tmprecdir/**/Deleted + do + rm -r "$link" + done + + #move all links in recgroup dirs out to parent dir + for recgroup in $tmprecdir/**/* + do + if [ -d "$recgroup" ] + then + cd "$recgroup" + rsync -a "$recgroup/" .. + cd "$tmprecdir" + rm -r "$recgroup" + fi + done + + #replace SE if no season/episode is in myth + for link in $tmprecdir/**/**/*\ -\ SE\ -\ * + do + newlink=`echo "$link" | sed 's/ - SE - / - /'` + mv "$link" "$newlink" + done + #replace SEyy if no season is in myth + for link in $tmprecdir/**/**/*\ -\ SE[0-9][0-9]\ -\ * + do + newlink=`echo "$link" | sed 's/ - SE/ - S00E/'` + mv "$link" "$newlink" + done + #replace SyyE if no episode is in myth + for link in $tmprecdir/**/**/*\ -\ S[0-9][0-9]E\ -\ * + do + newlink=`echo "$link" | sed 's/E - /E00 - /'` + mv "$link" "$newlink" + done + #replace blank original date + for link in $tmprecdir/**/**/*\ -\ 0000-00-00\ -\ * + do + newlink=`echo "$link" | sed 's/ - 0000-00-00 - / - /'` + mv "$link" "$newlink" + done + #add dash pt suffix if filename before the subtitle is the same + #so that plex will scan and include in library + uniqs="$(ls $tmprecdir/**/**/* | sed 's/ = .*//' | sort | uniq -d)" + SAVEIFS=$IFS + IFS=$'\n' + for link in $uniqs + do + i=1 + for dup in `ls -v $link*` + do + newlink=`echo "$dup" | sed "s/ = /-pt$i = /"` + mv "$dup" "$newlink" + i=$((i+1)) + done + done + IFS=$SAVEIFS + + #change symlinks mtime to match the file it is linked to +# for link in $tmprecdir/**/* +# do +# if [ -L "$link" ] +# then +# file=`readlink "$link"` +# touch -hr "$file" "$link" +# fi +# done + + #sync tmprecdir to recdir + #rsync -aOP --delete --ignore-existing "$tmprecdir/" "$recdir/" + rsync -aO --delete "$tmprecdir/" "$recdir/" + + #check if plex media server is running + if [[ `pidof "Plex Media Server"` ]] + then + #get plex section and update + script -q -c '/usr/bin/plexmediascanner.sh -l' | grep -i myth | cut -d: -f1 | while read -r line + do + /usr/bin/plexmediascanner.sh --scan --refresh --section $line + done + fi +fi + +#END=$(date +%s) +#DIFF=$(( $END - $START )) +#echo "It took $DIFF seconds" |