transmission: add possibilty to start / stop addon from addon manager with enable / disable

This commit is contained in:
Stefan Saraev 2012-03-07 19:27:54 +02:00
parent 408b551a87
commit 0f990d5118
3 changed files with 59 additions and 3 deletions

View File

@ -26,6 +26,9 @@ ADDON_DIR="$HOME/.xbmc/addons/service.downloadmanager.transmission"
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.downloadmanager.transmission"
LOG_FILE="$ADDON_HOME/service.log"
LOCKDIR="/var/lock/"
LOCKFILE="transmission.disabled"
export TRANSMISSION_WEB_HOME="$ADDON_DIR/web"
mkdir -p $ADDON_HOME
@ -67,5 +70,14 @@ fi
if [ ! "$(pidof transmission-daemon)" ];then
chmod +x $ADDON_DIR/lib/*
LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" transmission-daemon $TRANSMISSION_ARG &>$LOG_FILE
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
rm -rf "$LOCKDIR/$LOCKFILE"
fi
while [ true ] ; do
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
break
fi
LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH" transmission-daemon -f $TRANSMISSION_ARG &>$LOG_FILE
sleep 1
done &
fi

View File

@ -0,0 +1,32 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. /etc/profile
LOCKDIR="/var/lock/"
LOCKFILE="transmission.disabled"
if [ "$(pidof transmission-daemon)" ];then
mkdir -p "$LOCKDIR"
touch "$LOCKDIR/$LOCKFILE"
killall -9 transmission-daemon
fi

View File

@ -21,12 +21,24 @@
import os
import sys
import xbmcaddon
import time
import subprocess
__scriptname__ = "Transmission BT Client"
__author__ = "OpenELEC"
__url__ = "http://www.openelec.tv"
__settings__ = xbmcaddon.Addon(id='service.downloadmanager.transmission')
__cwd__ = __settings__.getAddonInfo('path')
__path__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "transmission.service") )
__start__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "transmission.start") )
__stop__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "transmission.stop") )
#make binary files executable in adson bin folder
subprocess.Popen("chmod -R +x " + __cwd__ + "/bin/*" , shell=True, close_fds=True)
subprocess.Popen(__start__, shell=True, close_fds=True)
while (not xbmc.abortRequested):
time.sleep(0.250)
subprocess.Popen(__stop__, shell=True, close_fds=True)
os.system(__path__)