From e39e633138f49a1e84822a2fd76545b8b6345c93 Mon Sep 17 00:00:00 2001 From: stbenz Date: Wed, 27 Apr 2016 19:26:09 +0200 Subject: [PATCH] tvheadend: fix tv_grab_file tvheadend calls `tv_grab_file --description` to get a description of the grabber. If the grabber doesn't return a string, tvheadend will not use the grabber. --- .../service/tvheadend/source/bin/tv_grab_file | 61 ++++++++++++++----- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/packages/addons/service/tvheadend/source/bin/tv_grab_file b/packages/addons/service/tvheadend/source/bin/tv_grab_file index f657f57421..027ee869cd 100755 --- a/packages/addons/service/tvheadend/source/bin/tv_grab_file +++ b/packages/addons/service/tvheadend/source/bin/tv_grab_file @@ -18,23 +18,52 @@ # along with OpenELEC. If not, see . ################################################################################ -. /etc/profile +if [ $# -lt 1 ] +then + . /etc/profile -ADDON_HOME="$HOME/.kodi/userdata/addon_data/service.multimedia.tvheadend" -ADDON_SETTINGS="$ADDON_HOME/settings.xml" -XMLTV_TYPE=`grep XMLTV_TYPE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` -XMLTV_LOCATION_FILE=`grep XMLTV_LOCATION_FILE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` -XMLTV_LOCATION_WEB=`grep XMLTV_LOCATION_WEB $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` -XMLTV_LOCATION_SCRIPT=`grep XMLTV_LOCATION_SCRIPT $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` + ADDON_HOME="$HOME/.kodi/userdata/addon_data/service.multimedia.tvheadend" + ADDON_SETTINGS="$ADDON_HOME/settings.xml" + XMLTV_TYPE=`grep XMLTV_TYPE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` + XMLTV_LOCATION_FILE=`grep XMLTV_LOCATION_FILE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` + XMLTV_LOCATION_WEB=`grep XMLTV_LOCATION_WEB $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` + XMLTV_LOCATION_SCRIPT=`grep XMLTV_LOCATION_SCRIPT $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"` -if [ "$XMLTV_TYPE" = "FILE" ]; then - cat "$XMLTV_LOCATION_FILE" - exit 0 -elif [ "$XMLTV_TYPE" = "SCRIPT" ]; then - if [ -e "$XMLTV_LOCATION_SCRIPT" ] ; then - exec "$XMLTV_LOCATION_SCRIPT" + if [ "$XMLTV_TYPE" = "FILE" ]; then + cat "$XMLTV_LOCATION_FILE" + exit 0 + elif [ "$XMLTV_TYPE" = "SCRIPT" ]; then + if [ -e "$XMLTV_LOCATION_SCRIPT" ] ; then + exec "$XMLTV_LOCATION_SCRIPT" + fi + elif [ "$XMLTV_TYPE" = "WEB" ]; then + wget -qO - "$XMLTV_LOCATION_WEB" + exit 0 fi -elif [ "$XMLTV_TYPE" = "WEB" ]; then - wget -qO - "$XMLTV_LOCATION_WEB" - exit 0 +fi + +dflag= +vflag= +cflag= + +for a in "$@" +do +[ "$a" = "-d" -o "$a" = "--description" ] && dflag=1 +[ "$a" = "-v" -o "$a" = "--version" ] && vflag=1 +[ "$a" = "-c" -o "$a" = "--capabilities" ] && cflag=1 +done + +if [ -n "$dflag" ] +then +echo "tv_grab_file is a simple grabber that can be configured through the addon settings from Kodi" +fi + +if [ -n "$vflag" ] +then +echo "1.0" +fi + +if [ -n "$cflag" ] +then +echo "baseline" fi