I understand SurLa Tablo has a lot of features and options. Here’s a post by the author providing some examples.
I’ve recently obsessed tweaked my scripts and jobs for off-loading my tablo recordings, here’s some example how I use capto with wrapto, in cron jobs.
1- If a show title doesn’t exists it just passes and moves on, so you can just run all your shows every night. You don’t have to worry about adjusting if/when the network changes their schedule. (I don’t use this). It accounts for shows being stored in different locations.
#!/bin/bash
set -v
capto -u
get_show {
wrapto --name "$show" --filename "%n - s%se%e.mp4" --get --all --capto-args "-p $showdir -a -q"
}
#
showdir=/media/dvr
for show in "The Flintstones"\
"Barnaby Jones"\
"The People's Court"
do get_show
done
#
showdir=/media/dvr/tv-shows
for show in "black-ish"\
"The Neighborhood"\
"mixed-ish"\
"Bless This Mess"\
"American Housewife"\
"Stumptown"\
"Emergence"\
"Modern Family"\
"Carol's Second Act"\
"The Unicorn"\
"Single Parents"\
"Chicago P.D."
do get_show
done
Then I don’t like show titles “The Show with the”. So I’ve add a rename line, and/or created another functions with a different filename template to “rename” the show.
sniplet --filename "$newname - s%se%e.mp4"
It would pass “The People’s Court” PeoplesCourt /path/to/save
Then I decided to just do shows on the days they aired (I’ll probably regret it someday) using Case
today=$(date +\%a)
#
case $today in
Sun) showcript
;;
Mon) showscript
;;
#Tue etc through the week
esac
You could also specify the path with the file name. In the end, since I added the second tablo, it complicated things, I made small scripts for each show.
showscript might look like this-
#!/bin/bash
set -x
wrapto --name "Star Trek" --get --all --filename "%n - s%se%e - %t.mp4" --capto-args "-p /media/VideoLibrary/StarTrek -a -q"
Or I could just put that line in the loop or the case day condition script. (don’t forget to --update wrapto, or -u capto)
I find it easy to just set jobs in cron.d. Some show run right there, most via a script.
Note, I’ve edited and trimmed these and may have not included everything necessary for to completely run. It’s mostly just to give an overview example.