diff --git a/plex_update.ps1 b/plex_update.ps1 index d1a7f29..c335acb 100644 --- a/plex_update.ps1 +++ b/plex_update.ps1 @@ -1,27 +1,18 @@ -# PLEX PARTIAL SCAN script or PLEX UPDATE script -# When zurg detects changes, it can trigger this script IF your config.yml contains -# on_library_update: & { & '.\plex_update.ps1' $args } +Add-Type -AssemblyName System.Web -# this uses python3 -# docker compose exec zurg apk add python3 -# sudo apt install python3 +$plex_url = "http://yourplexip:32400" +$token = "YourPlexTokenHere" +$zurg_mount = "YourZurgMountLetterHere:" -$plex_url = "http://yourplexip:32400" # If you're using zurg inside a Docker container, by default it is 172.17.0.1:32400 -$token = "yourplextoken" # open Plex in a browser, open dev console and copy-paste this: window.localStorage.getItem("myPlexAccessToken") -$zurg_mount = "/mnt/zurg" # replace with your zurg mount path, ensure this is what Plex sees - -# Get the list of section IDs $section_ids = (Invoke-WebRequest -Uri "$plex_url/library/sections" -Headers @{"X-Plex-Token" = $token} -Method Get).Content | Select-Xml -XPath "//Directory/@key" | ForEach-Object { $_.Node.Value } foreach ($arg in $args) { - # Construct the full path $modified_arg = "$zurg_mount/$arg" Write-Host "Detected update on: $arg" Write-Host "Absolute path: $modified_arg" - # URL Encode the path $encoded_arg = [System.Web.HttpUtility]::UrlEncode($modified_arg) if ([string]::IsNullOrEmpty($encoded_arg)) { @@ -29,10 +20,6 @@ foreach ($arg in $args) { continue } - # Additional escaping logic here if necessary - # For instance, if certain characters are not being correctly escaped by UrlEncode, - # you can add custom replace commands here. - foreach ($section_id in $section_ids) { $final_url = "${plex_url}/library/sections/${section_id}/refresh?path=${encoded_arg}&X-Plex-Token=${token}"