#!/bin/sh update_from_cli() { # ChuckPa already wrote a great function for getting host info source ./HostConfig.sh echo "Getting Host Information" HostConfig plex_scanner_location="$PKGDIR/Plex Media Scanner" echo "Getting Plex Library list" echo $("$plex_scanner_location" --list) } update_from_api() { # get plex token source ./plex-token.sh # run a loop against each library for library_number in `curl -s -H "Accept: application/json" -H "X-Plex-Token: ${LOCAL_PLEX_TOKEN}" http://127.0.0.1:32400/library/sections | jq -M -r '.MediaContainer.Directory[] | "\(.key)"'` do echo "Running Library Update and metadata refresh for key: ${library_number}" curl -X PUT http://127.0.0.1:32400/library/sections/${library_number}/refresh\?force=1\&X-Plex-Token=${LOCAL_PLEX_TOKEN} echo "Emptying Trash for key: ${library_number}" curl -X PUT http://127.0.0.1:32400/library/sections/${library_number}/emptyTrash\?X-Plex-Token=${LOCAL_PLEX_TOKEN} done echo "Cleaning Bundles" curl -X PUT http://127.0.0.1:32400/library/clean/bundles?X-Plex-Token=${LOCAL_PLEX_TOKEN} } case "$2" in api) update_from_api;; ""|cli) update_from_cli;; *) echo "'$1' is not a valid plex-tools freshen command";; esac # clean PhotoTranscoder Cache #echo "Deleting PhotoTranscoder Cache" #CACHEPATH="$AppSuppDir/Plex Media Server/Cache/PhotoTranscoder" #find "${CACHEPATH}" -type f -delete