| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/bin/bash
- # Parameters
- USER="plex"
- PASS="bobola22"
- HOST="localhost"
- PORT="3000"
- # Figure out what we should do
- CMD="`basename "${0}" | sed 's%^plex\-%%' | tr a-z A-Z`"
- # Reduce typing
- CURL="curl --silent --get --user ${USER}:${PASS}"
- RPATH="/xbmcCmds/xbmcHttp"
- URL="http://${HOST}:${PORT}${RPATH}"
- OUTPUT=0
- # Pick a command
- if [ "${CMD}" == "UPDATE" ]; then
- URL="${URL}/?command=ExecBuiltIn¶meter=XBMC.updatelibrary(video)"
- elif [ "${CMD}" == "CLEAN" ]; then
- URL="${URL}?command=ExecBuiltIn¶meter=XBMC.CleanLibrary(video)"
- elif [ "${CMD}" == "FILES" ]; then
- URL="${URL}?command=queryvideodatabase(SELECT%20path.strPath,%20files.strFilename%20FROM%20path%20JOIN%20files%20ON%20path.idPath%20=%20files.idPath%20JOIN%20episode%20ON%20files.idFile%20=%20episode.idFile)"
- OUTPUT=1
- elif [ "${CMD}" == "BUTTON" ]; then
- URL="${URL}?command=SendKey(${1})"
- elif [ "${CMD}" == "PLAYING" ]; then
- URL="${URL}?command=GetCurrentlyPlaying"
- OUTPUT=1
- elif [ "${CMD}" == "RESOLUTION" ]; then
- URL="${URL}?command=GetGuiDescription"
- OUTPUT=1
- elif [ "${CMD}" == "GUI" ]; then
- URL="${URL}?command=GetGuiStatus"
- OUTPUT=1
- else
- echo "Unknown command: ${CMD}" 1>&2
- exit 1
- fi
- # Bail if Plex is not running
- if ! ps awx -o comm= | grep -v 'Media Server' | grep -q 'MacOS/Plex'; then
- if [ $OUTPUT -gt 0 ]; then
- echo "Plex is not running" 1>&2
- exit 1
- fi
- exit 0
- fi
- # Run the command
- if [ $OUTPUT -gt 0 ]; then
- $CURL "${URL}"
- else
- $CURL "${URL}" >/dev/null
- fi
|