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 |