diff --git a/packages/addons/downloadmanager/SABnzbd/addon b/packages/addons/downloadmanager/SABnzbd/addon
index e66733427a..88dd090e00 100755
--- a/packages/addons/downloadmanager/SABnzbd/addon
+++ b/packages/addons/downloadmanager/SABnzbd/addon
@@ -24,6 +24,7 @@
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/$1
cp -PR $PKG_BUILD/* $ADDON_BUILD/$PKG_ADDON_ID/$1
+ cp -PR $PKG_DIR/config/settings.xml* $ADDON_BUILD/$PKG_ADDON_ID/settings-default.xml
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp $BUILD/par2cmdline*/par2 $ADDON_BUILD/$PKG_ADDON_ID/bin
diff --git a/packages/addons/downloadmanager/SABnzbd/config/settings.xml b/packages/addons/downloadmanager/SABnzbd/config/settings.xml
new file mode 100644
index 0000000000..20c2a69b4e
--- /dev/null
+++ b/packages/addons/downloadmanager/SABnzbd/config/settings.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/packages/addons/downloadmanager/SABnzbd/init.d/57_SABnzbd b/packages/addons/downloadmanager/SABnzbd/init.d/57_SABnzbd
deleted file mode 100644
index ca7b69a950..0000000000
--- a/packages/addons/downloadmanager/SABnzbd/init.d/57_SABnzbd
+++ /dev/null
@@ -1,42 +0,0 @@
-################################################################################
-# This file is part of OpenELEC - http://www.openelec.tv
-# Copyright (C) 2009-2011 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, 675 Mass Ave, Cambridge, MA 02139, USA.
-# http://www.gnu.org/copyleft/gpl.html
-################################################################################
-
-# Starting SABnzbd Newsgroup downloader daemon
-#
-# runlevels: openelec, textmode
-
-(
- if [ -f /var/config/settings.conf ]; then
- . /var/config/settings.conf
-
- if [ "$SABNZBD_START" = "true" ]; then
-
- mkdir -p $HOME/.sabnzbd
- mkdir -p $HOME/downloads
- mkdir -p $HOME/downloads/incoming
- mkdir -p $HOME/downloads/watch
-
- wait_for_network
-
- progress "Starting SABnzbd Newsgroup downloader daemon"
- python /usr/lib/SABnzbd/SABnzbd.py -d -f $HOME/.sabnzbd/sabnzbd.conf -l 0 > /dev/null 2>&1
- fi
- fi
-)&
diff --git a/packages/addons/downloadmanager/SABnzbd/source/bin/ini_tool b/packages/addons/downloadmanager/SABnzbd/source/bin/ini_tool
new file mode 100755
index 0000000000..bf350d9f16
--- /dev/null
+++ b/packages/addons/downloadmanager/SABnzbd/source/bin/ini_tool
@@ -0,0 +1,82 @@
+#!/usr/bin/env python
+
+from configobj import ConfigObj
+import sys
+import os
+
+python_major = sys.version_info[0]
+python_minor = sys.version_info[1]
+
+prog="ini_tool"
+description="""Read/Write config files.
+
+Examples:
+ %(prog)s --file config.ini --action read --section "general" --option username
+ %(prog)s --file config.ini --action write --section "general" --option username --value foo""" % {'prog':prog}
+
+def option_required_error(option):
+ parser.print_usage()
+ print prog + ": error: " + option + " is required"
+ exit(2)
+
+if python_major > 2 or (python_major == 2 and python_minor >= 7):
+ import argparse
+
+ parser = argparse.ArgumentParser(
+ prog=prog,
+ description=description,
+ formatter_class=argparse.RawDescriptionHelpFormatter,
+ )
+
+ parser.add_argument('--file', help='file to read/write to/from', required=True)
+ parser.add_argument('--action', help='read|write', required=True)
+ parser.add_argument('--section', help='the config section', required=True)
+ parser.add_argument('--option', help='the option key', required=True)
+ parser.add_argument('--value', help='value to store in the given option (only for write action)')
+
+ options = parser.parse_args()
+
+else:
+ import optparse
+
+ parser = optparse.OptionParser(
+ prog=prog,
+ description=description,
+ )
+
+ parser.add_option('--file', help='file to read/write to/from')
+ parser.add_option('--action', help='read|write')
+ parser.add_option('--section', help='the config section')
+ parser.add_option('--option', help='the option key')
+ parser.add_option('--value', help='value to store in the given option (only for write action)')
+
+ (options, args) = parser.parse_args()
+
+ if not options.file:
+ option_required_error("--file")
+ if not options.action:
+ option_required_error("--action")
+ if not options.section:
+ option_required_error("--section")
+ if not options.option:
+ option_required_error("--option")
+
+
+if options.action != "read" and options.action != "write":
+ print "'" + options.action + "' is not a valid action"
+ parser.print_help()
+ exit(2)
+
+if options.action == "read" and not os.path.isfile(options.file):
+ print "'" + options.file + "' is not a file"
+ exit(2)
+
+config = ConfigObj(options.file)
+
+if options.action == 'read':
+ print config[options.section][options.option]
+elif options.action == 'write':
+ config[options.section][options.option] = options.value
+ config.write()
+else:
+ exit(1)
\ No newline at end of file
diff --git a/packages/addons/downloadmanager/SABnzbd/source/resources/language/Dutch/strings.xml b/packages/addons/downloadmanager/SABnzbd/source/resources/language/Dutch/strings.xml
index d8c05619fc..69ffefaeb3 100644
--- a/packages/addons/downloadmanager/SABnzbd/source/resources/language/Dutch/strings.xml
+++ b/packages/addons/downloadmanager/SABnzbd/source/resources/language/Dutch/strings.xml
@@ -4,7 +4,6 @@
SABnzbd
Gebruikers instellingen
- Gebruik verificatie
Gebruikersnaam
Wachtwoord
Netwerk instellingen
diff --git a/packages/addons/downloadmanager/SABnzbd/source/resources/language/English/strings.xml b/packages/addons/downloadmanager/SABnzbd/source/resources/language/English/strings.xml
index af7ad16aff..68cb162a30 100644
--- a/packages/addons/downloadmanager/SABnzbd/source/resources/language/English/strings.xml
+++ b/packages/addons/downloadmanager/SABnzbd/source/resources/language/English/strings.xml
@@ -4,7 +4,6 @@
SABnzbd
User Settings
- Use authentification
Username
Password
Network Settings
diff --git a/packages/addons/downloadmanager/SABnzbd/source/resources/language/French/strings.xml b/packages/addons/downloadmanager/SABnzbd/source/resources/language/French/strings.xml
index 8f43dc8e2d..fb3f0fc1f9 100644
--- a/packages/addons/downloadmanager/SABnzbd/source/resources/language/French/strings.xml
+++ b/packages/addons/downloadmanager/SABnzbd/source/resources/language/French/strings.xml
@@ -4,7 +4,6 @@
SABnzbd
Préférences utilisateur
- Utiliser une authentification
Nom d'utilisateur
Mot de passe
Préférences réseau
diff --git a/packages/addons/downloadmanager/SABnzbd/source/resources/language/German/strings.xml b/packages/addons/downloadmanager/SABnzbd/source/resources/language/German/strings.xml
index 99cf2a8618..ad209d26c7 100644
--- a/packages/addons/downloadmanager/SABnzbd/source/resources/language/German/strings.xml
+++ b/packages/addons/downloadmanager/SABnzbd/source/resources/language/German/strings.xml
@@ -4,7 +4,6 @@
SABnzbd
Benutzer Einstellungen
- Authentifizierung verwenden
Benutzername
Passwort
Netzwerk Einstellungen
diff --git a/packages/addons/downloadmanager/SABnzbd/source/resources/language/Norwegian/strings.xml b/packages/addons/downloadmanager/SABnzbd/source/resources/language/Norwegian/strings.xml
index 390240a437..a70961eb4c 100644
--- a/packages/addons/downloadmanager/SABnzbd/source/resources/language/Norwegian/strings.xml
+++ b/packages/addons/downloadmanager/SABnzbd/source/resources/language/Norwegian/strings.xml
@@ -4,7 +4,6 @@
SABnzbd
Bruker Instillinger
- Bruk inlogging
Brukernavn
Passord
Nettverksinstillinger
diff --git a/packages/addons/downloadmanager/SABnzbd/source/resources/settings.xml b/packages/addons/downloadmanager/SABnzbd/source/resources/settings.xml
index a9e6b7f346..4200202909 100644
--- a/packages/addons/downloadmanager/SABnzbd/source/resources/settings.xml
+++ b/packages/addons/downloadmanager/SABnzbd/source/resources/settings.xml
@@ -5,7 +5,6 @@
-
diff --git a/packages/addons/downloadmanager/SABnzbd/source/start.sh b/packages/addons/downloadmanager/SABnzbd/source/start.sh
index 381c4a913d..3ebe911e95 100755
--- a/packages/addons/downloadmanager/SABnzbd/source/start.sh
+++ b/packages/addons/downloadmanager/SABnzbd/source/start.sh
@@ -26,40 +26,51 @@ export PYTHONPATH="$PYTHONPATH:./pylib"
SABNZBD_HOME="$HOME/.xbmc/userdata/addon_data/addon.downloadmanager.SABnzbd"
SABNZBD_SETTINGS="$SABNZBD_HOME/settings.xml"
-mkdir -p $SABNZBD_HOME
+SABNZBD_DISABLEAPIKEY="0"
+SABNZBD_HTTPPORT="8081"
+SABNZBD_HTTPSPORT="9081"
+SABNZBD_SKIN="Plush"
+SABNZBD_SKIN2="Plush"
+SABNZBD_WEBCOLOR="gold"
+SABNZBD_WEBCOLOR2="gold"
-# if [ ! -f "$SABNZBD_SETTINGS" ]; then
-# cp settings.xml $SABNZBD_SETTINGS
-# fi
+write_ini() {
+python bin/ini_tool --action=write \
+ --file=$SABNZBD_HOME/sabnzbd.ini \
+ --section="$1" \
+ --option="$2" \
+ --value="$3"
+}
+
+mkdir -p $SABNZBD_HOME
+chmod +x ./bin/*
+
+if [ ! -f "$SABNZBD_SETTINGS" ]; then
+ cp settings-default.xml $SABNZBD_SETTINGS
+fi
mkdir -p /storage/downloads
mkdir -p /storage/downloads/incoming
mkdir -p /storage/downloads/watch
-# TRANSMISSION_START=`grep TRANSMISSION_START $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
-# TRANSMISSION_AUTH=`grep TRANSMISSION_AUTH $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
-# TRANSMISSION_USER=`grep TRANSMISSION_USER $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
-# TRANSMISSION_PWD=`grep TRANSMISSION_PWD $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
-# TRANSMISSION_IP=`grep TRANSMISSION_IP $OPENELEC_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
+# use settings from xbmc setup dialog
+SABNZBD_USER=`grep SABNZBD_USER $SABNZBD_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
+SABNZBD_PWD=`grep SABNZBD_PWD $SABNZBD_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
+SABNZBD_IP=`grep SABNZBD_IP $SABNZBD_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
-# if [ -z "$TRANSMISSION_IP" ]; then
-# TRANSMISSION_IP="*.*.*.*"
-# fi
+if [ -z "$SABNZBD_IP" ]; then
+ SABNZBD_IP="0.0.0.0"
+fi
-# TRANSMISSION_ARG="$TRANSMISSION_ARG -w /storage/downloads"
-# TRANSMISSION_ARG="$TRANSMISSION_ARG --incomplete-dir /storage/downloads/incoming"
-# TRANSMISSION_ARG="$TRANSMISSION_ARG --watch-dir /storage/downloads/watch"
-# TRANSMISSION_ARG="$TRANSMISSION_ARG -e /var/log/transmission.log"
-# TRANSMISSION_ARG="$TRANSMISSION_ARG -g /storage/.cache/transmission"
-# TRANSMISSION_ARG="$TRANSMISSION_ARG -a $TRANSMISSION_IP"
+write_ini misc disable_api_key $SABNZBD_DISABLEAPIKEY
+write_ini misc username $SABNZBD_USER
+write_ini misc password $SABNZBD_PWD
+write_ini misc port $SABNZBD_HTTPPORT
+write_ini misc https_port $SABNZBD_HTTPSPORT
+write_ini misc host $SABNZBD_IP
+write_ini misc web_dir $SABNZBD_SKIN
+write_ini misc web_dir2 $SABNZBD_SKIN2
+write_ini misc web_color $SABNZBD_WEBCOLOR
+write_ini misc web_color2 $SABNZBD_WEBCOLOR2
-# if [ "$TRANSMISSION_AUTH" = "true" ]; then
-# TRANSMISSION_ARG="$TRANSMISSION_ARG -t"
-# TRANSMISSION_ARG="$TRANSMISSION_ARG -u $TRANSMISSION_USER"
-# TRANSMISSION_ARG="$TRANSMISSION_ARG -v $TRANSMISSION_PWD"
-# else
-# TRANSMISSION_ARG="$TRANSMISSION_ARG -T"
-# fi
-
-chmod +x ./bin/*
-python ./SABnzbd/SABnzbd.py -d -f $SABNZBD_HOME/sabnzbd.conf -l 0 > /dev/null 2>&1
+python ./SABnzbd/SABnzbd.py -d -f $SABNZBD_HOME/sabnzbd.ini -l 0 > /dev/null 2>&1