#!/bin/bash set -e 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 gamePk=$(mlblivepk.sh -t $team) if [[ -z $gamePk || "$gamePk" = 'null' ]] then echo "$0:" 'no live games found' >&2 exit 1 fi jqFilter='{gamePk} + (.gameData.teams | {awayTeam: .away.teamName, homeTeam: .home.teamName}) + (.liveData.plays.allPlays[] | (.result + (.about | {atBatIndex, halfInning, inning, isComplete, isScoringPlay, hasReview})))' mlblive subscribe -g $gamePk | jq -Sc --unbuffered "$jqFilter" | sed -u 's/$/0/' | writedb.sh -d $db -t plays -c ''