mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
SABnzbd: readd as completly reworked addon
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
12eb537e2b
commit
bf6353a02a
37
packages/addons/service/downloadmanager/SABnzbd/addon
Executable file
37
packages/addons/service/downloadmanager/SABnzbd/addon
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# 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
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
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
|
||||
cp $BUILD/unrar/unrar $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp $BUILD/unzip*/unzip $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/pylib
|
||||
cp -R $BUILD/Cheetah*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib
|
||||
cp -R $BUILD/pyOpenSSL*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib
|
||||
cp -R $BUILD/yenc*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib
|
@ -0,0 +1,6 @@
|
||||
0.99.2
|
||||
- update to SABnzbd-0.6.1
|
||||
- rework addon
|
||||
|
||||
0.99.1
|
||||
- initial version SABnzbd-0.6.0RC2
|
@ -0,0 +1,5 @@
|
||||
<settings>
|
||||
<setting id="SABNZBD_IP" value="0.0.0.0" />
|
||||
<setting id="SABNZBD_PWD" value="" />
|
||||
<setting id="SABNZBD_USER" value="" />
|
||||
</settings>
|
BIN
packages/addons/service/downloadmanager/SABnzbd/icon/icon.png
Normal file
BIN
packages/addons/service/downloadmanager/SABnzbd/icon/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
38
packages/addons/service/downloadmanager/SABnzbd/meta
Normal file
38
packages/addons/service/downloadmanager/SABnzbd/meta
Normal file
@ -0,0 +1,38 @@
|
||||
################################################################################
|
||||
# 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
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="SABnzbd"
|
||||
PKG_VERSION="0.6.1"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://sabnzbd.org/"
|
||||
PKG_URL="$SOURCEFORGE_SRC/sabnzbdplus/sabnzbdplus/sabnzbd-${PKG_VERSION}/${PKG_NAME}-${PKG_VERSION}-src.tar.gz"
|
||||
PKG_DEPENDS="Python Cheetah pyOpenSSL yenc unrar unzip par2cmdline"
|
||||
PKG_BUILD_DEPENDS="toolchain Python Cheetah pyOpenSSL yenc unrar unzip par2cmdline"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="service/downloadmanager"
|
||||
PKG_SHORTDESC="SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can."
|
||||
PKG_LONGDESC="SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add a .nzb file. SABnzbd+ takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction."
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
|
||||
PKG_AUTORECONF="no"
|
@ -0,0 +1,214 @@
|
||||
diff -Naur SABnzbd-0.6.1/interfaces/Plush/templates/config_directories.tmpl SABnzbd-0.6.1.patch/interfaces/Plush/templates/config_directories.tmpl
|
||||
--- SABnzbd-0.6.1/interfaces/Plush/templates/config_directories.tmpl 2011-05-15 10:44:29.000000000 +0200
|
||||
+++ SABnzbd-0.6.1.patch/interfaces/Plush/templates/config_directories.tmpl 2011-05-23 20:05:59.254145174 +0200
|
||||
@@ -109,49 +109,6 @@
|
||||
</fieldset>
|
||||
</div><!-- /component-group1 -->
|
||||
|
||||
- <div id="core-component-group2" class="component-group clearfix">
|
||||
- <div class="component-group-desc">
|
||||
- <h3>$T('systemFolders')</h3>
|
||||
- <p><small>$T('base-folder'):<br/>$my_lcldata</small></p>
|
||||
- </div>
|
||||
- <fieldset class="component-group-list">
|
||||
- <div class="field-pair">
|
||||
- <label class="nocheck clearfix" for="admin_dir">
|
||||
- <span class="component-title">$T('opt-admin_dir')</span>
|
||||
- <input type="text" size="50" name="admin_dir" id="admin_dir" value="$admin_dir">
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-admin_dir1')</span>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-admin_dir2')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair alt">
|
||||
- <label class="nocheck clearfix" for="log_dir">
|
||||
- <span class="component-title">$T('opt-log_dir')</span>
|
||||
- <input type="text" size="50" name="log_dir" id="log_dir" value="$log_dir">
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-log_dir')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair">
|
||||
- <label class="nocheck clearfix" for="nzb_backup_dir">
|
||||
- <span class="component-title">$T('opt-nzb_backup_dir')</span>
|
||||
- <input type="text" size="50" name="nzb_backup_dir" id="nzb_backup_dir" value="$nzb_backup_dir">
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-nzb_backup_dir')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- </fieldset>
|
||||
- </div><!-- /component-group2 -->
|
||||
-
|
||||
<div class="component-group-last clearfix">
|
||||
<div class="component-group-desc">
|
||||
<h3> </h3>
|
||||
diff -Naur SABnzbd-0.6.1/interfaces/Plush/templates/config_general.tmpl SABnzbd-0.6.1.patch/interfaces/Plush/templates/config_general.tmpl
|
||||
--- SABnzbd-0.6.1/interfaces/Plush/templates/config_general.tmpl 2011-05-15 10:44:29.000000000 +0200
|
||||
+++ SABnzbd-0.6.1.patch/interfaces/Plush/templates/config_general.tmpl 2011-05-23 20:09:03.985485852 +0200
|
||||
@@ -14,82 +14,6 @@
|
||||
</div>
|
||||
<fieldset class="component-group-list">
|
||||
<div class="field-pair">
|
||||
- <label class="nocheck clearfix" for="host">
|
||||
- <span class="component-title">$T('opt-host')</span>
|
||||
- <input type="text" name="host" id="host" value="$host"/>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-host')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair alt">
|
||||
- <label class="nocheck clearfix" for="port">
|
||||
- <span class="component-title">$T('opt-port')</span>
|
||||
- <input type="text" name="port" id="port" size=8 value="$port"/>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-port')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair">
|
||||
- <label class="nocheck clearfix" for="username">
|
||||
- <span class="component-title">$T('opt-web_username')</span>
|
||||
- <input type="text" name="username" id="username" value="$username"/>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-web_username')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair alt">
|
||||
- <label class="nocheck clearfix" for="password">
|
||||
- <span class="component-title">$T('opt-web_password')</span>
|
||||
- <input type="password" name="password" id="password" value="$password"/>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-web_password')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair">
|
||||
- <label class="nocheck clearfix" for="web_dir">
|
||||
- <span class="component-title">$T('opt-web_dir')</span>
|
||||
- <select name="web_dir" id="web_dir">
|
||||
- <!--#for $webline in $web_list#-->
|
||||
- <!--#if $webline.lower() == $web_dir.lower()#-->
|
||||
- <option value="$webline" selected>$webline</option>
|
||||
- <!--#else#-->
|
||||
- <option value="$webline">$webline</option>
|
||||
- <!--#end if#-->
|
||||
- <!--#end for#-->
|
||||
- </select>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-web_dir')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair alt">
|
||||
- <label class="nocheck clearfix" for="web_dir2">
|
||||
- <span class="component-title">$T('opt-web_dir2')</span>
|
||||
- <select name="web_dir2" id="web_dir2">
|
||||
- <!--#for $webline in $web_list2#-->
|
||||
- <!--#if $webline.lower() == $web_dir2.lower()#-->
|
||||
- <option value="$webline" selected>$webline</option>
|
||||
- <!--#else#-->
|
||||
- <option value="$webline">$webline</option>
|
||||
- <!--#end if#-->
|
||||
- <!--#end for#-->
|
||||
- </select>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-web_dir2')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair">
|
||||
<label class="nocheck clearfix" for="language">
|
||||
<span class="component-title">$T('opt-language')</span>
|
||||
<select name="language" id="language" id="language" class="select">
|
||||
@@ -129,13 +53,6 @@
|
||||
<span class="component-desc">$T('explain-nzbkey')</span>
|
||||
</label>
|
||||
</div>
|
||||
- <div class="field-pair alt">
|
||||
- <label class="clearfix" for="disable_api_key">
|
||||
- <input type="checkbox" name="disable_api_key" id="disable_api_key" value="1" <!--#if $disable_api_key > 0 then 'checked="1"' else ""#--> />
|
||||
- <span class="component-title">$T('opt-disableApikey')</span>
|
||||
- <span class="component-desc">$T('explain-disableApikey')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
</fieldset>
|
||||
</div><!-- /component-group1 -->
|
||||
|
||||
@@ -152,36 +69,6 @@
|
||||
<span class="component-desc">$T('explain-enable_https')</span>
|
||||
</label>
|
||||
</div>
|
||||
- <div class="field-pair alt">
|
||||
- <label class="nocheck clearfix" for="https_port">
|
||||
- <span class="component-title">$T('opt-https_port')</span>
|
||||
- <input type="text" name="https_port" id="https_port" size="8" value="$https_port"/>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-https_port')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair">
|
||||
- <label class="nocheck clearfix" for="https_cert">
|
||||
- <span class="component-title">$T('opt-https_cert')</span>
|
||||
- <input type="text" name="https_cert" id="https_cert" value="$https_cert"/>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-https_cert')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair alt">
|
||||
- <label class="nocheck clearfix" for="https_key">
|
||||
- <span class="component-title">$T('opt-https_key')</span>
|
||||
- <input type="text" name="https_key" id="https_key" value="$https_key"/>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">$T('explain-https_key')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
</fieldset>
|
||||
</div><!-- /component-group2 -->
|
||||
|
||||
diff -Naur SABnzbd-0.6.1/interfaces/Plush/templates/config_switches.tmpl SABnzbd-0.6.1.patch/interfaces/Plush/templates/config_switches.tmpl
|
||||
--- SABnzbd-0.6.1/interfaces/Plush/templates/config_switches.tmpl 2011-05-15 10:44:29.000000000 +0200
|
||||
+++ SABnzbd-0.6.1.patch/interfaces/Plush/templates/config_switches.tmpl 2011-05-23 20:09:53.829117059 +0200
|
||||
@@ -12,20 +12,6 @@
|
||||
<h3>$T('swtag-general')</h3>
|
||||
</div>
|
||||
<fieldset class="component-group-list">
|
||||
- <div class="field-pair">
|
||||
- <input type="checkbox" name="check_new_rel" id="check_new_rel" value="1" <!--#if $check_new_rel > 0 then "checked=1" else ""#--> />
|
||||
- <label class="clearfix" for="check_new_rel">
|
||||
- <span class="component-title">$T('opt-check_new_rel')</span>
|
||||
- <span class="component-desc">$T('explain-check_new_rel')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
- <div class="field-pair alt">
|
||||
- <input type="checkbox" name="auto_browser" id="auto_browser" value="1" <!--#if $auto_browser > 0 then "checked=1" else ""#--> />
|
||||
- <label class="clearfix" for="auto_browser">
|
||||
- <span class="component-title">$T('opt-auto_browser')</span>
|
||||
- <span class="component-desc">$T('explain-auto_browser')</span>
|
||||
- </label>
|
||||
- </div>
|
||||
<!--#if $have_ampm#-->
|
||||
<div class="field-pair">
|
||||
<input type="checkbox" name="ampm" id="ampm" value="1" <!--#if $ampm > 0 then "checked=1" else ""#--> />
|
110
packages/addons/service/downloadmanager/SABnzbd/source/bin/SABnzbd.service
Executable file
110
packages/addons/service/downloadmanager/SABnzbd/source/bin/SABnzbd.service
Executable file
@ -0,0 +1,110 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# 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
|
||||
################################################################################
|
||||
|
||||
ADDON_DIR="$HOME/.xbmc/addons/service.downloadmanager.SABnzbd"
|
||||
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.downloadmanager.SABnzbd"
|
||||
LOG_FILE="$ADDON_HOME/service.log"
|
||||
SABNZBD_SETTINGS="$ADDON_HOME/settings.xml"
|
||||
|
||||
export PYTHONPATH="$PYTHONPATH:$ADDON_DIR/pylib"
|
||||
|
||||
SABNZBD_DISABLEAPIKEY="0"
|
||||
SABNZBD_CHECKRELEASE="0"
|
||||
SABNZBD_LAUNCHBROWSER="0"
|
||||
|
||||
SABNZBD_HTTPPORT="8081"
|
||||
SABNZBD_HTTPSPORT="9081"
|
||||
SABNZBD_HTTPSCERT="server.cert"
|
||||
SABNZBD_HTTPSKEY="server.key"
|
||||
|
||||
SABNZBD_SKIN="Plush"
|
||||
SABNZBD_SKIN2="Plush"
|
||||
SABNZBD_WEBCOLOR="gold"
|
||||
SABNZBD_WEBCOLOR2="gold"
|
||||
|
||||
SABNZBD_LOGDIR="logs"
|
||||
SABNZBD_ADMINDIR="admin"
|
||||
SABNZBD_BACKUPDIR="backup"
|
||||
|
||||
SABNZBD_INCOMPLETEDIR="/storage/downloads/incomplete"
|
||||
SABNZBD_COMPLETEDIR="/storage/downloads"
|
||||
SABNZBD_WATCHDIR="/storage/downloads/watch"
|
||||
|
||||
write_ini() {
|
||||
python $ADDON_DIR/bin/ini_tool --action=write \
|
||||
--file=$ADDON_HOME/sabnzbd.ini \
|
||||
--option="$1:$2" \
|
||||
--value="$3"
|
||||
}
|
||||
|
||||
mkdir -p $ADDON_HOME
|
||||
|
||||
if [ ! -f "$SABNZBD_SETTINGS" ]; then
|
||||
cp $ADDON_DIR/settings-default.xml $SABNZBD_SETTINGS
|
||||
fi
|
||||
|
||||
if [ ! -f "$ADDON_HOME/sabnzbd.ini" ]; then
|
||||
SABNZBD_FIRSTRUN="yes"
|
||||
fi
|
||||
|
||||
# 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 "$SABNZBD_IP" ]; then
|
||||
SABNZBD_IP="0.0.0.0"
|
||||
fi
|
||||
|
||||
write_ini misc disable_api_key $SABNZBD_DISABLEAPIKEY
|
||||
write_ini misc check_new_rel $SABNZBD_CHECKRELEASE
|
||||
write_ini misc auto_browser $SABNZBD_LAUNCHBROWSER
|
||||
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 https_cert $SABNZBD_HTTPSCERT
|
||||
write_ini misc https_key $SABNZBD_HTTPSKEY
|
||||
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
|
||||
write_ini misc log_dir $SABNZBD_LOGDIR
|
||||
write_ini misc admin_dir $SABNZBD_ADMINDIR
|
||||
write_ini misc nzb_backup_dir $SABNZBD_BACKUPDIR
|
||||
|
||||
if [ "$SABNZBD_FIRSTRUN" = "yes" ]; then
|
||||
mkdir -p "$SABNZBD_INCOMPLETEDIR"
|
||||
mkdir -p "$SABNZBD_COMPLETEDIR"
|
||||
mkdir -p "$SABNZBD_WATCHDIR"
|
||||
write_ini misc download_dir $SABNZBD_INCOMPLETEDIR
|
||||
write_ini misc complete_dir $SABNZBD_COMPLETEDIR
|
||||
write_ini misc dirscan_dir $SABNZBD_WATCHDIR
|
||||
|
||||
write_ini servers:localhost name "localhost"
|
||||
write_ini servers:localhost host "localhost"
|
||||
write_ini servers:localhost port "119"
|
||||
write_ini servers:localhost enable "0"
|
||||
fi
|
||||
|
||||
python $ADDON_DIR/SABnzbd/SABnzbd.py -d -f $ADDON_HOME/sabnzbd.ini -l 0
|
117
packages/addons/service/downloadmanager/SABnzbd/source/bin/ini_tool
Executable file
117
packages/addons/service/downloadmanager/SABnzbd/source/bin/ini_tool
Executable file
@ -0,0 +1,117 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2011 Travis Glenn Hansen (travisghansen@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
|
||||
################################################################################
|
||||
|
||||
from configobj import ConfigObj
|
||||
import sys
|
||||
import os
|
||||
import string
|
||||
|
||||
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 --option [section:]username
|
||||
%(prog)s --file config.ini --action write --option [section:]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('--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('--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.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)
|
||||
keys = string.split(options.option, ":")
|
||||
key_len = len(keys)
|
||||
current_section = config
|
||||
|
||||
if options.action == 'read':
|
||||
i = 1
|
||||
for key in keys:
|
||||
if i == key_len:
|
||||
print current_section[key]
|
||||
exit(0)
|
||||
else:
|
||||
current_section = current_section[key]
|
||||
i += 1
|
||||
elif options.action == 'write':
|
||||
i = 1
|
||||
for key in keys:
|
||||
if i == key_len:
|
||||
current_section[key] = options.value
|
||||
elif key not in current_section:
|
||||
current_section[key] = {}
|
||||
current_section = current_section[key]
|
||||
i += 1
|
||||
|
||||
config.write()
|
||||
else:
|
||||
exit(1)
|
@ -0,0 +1,23 @@
|
||||
################################################################################
|
||||
# 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
|
||||
################################################################################
|
||||
|
||||
import xbmc, time, os, subprocess
|
||||
|
||||
os.system("SABnzbd.service")
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
|
||||
<!-- SABnzbd -->
|
||||
<string id="1000">SABnzbd</string>
|
||||
<string id="1010">Gebruikers instellingen</string>
|
||||
<string id="1022">Gebruikersnaam</string>
|
||||
<string id="1023">Wachtwoord</string>
|
||||
<string id="2010">Netwerk instellingen</string>
|
||||
<string id="2021">Toegestane IP adressen</string>
|
||||
|
||||
</strings>
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
|
||||
<!-- SABnzbd -->
|
||||
<string id="1000">SABnzbd</string>
|
||||
<string id="1010">User Settings</string>
|
||||
<string id="1022">Username</string>
|
||||
<string id="1023">Password</string>
|
||||
<string id="2010">Network Settings</string>
|
||||
<string id="2021">Allowed IP addresses</string>
|
||||
|
||||
</strings>
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
|
||||
<!-- SABnzbd -->
|
||||
<string id="1000">SABnzbd</string>
|
||||
<string id="1010">Préférences utilisateur</string>
|
||||
<string id="1022">Nom d'utilisateur</string>
|
||||
<string id="1023">Mot de passe</string>
|
||||
<string id="2010">Préférences réseau</string>
|
||||
<string id="2021">Adresses IP autorisées</string>
|
||||
|
||||
</strings>
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
|
||||
<!-- SABnzbd -->
|
||||
<string id="1000">SABnzbd</string>
|
||||
<string id="1010">Benutzer Einstellungen</string>
|
||||
<string id="1022">Benutzername</string>
|
||||
<string id="1023">Passwort</string>
|
||||
<string id="2010">Netzwerk Einstellungen</string>
|
||||
<string id="2021">Erlaubte IP Adressen</string>
|
||||
|
||||
</strings>
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
|
||||
<!-- SABnzbd -->
|
||||
<string id="1000">SABnzbd</string>
|
||||
<string id="1010">Bruker Instillinger</string>
|
||||
<string id="1022">Brukernavn</string>
|
||||
<string id="1023">Passord</string>
|
||||
<string id="2010">Nettverksinstillinger</string>
|
||||
<string id="2021">Tilatte IP addresser</string>
|
||||
|
||||
</strings>
|
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
|
||||
<!-- SABnzbd -->
|
||||
<category label="1000">
|
||||
<setting label="1010" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="SABNZBD_USER" type="text" label="1022" default="openelec"/>
|
||||
<setting id="SABNZBD_PWD" type="text" label="1023" default="openelec"/>
|
||||
|
||||
<setting label="2010" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="SABNZBD_IP" type="text" label="2021" default="0.0.0.0"/>
|
||||
</category>
|
||||
</settings>
|
Loading…
x
Reference in New Issue
Block a user