Skip to content
Snippets Groups Projects
Select Git revision
  • e3d0ef506d34a54cd9b65f2789e0a7624561d7fd
  • master default
2 results

kodi-scan

Blame
  • kodi-scan 1.05 KiB
    #!/bin/sh
    set -eu
    
    scan() {
        case "${1:-}" in
            audio) curl \
                    --data-binary \
                    '{ "jsonrpc": "2.0", "method": "AudioLibrary.Scan", "id": "transmission"}' \
                    -H 'content-type: application/json;' \
                    http://172.18.0.1:8080/jsonrpc ;;
            video) curl \
                    --data-binary \
                    '{ "jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "transmission"}' \
                    -H 'content-type: application/json;' \
                    http://172.18.0.1:8080/jsonrpc ;;
            *) scan video; scan audio ;;
        esac
    }
    
    starts_with() {
        [ "${1##$2}" != "$1" ]
    }
    
    is_in_dir() {
        ! starts_with "$(realpath --relative-base "$1" "$2")" '/'
    }
    
    if [ -z "${TR_TORRENT_DIR:-}" ]
    then
        scan
    elif is_in_dir '/var/lib/transmission/Downloads/TV Shows' "$TR_TORRENT_DIR"
    then
        scan video
    elif is_in_dir '/var/lib/transmission/Downloads/Movies' "$TR_TORRENT_DIR"
    then
        scan video
    elif is_in_dir '/var/lib/transmission/Downloads/Music' "$TR_TORRENT_DIR"
    then
        scan audio
    else
        scan
    fi