mediabox annotate mediabox @ rev 6

Add mediabox cmdline tool and main CGI script
author Christophe Lincoln <pankso@slitaz.org>
date Thu Feb 23 21:48:35 2017 +0100 (2017-02-23)
parents
children
rev   line source
pankso@6 1 #!/bin/sh
pankso@6 2 #
pankso@6 3 # Cmdline tool to run, debug and config CGI/SHell MediaBox
pankso@6 4 #
pankso@6 5 # Copyright (C) 2017 SliTaz GNU/Linux - BSD License
pankso@6 6 #
pankso@6 7
pankso@6 8 config="$HOME/.config/mediabox"
pankso@6 9 playlists="$config/playlists"
pankso@6 10 #url="http://localhost/cgi-bin/mediabox/index.cgi"
pankso@6 11 url="http://localhost/~pankso/cgi-bin/mediabox/index.cgi"
pankso@6 12
pankso@6 13 # Internationalization
pankso@6 14 . /usr/bin/gettext.sh
pankso@6 15 export TEXTDOMAIN='mediabox'
pankso@6 16
pankso@6 17 help() {
pankso@6 18 cat << EOT
pankso@6 19 $(gettext "MediaBox cmdline tool")
pankso@6 20
pankso@6 21 $(gettext "Usage:") $(basename $0) [file|command] [file]
pankso@6 22 $(gettext "Commands:")
pankso@6 23 add-playlist Add a playlist into MediaBox database
pankso@6 24
pankso@6 25 $(gettext "Examples:")
pankso@6 26 $(basename $0) path/to/Music/audio.ogg
pankso@6 27 $(basename $0) add-playlist path/to/playlist.m3u
pankso@6 28
pankso@6 29 EOT
pankso@6 30 }
pankso@6 31
pankso@6 32 init() {
pankso@6 33 install -m 0777 -d ${config}
pankso@6 34 install -m 0777 -d ${playlists}
pankso@6 35 cat > ${config}/mediabox.conf << EOT
pankso@6 36 # CGI/SHell MediaBox configuration file
pankso@6 37
pankso@6 38 LOCALE="$(locale | grep LANG= | cut -d "=" -f 2)"
pankso@6 39
pankso@6 40 MUSIC="$HOME/Music"
pankso@6 41 VIDEOS="$HOME/Videos"
pankso@6 42
pankso@6 43 EOT
pankso@6 44 echo "favorites.list|Favorites" > ${config}/playlists.list
pankso@6 45 touch ${playlists}/favorites.m3u
pankso@6 46 chmod 0666 \
pankso@6 47 ${config}/mediabox.conf \
pankso@6 48 ${config}/playlists.list \
pankso@6 49 ${playlists}/favorites.m3u
pankso@6 50 }
pankso@6 51
pankso@6 52 #
pankso@6 53 # Handle commands|files|urls
pankso@6 54 #
pankso@6 55 case "$1" in
pankso@6 56
pankso@6 57 add-playlist)
pankso@6 58 [ ! -f "$2" ] && help && exit 0
pankso@6 59 file=$(basename "$2")
pankso@6 60 count=$(wc -l "$2" | cut -d ' ' -f 1)
pankso@6 61 gettext "Adding playlist:"; echo -n " "; basename "$2"
pankso@6 62 gettext "Playlist tracks:"; echo " $count"
pankso@6 63 cp -f "$2" ${playlists} || exit 1
pankso@6 64 cat >> ${config}/playlists.list << EOT
pankso@6 65 $file|$(echo ${file%.m3u})
pankso@6 66 EOT
pankso@6 67 ;;
pankso@6 68
pankso@6 69 *.m3u)
pankso@6 70 tazweb "${url}?playlists&play=$1" & ;;
pankso@6 71
pankso@6 72 *.avi)
pankso@6 73 tazweb "${url}?videos&play=$1" & ;;
pankso@6 74
pankso@6 75 *.mp3|*.ogg|*.wav)
pankso@6 76 tazweb "${url}?music&play=$1" & ;;
pankso@6 77
pankso@6 78 "")
pankso@6 79 [ -f "$config/mediabox.conf" ] || init
pankso@6 80 tazweb --notoolbar "${url}?home=$HOME" & ;;
pankso@6 81
pankso@6 82 *) help ;;
pankso@6 83
pankso@6 84 esac && exit 0