mlblive-mastodon-scripts/mlbhighlightsave.sh

47 lines
1.1 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
set -e
set -o pipefail
while getopts 'd:t:' opt
do
case $opt in
d)
db=$OPTARG
;;
t)
team=$OPTARG
;;
?)
exit 1
;;
esac
done
if [[ -z $db ]]
then
echo "$0:" '-d is required' >&2
exit 1
fi
if [[ -z $team ]]
then
echo "$0:" '-t is required' >&2
exit 1
fi
# grab the game pk of a single live game, if multiple (in case of spring
# training)
gamePk=$(sqlite3 $db "select gamePk from games where teamId='$team' and state='In Progress' limit 1")
if [[ -z "$gamePk" ]]
if [[ "$gamePk" = 'null' ]]
then
echo "$0:" 'no live games found' >&2
exit 1
fi
# grab select data from response with jq, add 0 to the end of each line (to go
# in the 'posted' db column), then write each line to db
jqFilter='.highlights.highlights.items | map(select(.keywordsAll[].value == "highlight"))[] | {headline, id} + {url: (.playbacks | map(select(.name == "mp4Avc"))[0].url)} | select(.url | startswith("https://mlb-cuts-diamond"))'
mlblive content -g $gamePk | jq -Sc "$jqFilter" | sed 's/$/0/' | sqlite3 $db '.mode ascii' '.separator  \n' '.import /dev/stdin highlights'