summaryrefslogtreecommitdiffstats
path: root/linhes/linhes-system/recordings.cron
blob: 387910fd076d005eb8a93cdc913f17b0d881771f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
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"