mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-01 15:07:49 +00:00
Merge branch 'master' into openelec-pxe
This commit is contained in:
commit
d89fef1029
@ -1,11 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<addon id="@PKG_ADDON_ID@"
|
||||
name="@PKG_SHORTDESC@"
|
||||
name="@PKG_NAME@"
|
||||
version="@ADDON_VERSION@"
|
||||
provider-name="openelec.tv">
|
||||
<requires>
|
||||
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
|
||||
<import addon="xbmc.python" version="1.0"/>
|
||||
@REQUIRES@
|
||||
</requires>
|
||||
<extension point="@PKG_ADDON_TYPE@"
|
||||
library="default.py">
|
||||
|
@ -23,6 +23,6 @@
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/usr/lib/SickBeard
|
||||
cp -PR $PKG_BUILD/* $INSTALL/usr/lib/SickBeard
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/$1
|
||||
cp -PR $PKG_BUILD/* $ADDON_BUILD/$PKG_ADDON_ID/$1
|
||||
|
@ -0,0 +1,2 @@
|
||||
0.99.1
|
||||
- initial version CouchPotato
|
BIN
packages/addons/downloadmanager/CouchPotato/icon/icon.png
Normal file
BIN
packages/addons/downloadmanager/CouchPotato/icon/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.6 KiB |
40
packages/addons/downloadmanager/CouchPotato/meta
Normal file
40
packages/addons/downloadmanager/CouchPotato/meta
Normal file
@ -0,0 +1,40 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2011 Anthony Nash (nash.ant@gmail.com)
|
||||
#
|
||||
# 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="CouchPotato"
|
||||
PKG_VERSION="ded60e1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="https://github.com/RuudBurger/CouchPotato"
|
||||
PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS="Python SABnzbd"
|
||||
PKG_BUILD_DEPENDS="toolchain Python"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="downloadmanager"
|
||||
PKG_SHORTDESC="CouchPotato: automated movie downloading."
|
||||
PKG_LONGDESC="CouchPotato: automated movie downloading."
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_ADDON_REQUIRES="addon.downloadmanager.SABnzbd:0.99.1"
|
||||
|
||||
PKG_AUTORECONF="no"
|
@ -0,0 +1,186 @@
|
||||
diff -Naur CouchPotato-ded60e1/app/config/db.py CouchPotato-ded60e1.patch/app/config/db.py
|
||||
--- CouchPotato-ded60e1/app/config/db.py 2011-04-23 19:55:33.000000000 +0200
|
||||
+++ CouchPotato-ded60e1.patch/app/config/db.py 2011-04-23 20:26:44.495557932 +0200
|
||||
@@ -10,6 +10,7 @@
|
||||
import datetime
|
||||
import os
|
||||
import sys
|
||||
+import app.config
|
||||
|
||||
log = CPLog(__name__)
|
||||
|
||||
@@ -24,7 +25,7 @@
|
||||
else:
|
||||
path = os.path.join(os.path.abspath(os.path.curdir), 'data.db')
|
||||
else:
|
||||
- path = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), 'data.db')
|
||||
+ path = os.path.join(app.config.DATADIR, 'data.db')
|
||||
|
||||
engine = create_engine('sqlite:///%s' % path)
|
||||
metadata = MetaData(engine)
|
||||
diff -Naur CouchPotato-ded60e1/app/config/__init__.py CouchPotato-ded60e1.patch/app/config/__init__.py
|
||||
--- CouchPotato-ded60e1/app/config/__init__.py 2011-04-23 19:55:33.000000000 +0200
|
||||
+++ CouchPotato-ded60e1.patch/app/config/__init__.py 2011-04-23 20:26:44.480558230 +0200
|
||||
@@ -0,0 +1 @@
|
||||
+DATADIR=None
|
||||
diff -Naur CouchPotato-ded60e1/app/controllers/log.py CouchPotato-ded60e1.patch/app/controllers/log.py
|
||||
--- CouchPotato-ded60e1/app/controllers/log.py 2011-04-23 19:55:33.000000000 +0200
|
||||
+++ CouchPotato-ded60e1.patch/app/controllers/log.py 2011-04-23 20:26:44.505557734 +0200
|
||||
@@ -4,6 +4,7 @@
|
||||
from markupsafe import escape
|
||||
import cherrypy
|
||||
import os
|
||||
+import app.config
|
||||
|
||||
log = CPLog(__name__)
|
||||
file = 'CouchPotato.log'
|
||||
@@ -56,7 +57,7 @@
|
||||
return redirect(url(controller = 'log', action = 'index'))
|
||||
|
||||
def logDir(self):
|
||||
- return os.path.join(cherrypy.config.get('runPath'), 'logs')
|
||||
+ return os.path.join(app.config.DATADIR, 'logs')
|
||||
|
||||
def logFile(self):
|
||||
return os.path.join(self.logDir(), file)
|
||||
diff -Naur CouchPotato-ded60e1/CouchPotato.py CouchPotato-ded60e1.patch/CouchPotato.py
|
||||
--- CouchPotato-ded60e1/CouchPotato.py 2011-04-23 19:55:33.000000000 +0200
|
||||
+++ CouchPotato-ded60e1.patch/CouchPotato.py 2011-04-23 20:26:50.127445945 +0200
|
||||
@@ -3,6 +3,7 @@
|
||||
import os
|
||||
|
||||
rundir = os.path.dirname(os.path.abspath(__file__))
|
||||
+
|
||||
try:
|
||||
frozen = sys.frozen
|
||||
except AttributeError:
|
||||
@@ -20,28 +21,9 @@
|
||||
sys.path.insert(0, path_base)
|
||||
sys.path.insert(0, os.path.join(path_base, 'library'))
|
||||
|
||||
-# Configure logging
|
||||
-from app.config.cplog import CPLog
|
||||
-debug = os.path.isfile(os.path.join(path_base, 'debug.conf'))
|
||||
-log = CPLog()
|
||||
-log.config(os.path.join(rundir, 'logs'), debug)
|
||||
-
|
||||
-# Create cache dir
|
||||
-cachedir = os.path.join(rundir, 'cache')
|
||||
-if not os.path.isdir(cachedir):
|
||||
- os.mkdir(cachedir)
|
||||
-
|
||||
-import cherrypy
|
||||
-import app.config.render
|
||||
-from app.config.db import initDb
|
||||
-from optparse import OptionParser
|
||||
-from app.config.configApp import configApp
|
||||
-from app.config.routes import setup as Routes
|
||||
-from app.lib.cron import CronJobs
|
||||
-from app.config.updater import Updater
|
||||
-from cherrypy.process import plugins
|
||||
-
|
||||
def server_start():
|
||||
+ from optparse import OptionParser
|
||||
+
|
||||
p = OptionParser()
|
||||
p.add_option('-d', action = "store_true",
|
||||
dest = 'daemonize', help = "Run the server as a daemon")
|
||||
@@ -50,19 +32,80 @@
|
||||
p.add_option('-p', '--pidfile',
|
||||
dest = 'pidfile', default = None,
|
||||
help = "Store the process id in the given file")
|
||||
+ p.add_option('--config',
|
||||
+ dest = 'config', default = None,
|
||||
+ help = "Path to config.ini file")
|
||||
+ p.add_option('--datadir',
|
||||
+ dest = 'datadir', default = None,
|
||||
+ help = "Path to the data directory")
|
||||
+
|
||||
|
||||
options, args = p.parse_args()
|
||||
+
|
||||
+ if options.datadir:
|
||||
+ datadir = options.datadir
|
||||
+
|
||||
+ if not os.path.isdir(datadir):
|
||||
+ os.makedirs(datadir)
|
||||
+
|
||||
+ else:
|
||||
+ datadir = rundir
|
||||
+
|
||||
+ datadir = os.path.abspath(datadir)
|
||||
+
|
||||
+ if not os.access(datadir, os.W_OK):
|
||||
+ raise SystemExit("Data dir must be writeable '" + datadir + "'")
|
||||
+
|
||||
+ import app.config
|
||||
+ app.config.DATADIR = datadir
|
||||
+
|
||||
+ if options.config:
|
||||
+ config = options.config
|
||||
+ else:
|
||||
+ config = os.path.join(datadir, 'config.ini')
|
||||
+
|
||||
+ config = os.path.abspath(config)
|
||||
|
||||
- config = os.path.join(rundir, 'config.ini')
|
||||
+ if not os.access(os.path.dirname(config), os.W_OK) and not os.access(config, os.W_OK):
|
||||
+ if not os.path.exists(os.path.dirname(config)):
|
||||
+ os.makedirs(os.path.dirname(config))
|
||||
+ else:
|
||||
+ raise SystemExit("Directory for config file must be writeable")
|
||||
+
|
||||
+ import cherrypy
|
||||
+ import app.config.render
|
||||
+
|
||||
+ # Configure logging
|
||||
+ from app.config.cplog import CPLog
|
||||
+
|
||||
+ # Setup logging
|
||||
+ debug = os.path.isfile(os.path.join(datadir, 'debug.conf'))
|
||||
+ log = CPLog()
|
||||
+ log.config(os.path.join(datadir, 'logs'), debug)
|
||||
+
|
||||
+ # Create cache dir
|
||||
+ cachedir = os.path.join(datadir, 'cache')
|
||||
+ if not os.path.isdir(cachedir):
|
||||
+ os.mkdir(cachedir)
|
||||
|
||||
# Stop logging
|
||||
if options.quiet or options.daemonize:
|
||||
cherrypy.config.update({'log.screen': False})
|
||||
+
|
||||
|
||||
# Config app
|
||||
+ from app.config.configApp import configApp
|
||||
ca = configApp(config)
|
||||
+
|
||||
+ # Setup db
|
||||
+ from app.config.db import initDb
|
||||
initDb()
|
||||
|
||||
+ from app.config.routes import setup as Routes
|
||||
+ from app.lib.cron import CronJobs
|
||||
+ from app.config.updater import Updater
|
||||
+ from cherrypy.process import plugins
|
||||
+
|
||||
# Check an see if CP is already running
|
||||
import socket
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
@@ -129,7 +172,7 @@
|
||||
},
|
||||
'/cache':{
|
||||
'tools.staticdir.on': True,
|
||||
- 'tools.staticdir.root': rundir,
|
||||
+ 'tools.staticdir.root': datadir,
|
||||
'tools.staticdir.dir': "cache",
|
||||
'tools.expires.on': True,
|
||||
'tools.expires.secs': 3600 * 24 * 7
|
||||
@@ -173,7 +216,6 @@
|
||||
if hasattr(cherrypy.engine, "console_control_handler"):
|
||||
cherrypy.engine.console_control_handler.subscribe()
|
||||
|
||||
-
|
||||
## start the app
|
||||
try:
|
||||
cherrypy.engine.start()
|
117
packages/addons/downloadmanager/CouchPotato/source/bin/ini_tool
Executable file
117
packages/addons/downloadmanager/CouchPotato/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,26 @@
|
||||
################################################################################
|
||||
# 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 sys
|
||||
import xbmcaddon
|
||||
import os
|
||||
|
||||
if ( __name__ == "__main__" ):
|
||||
os.system("start.sh")
|
102
packages/addons/downloadmanager/CouchPotato/source/start.sh
Executable file
102
packages/addons/downloadmanager/CouchPotato/source/start.sh
Executable file
@ -0,0 +1,102 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2011 Anthony Nash (nash.ant@gmail.com)
|
||||
#
|
||||
# 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
|
||||
################################################################################
|
||||
|
||||
export PATH="$PATH:./bin"
|
||||
export PYTHONPATH="$PYTHONPATH:./pylib"
|
||||
|
||||
COUCHPOTATO_HOME="$HOME/.xbmc/userdata/addon_data/addon.downloadmanager.CouchPotato"
|
||||
SABNZBD_SETTINGS="$HOME/.xbmc/userdata/addon_data/addon.downloadmanager.SABnzbd/sabnzbd.ini"
|
||||
XBMC_SETTINGS="$HOME/.xbmc/userdata/guisettings.xml"
|
||||
|
||||
write_ini() {
|
||||
python bin/ini_tool --action=write \
|
||||
--file=$COUCHPOTATO_HOME/config.ini \
|
||||
--option="$1:$2" \
|
||||
--value="$3"
|
||||
}
|
||||
|
||||
read_sabconfig() {
|
||||
python bin/ini_tool --action=read \
|
||||
--file=$SABNZBD_SETTINGS \
|
||||
--option="$1:$2"
|
||||
}
|
||||
|
||||
read_xbmcconfig() {
|
||||
grep "<$1>" $XBMC_SETTINGS | sed -e "s,[[:space:]]*<$1>,," -e "s,</$1>,,"
|
||||
}
|
||||
|
||||
mkdir -p $COUCHPOTATO_HOME
|
||||
chmod +x ./bin/*
|
||||
|
||||
sleep 5
|
||||
|
||||
if [ ! -f "$COUCHPOTATO_HOME/config.ini" ]; then
|
||||
COUCHPOTATO_FIRSTRUN="yes"
|
||||
fi
|
||||
|
||||
# default values
|
||||
COUCHPOTATO_LAUNCHBROWSER="False"
|
||||
COUCHPOTATO_VERSIONCHECK="False"
|
||||
COUCHPOTATO_PORT="8083"
|
||||
COUCHPOTATO_USEXBMC="True"
|
||||
COUCHPOTATO_UPDATEXBMC="True"
|
||||
|
||||
# read xbmc settings
|
||||
XBMC_HOST="127.0.0.1"
|
||||
XBMC_PORT=`read_xbmcconfig webserverport`
|
||||
XBMC_USER=`read_xbmcconfig webserverusername`
|
||||
XBMC_PWD=`read_xbmcconfig webserverpassword`
|
||||
|
||||
# read sabnzbd settings
|
||||
SABNZBD_HOST="127.0.0.1"
|
||||
SABNZBD_PORT="8081"
|
||||
SABNZBD_APIKEY=`read_sabconfig misc api_key`
|
||||
SABNZBD_WEBUSERNAME=`read_sabconfig misc username`
|
||||
SABNZBD_WEBPASSWORD=`read_sabconfig misc password`
|
||||
|
||||
if [ -z "$COUCHPOTATO_HOST" ]; then
|
||||
COUCHPOTATO_HOST="0.0.0.0"
|
||||
fi
|
||||
|
||||
write_ini global host $COUCHPOTATO_HOST
|
||||
write_ini global port $COUCHPOTATO_PORT
|
||||
write_ini global username $SABNZBD_WEBUSERNAME
|
||||
write_ini global password $SABNZBD_WEBPASSWORD
|
||||
write_ini global launchbrowser $COUCHPOTATO_LAUNCHBROWSER
|
||||
write_ini global updater $COUCHPOTATO_VERSIONCHECK
|
||||
|
||||
write_ini Sabnzbd username $SABNZBD_WEBUSERNAME
|
||||
write_ini Sabnzbd password $SABNZBD_WEBPASSWORD
|
||||
write_ini Sabnzbd apikey $SABNZBD_APIKEY
|
||||
write_ini Sabnzbd host "$SABNZBD_HOST:$SABNZBD_PORT"
|
||||
|
||||
write_ini XBMC enabled $COUCHPOTATO_USEXBMC
|
||||
write_ini XBMC host "$XBMC_HOST:$XBMC_PORT"
|
||||
write_ini XBMC username $XBMC_USER
|
||||
write_ini XBMC password $XBMC_PWD
|
||||
|
||||
if [ "$COUCHPOTATO_FIRSTRUN" = "yes" ]; then
|
||||
write_ini XBMC updateoneonly $COUCHPOTATO_UPDATEXBMC
|
||||
fi
|
||||
|
||||
python ./CouchPotato/CouchPotato.py -d --datadir $COUCHPOTATO_HOME --config $COUCHPOTATO_HOME/config.ini
|
@ -1,33 +0,0 @@
|
||||
diff -Naur SABnzbd-0.6.0RC2/sabnzbd/constants.py SABnzbd-0.6.0RC2.patch/sabnzbd/constants.py
|
||||
--- SABnzbd-0.6.0RC2/sabnzbd/constants.py 2011-04-10 16:06:27.000000000 +0200
|
||||
+++ SABnzbd-0.6.0RC2.patch/sabnzbd/constants.py 2011-04-16 21:49:52.858788377 +0200
|
||||
@@ -70,8 +70,8 @@
|
||||
DB_HISTORY_NAME = 'history%s.db' % DB_HISTORY_VERSION
|
||||
DB_QUEUE_NAME = 'queue%s.db' % DB_QUEUE_VERSION
|
||||
|
||||
-DEF_DOWNLOAD_DIR = 'Downloads/incomplete'
|
||||
-DEF_COMPLETE_DIR = 'Downloads/complete'
|
||||
+DEF_DOWNLOAD_DIR = '/storage/downloads/incoming/'
|
||||
+DEF_COMPLETE_DIR = '/storage/downloads/'
|
||||
DEF_CACHE_DIR = 'cache'
|
||||
DEF_ADMIN_DIR = 'admin'
|
||||
DEF_LOG_DIR = 'logs'
|
||||
@@ -83,12 +83,12 @@
|
||||
DEF_STDINTF = 'smpl'
|
||||
DEF_SKIN_COLORS = {'smpl':'white', 'classic':'darkblue', 'mobile':'light', 'plush' : 'gold'}
|
||||
DEF_MAIN_TMPL = 'templates/main.tmpl'
|
||||
-DEF_INI_FILE = 'sabnzbd.ini'
|
||||
-DEF_HOST = 'localhost'
|
||||
-DEF_PORT_WIN = 8080
|
||||
-DEF_PORT_UNIX = 8080
|
||||
-DEF_PORT_WIN_SSL = 9090
|
||||
-DEF_PORT_UNIX_SSL= 9090
|
||||
+DEF_INI_FILE = 'sabnzbd.conf'
|
||||
+DEF_HOST = '0.0.0.0'
|
||||
+DEF_PORT_WIN = 8081
|
||||
+DEF_PORT_UNIX = 8081
|
||||
+DEF_PORT_WIN_SSL = 9081
|
||||
+DEF_PORT_UNIX_SSL= 9081
|
||||
DEF_WORKDIR = 'sabnzbd'
|
||||
DEF_LOG_FILE = 'sabnzbd.log'
|
||||
DEF_LOG_ERRFILE = 'sabnzbd.error.log'
|
@ -0,0 +1,214 @@
|
||||
diff -Naur SABnzbd-0.6.0RC2/interfaces/Plush/templates/config_directories.tmpl SABnzbd-0.6.0RC2.patch/interfaces/Plush/templates/config_directories.tmpl
|
||||
--- SABnzbd-0.6.0RC2/interfaces/Plush/templates/config_directories.tmpl 2011-04-10 16:06:26.000000000 +0200
|
||||
+++ SABnzbd-0.6.0RC2.patch/interfaces/Plush/templates/config_directories.tmpl 2011-04-22 15:08:09.323174151 +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.0RC2/interfaces/Plush/templates/config_general.tmpl SABnzbd-0.6.0RC2.patch/interfaces/Plush/templates/config_general.tmpl
|
||||
--- SABnzbd-0.6.0RC2/interfaces/Plush/templates/config_general.tmpl 2011-04-10 16:06:26.000000000 +0200
|
||||
+++ SABnzbd-0.6.0RC2.patch/interfaces/Plush/templates/config_general.tmpl 2011-04-22 14:59:06.304131312 +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.0RC2/interfaces/Plush/templates/config_switches.tmpl SABnzbd-0.6.0RC2.patch/interfaces/Plush/templates/config_switches.tmpl
|
||||
--- SABnzbd-0.6.0RC2/interfaces/Plush/templates/config_switches.tmpl 2011-04-10 16:06:26.000000000 +0200
|
||||
+++ SABnzbd-0.6.0RC2.patch/interfaces/Plush/templates/config_switches.tmpl 2011-04-22 15:21:32.791455752 +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 ""#--> />
|
@ -1,70 +0,0 @@
|
||||
diff -Naur SABnzbd-0.6.0RC2/interfaces/Classic/templates/config_general.tmpl SABnzbd-0.6.0RC2.patch/interfaces/Classic/templates/config_general.tmpl
|
||||
--- SABnzbd-0.6.0RC2/interfaces/Classic/templates/config_general.tmpl 2011-04-16 23:15:34.940298239 +0200
|
||||
+++ SABnzbd-0.6.0RC2.patch/interfaces/Classic/templates/config_general.tmpl 2011-04-16 23:21:11.140812740 +0200
|
||||
@@ -13,16 +13,6 @@
|
||||
|
||||
<legend>$T('webServer')</legend>
|
||||
<i>$T('restartRequired')</i><br/><br/>
|
||||
-<strong>$T('opt-host'):</strong><br>
|
||||
-$T('explain-host')<br>
|
||||
-<input type="text" name="host" value="$host">
|
||||
-<br>
|
||||
-<br>
|
||||
-<strong>$T('opt-port'):</strong><br>
|
||||
-$T('explain-port')<br>
|
||||
-<input type="text" name="port" value="$port">
|
||||
-<br>
|
||||
-<br>
|
||||
<strong>$T('opt-web_dir'):</strong><br>
|
||||
$T('explain-web_dir')<br>
|
||||
<select name="web_dir">
|
||||
diff -Naur SABnzbd-0.6.0RC2/interfaces/Plush/templates/config_general.tmpl SABnzbd-0.6.0RC2.patch/interfaces/Plush/templates/config_general.tmpl
|
||||
--- SABnzbd-0.6.0RC2/interfaces/Plush/templates/config_general.tmpl 2011-04-16 23:15:34.954297968 +0200
|
||||
+++ SABnzbd-0.6.0RC2.patch/interfaces/Plush/templates/config_general.tmpl 2011-04-16 23:23:32.496084161 +0200
|
||||
@@ -14,26 +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"/>
|
||||
diff -Naur SABnzbd-0.6.0RC2/interfaces/smpl/templates/config_general.tmpl SABnzbd-0.6.0RC2.patch/interfaces/smpl/templates/config_general.tmpl
|
||||
--- SABnzbd-0.6.0RC2/interfaces/smpl/templates/config_general.tmpl 2011-04-16 23:15:34.944298160 +0200
|
||||
+++ SABnzbd-0.6.0RC2.patch/interfaces/smpl/templates/config_general.tmpl 2011-04-16 23:22:14.877582554 +0200
|
||||
@@ -5,16 +5,6 @@
|
||||
<fieldset class="EntryFieldSet">
|
||||
<legend>$T('webServer') <i>($T('restartRequired'))</i></legend>
|
||||
<hr />
|
||||
- <label for "host" class="label">$T('opt-host'):</label>
|
||||
- <input type="text" name="host" value="$host">
|
||||
- <span class="tips">$T('explain-host')</span>
|
||||
- <br class="clear" />
|
||||
-
|
||||
- <label for "port" class="label">$T('opt-port'):</label>
|
||||
- <input type="text" name="port" value="$port">
|
||||
- <span class="tips">$T('explain-port')</span>
|
||||
- <br class="clear" />
|
||||
-
|
||||
<label for "userinterface" class="label">$T('opt-web_dir'):</label>
|
||||
|
||||
<select name="web_dir" id="webdir" class="select">
|
@ -1,8 +1,29 @@
|
||||
#!/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]
|
||||
@ -11,8 +32,8 @@ 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}
|
||||
%(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()
|
||||
@ -30,7 +51,6 @@ if python_major > 2 or (python_major == 2 and python_minor >= 7):
|
||||
|
||||
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)')
|
||||
|
||||
@ -46,7 +66,6 @@ else:
|
||||
|
||||
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)')
|
||||
|
||||
@ -56,8 +75,6 @@ else:
|
||||
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")
|
||||
|
||||
@ -72,11 +89,29 @@ if options.action == "read" and not os.path.isfile(options.file):
|
||||
exit(2)
|
||||
|
||||
config = ConfigObj(options.file)
|
||||
keys = string.split(options.option, ":")
|
||||
key_len = len(keys)
|
||||
current_section = config
|
||||
|
||||
if options.action == 'read':
|
||||
print config[options.section][options.option]
|
||||
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':
|
||||
config[options.section][options.option] = options.value
|
||||
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)
|
@ -5,8 +5,8 @@
|
||||
<category label="1000">
|
||||
<setting label="1010" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="SABNZBD_USER" type="text" label="1022" default="openelec" enable="eq(-1,true)"/>
|
||||
<setting id="SABNZBD_PWD" type="text" label="1023" default="openelec" enable="eq(-2,true)"/>
|
||||
<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" />
|
||||
|
@ -27,18 +27,31 @@ SABNZBD_HOME="$HOME/.xbmc/userdata/addon_data/addon.downloadmanager.SABnzbd"
|
||||
SABNZBD_SETTINGS="$SABNZBD_HOME/settings.xml"
|
||||
|
||||
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 bin/ini_tool --action=write \
|
||||
--file=$SABNZBD_HOME/sabnzbd.ini \
|
||||
--section="$1" \
|
||||
--option="$2" \
|
||||
--option="$1:$2" \
|
||||
--value="$3"
|
||||
}
|
||||
|
||||
@ -49,9 +62,9 @@ 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
|
||||
if [ ! -f "$SABNZBD_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"`
|
||||
@ -63,14 +76,35 @@ if [ -z "$SABNZBD_IP" ]; then
|
||||
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
|
||||
|
||||
python ./SABnzbd/SABnzbd.py -d -f $SABNZBD_HOME/sabnzbd.ini -l 0 > /dev/null 2>&1
|
||||
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 ./SABnzbd/SABnzbd.py -d -f $SABNZBD_HOME/sabnzbd.ini -l 0
|
||||
|
27
packages/python/web/Sick-Beard/init.d/60_sickbeard → packages/addons/downloadmanager/SickBeard/addon
Normal file → Executable file
27
packages/python/web/Sick-Beard/init.d/60_sickbeard → packages/addons/downloadmanager/SickBeard/addon
Normal file → Executable file
@ -1,3 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
@ -19,25 +21,10 @@
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
# Starting Sickbeard downloader daemon
|
||||
#
|
||||
# runlevels: openelec, textmode
|
||||
. config/options $1
|
||||
|
||||
(
|
||||
if [ -f /var/config/settings.conf ]; then
|
||||
. /var/config/settings.conf
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/$1
|
||||
cp -PR $PKG_BUILD/* $ADDON_BUILD/$PKG_ADDON_ID/$1
|
||||
|
||||
if [ "$SABNZBD_START" = "true" ]; then
|
||||
|
||||
mkdir -p /var/run
|
||||
mkdir -p $HOME/.sickbeard
|
||||
|
||||
wait_for_network
|
||||
|
||||
progress "Starting sickbeard downloader daemon"
|
||||
python /usr/lib/SickBeard/SickBeard.py --daemon \
|
||||
--pidfile=/var/run/sickbeard.pid \
|
||||
--datadir $HOME/.sickbeard
|
||||
fi
|
||||
fi
|
||||
)&
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/pylib
|
||||
cp -R $BUILD/Cheetah*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib
|
2
packages/addons/downloadmanager/SickBeard/changelog.txt
Normal file
2
packages/addons/downloadmanager/SickBeard/changelog.txt
Normal file
@ -0,0 +1,2 @@
|
||||
0.99.1
|
||||
- initial version SickBeard-48caf04
|
BIN
packages/addons/downloadmanager/SickBeard/icon/icon.png
Normal file
BIN
packages/addons/downloadmanager/SickBeard/icon/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
@ -19,19 +19,22 @@
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="Sick-Beard"
|
||||
PKG_VERSION="0f076f4"
|
||||
PKG_NAME="SickBeard"
|
||||
PKG_VERSION="48caf04"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="https://github.com/midgetspy/Sick-Beard"
|
||||
PKG_URL="$OPENELEC_SRC/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||
PKG_DEPENDS="Python Cheetah SABnzbd"
|
||||
PKG_BUILD_DEPENDS="toolchain Python"
|
||||
PKG_DEPENDS="Python SABnzbd Cheetah"
|
||||
PKG_BUILD_DEPENDS="toolchain Python Cheetah"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="plugins"
|
||||
PKG_SHORTDESC="Sick-beard: automated TV show downloading."
|
||||
PKG_LONGDESC="Sick-beard: automated TV show downloading."
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_SECTION="downloadmanager"
|
||||
PKG_SHORTDESC="SickBeard: automated TV show downloading."
|
||||
PKG_LONGDESC="SickBeard: automated TV show downloading."
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_ADDON_REQUIRES="addon.downloadmanager.SABnzbd:0.99.1"
|
||||
|
||||
PKG_AUTORECONF="no"
|
@ -0,0 +1,44 @@
|
||||
diff -Naur SickBeard-48caf04/data/interfaces/default/config.tmpl SickBeard-48caf04.patch/data/interfaces/default/config.tmpl
|
||||
--- SickBeard-48caf04/data/interfaces/default/config.tmpl 2011-04-22 19:15:10.000000000 +0200
|
||||
+++ SickBeard-48caf04.patch/data/interfaces/default/config.tmpl 2011-04-23 03:57:14.515808144 +0200
|
||||
@@ -24,9 +24,4 @@
|
||||
</table>
|
||||
</div>
|
||||
|
||||
-<table class="infoTable" cellspacing="1" border="0" cellpadding="0"><tr>
|
||||
- <td><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JA8M7VDY89SQ4" onclick="window.open(this.href); return false;"><img src="$sbRoot/images/paypal/btn_donateCC_LG.gif" alt="[donate]" /></a></td>
|
||||
- <td>Sickbeard is free, but you can contribute by giving a <b><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JA8M7VDY89SQ4" onclick="window.open(this.href); return false;">donation</a></b>.</td>
|
||||
-</tr></table>
|
||||
-
|
||||
#include $os.path.join($sickbeard.PROG_DIR, "data/interfaces/default/inc_bottom.tmpl")
|
||||
diff -Naur SickBeard-48caf04/data/interfaces/default/inc_top.tmpl SickBeard-48caf04.patch/data/interfaces/default/inc_top.tmpl
|
||||
--- SickBeard-48caf04/data/interfaces/default/inc_top.tmpl 2011-04-22 19:15:10.000000000 +0200
|
||||
+++ SickBeard-48caf04.patch/data/interfaces/default/inc_top.tmpl 2011-04-23 03:59:09.088665913 +0200
|
||||
@@ -147,19 +147,6 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
-#if $sickbeard.NEWEST_VERSION_STRING:
|
||||
-<div id="upgrade-notification">
|
||||
- <div>
|
||||
- <span class="notify-text">$sickbeard.NEWEST_VERSION_STRING</span>
|
||||
- </div>
|
||||
-</div>
|
||||
-<div id="header-fix"></div>
|
||||
-#end if
|
||||
-<div id="header">
|
||||
- <a name="top"></a>
|
||||
- <span id="logo"><a href="$sbRoot/home/" title="Sick Beard homepage"><img alt="Sick Beard" src="$sbRoot/images/sickbeard_small.png" width="150" /></a></span>
|
||||
- <span id="versiontext">alpha $sickbeard.version.SICKBEARD_VERSION</span>
|
||||
-</div>
|
||||
<ul id="MainMenu" class="sf-menu">
|
||||
<li id="NAVsystem" class="first"><a href="#" class="navIcon"><img src="$sbRoot/images/menu/system18.png" alt="" width="18" height="18" /></a>
|
||||
<ul>
|
||||
@@ -197,7 +184,6 @@
|
||||
<li><a href="$sbRoot/errorlogs/viewlog"><img src="$sbRoot/images/menu/viewlog16.png" alt="" width="16" height="16" />View Log</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
- <li id="donate"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JA8M7VDY89SQ4" onclick="window.open(this.href); return false;"><img src="$sbRoot/images/paypal/btn_donate_LG.gif" alt="[donate]" /></a></li>
|
||||
</ul>
|
||||
#if $varExists('submenu'):
|
||||
<div id="SubMenu">
|
@ -0,0 +1,74 @@
|
||||
diff -Naur SickBeard-48caf04/data/interfaces/default/config_notifications.tmpl SickBeard-48caf04.patch/data/interfaces/default/config_notifications.tmpl
|
||||
--- SickBeard-48caf04/data/interfaces/default/config_notifications.tmpl 2011-04-23 03:55:23.000000000 +0200
|
||||
+++ SickBeard-48caf04.patch/data/interfaces/default/config_notifications.tmpl 2011-04-23 18:01:29.330455515 +0200
|
||||
@@ -484,48 +484,6 @@
|
||||
|
||||
</div>
|
||||
|
||||
-
|
||||
- <div id="core-component-group7" class="component-group clearfix">
|
||||
- <div class="component-group-desc">
|
||||
- <h3><a href="http://library.gnome.org/devel/libnotify/" onclick="window.open(this.href, '_blank'); return false;"><img src="$sbRoot/images/notifiers/libnotify.gif" alt="Libnotify" title="Libnotify" width="16" height="16" /> Libnotify</a></h3>
|
||||
- <p>The standard desktop notification API for Linux/*nix systems. This notifier will only function if the pynotify module is installed (Ubuntu/Debian package <a href="apt:python-notify">python-notify</a>).</p>
|
||||
- </div>
|
||||
-
|
||||
- <fieldset class="component-group-list">
|
||||
- <div class="field-pair">
|
||||
- <input type="checkbox" class="enabler" name="use_libnotify" id="use_libnotify" #if $sickbeard.USE_LIBNOTIFY then "checked=\"checked\"" else ""# />
|
||||
- <label class="clearfix" for="use_libnotify">
|
||||
- <span class="component-title">Enable</span>
|
||||
- <span class="component-desc">Should Sick Beard send Libnotify notifications?</span>
|
||||
- </label>
|
||||
- </div>
|
||||
-
|
||||
- <div id="content_use_libnotify">
|
||||
- <div class="field-pair">
|
||||
- <input type="checkbox" name="libnotify_notify_onsnatch" id="libnotify_notify_onsnatch" #if $sickbeard.LIBNOTIFY_NOTIFY_ONSNATCH then "checked=\"checked\"" else ""# />
|
||||
- <label class="clearfix" for="libnotify_notify_onsnatch">
|
||||
- <span class="component-title">Notify on Snatch</span>
|
||||
- <span class="component-desc">Send notification when we start a download?</span>
|
||||
- </label>
|
||||
- </div>
|
||||
-
|
||||
- <div class="field-pair">
|
||||
- <input type="checkbox" name="libnotify_notify_ondownload" id="libnotify_notify_ondownload" #if $sickbeard.LIBNOTIFY_NOTIFY_ONDOWNLOAD then "checked=\"checked\"" else ""# />
|
||||
- <label class="clearfix" for="libnotify_notify_ondownload">
|
||||
- <span class="component-title">Notify on Download</span>
|
||||
- <span class="component-desc">Send notification when we finish a download?</span>
|
||||
- </label>
|
||||
- </div>
|
||||
-
|
||||
- <div class="testNotification" id="testLibnotify-result">Click below to test.</div>
|
||||
- <input type="button" value="Test Libnotify" id="testLibnotify" />
|
||||
- <input type="submit" class="config_submitter" value="Save Changes" />
|
||||
-
|
||||
- </div><!-- /content_use_libnotify //-->
|
||||
-
|
||||
- </fieldset>
|
||||
- </div><!-- /component-group //-->
|
||||
-
|
||||
<div id="core-component-group8" class="component-group clearfix">
|
||||
|
||||
<div class="component-group-desc">
|
||||
diff -Naur SickBeard-48caf04/data/interfaces/default/inc_top.tmpl SickBeard-48caf04.patch/data/interfaces/default/inc_top.tmpl
|
||||
--- SickBeard-48caf04/data/interfaces/default/inc_top.tmpl 2011-04-23 03:59:09.000000000 +0200
|
||||
+++ SickBeard-48caf04.patch/data/interfaces/default/inc_top.tmpl 2011-04-23 14:24:01.035048035 +0200
|
||||
@@ -172,7 +172,6 @@
|
||||
</li>
|
||||
<li id="NAVconfig"><a href="$sbRoot/config">Config</a>
|
||||
<ul>
|
||||
- <li><a href="$sbRoot/config/general/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />General</a></li>
|
||||
<li><a href="$sbRoot/config/search/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Search Settings</a></li>
|
||||
<li><a href="$sbRoot/config/providers/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Search Providers</a></li>
|
||||
<li><a href="$sbRoot/config/postProcessing/"><img src="$sbRoot/images/menu/config16.png" alt="" width="16" height="16" />Post Processing</a></li>
|
||||
diff -Naur SickBeard-48caf04/sickbeard/webserve.py SickBeard-48caf04.patch/sickbeard/webserve.py
|
||||
--- SickBeard-48caf04/sickbeard/webserve.py 2011-04-23 03:55:23.000000000 +0200
|
||||
+++ SickBeard-48caf04.patch/sickbeard/webserve.py 2011-04-23 17:55:09.270813146 +0200
|
||||
@@ -583,7 +583,6 @@
|
||||
|
||||
|
||||
ConfigMenu = [
|
||||
- { 'title': 'General', 'path': 'config/general/' },
|
||||
{ 'title': 'Search Settings', 'path': 'config/search/' },
|
||||
{ 'title': 'Search Providers', 'path': 'config/providers/' },
|
||||
{ 'title': 'Post Processing', 'path': 'config/postProcessing/' },
|
117
packages/addons/downloadmanager/SickBeard/source/bin/ini_tool
Executable file
117
packages/addons/downloadmanager/SickBeard/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)
|
26
packages/addons/downloadmanager/SickBeard/source/default.py
Normal file
26
packages/addons/downloadmanager/SickBeard/source/default.py
Normal file
@ -0,0 +1,26 @@
|
||||
################################################################################
|
||||
# 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 sys
|
||||
import xbmcaddon
|
||||
import os
|
||||
|
||||
if ( __name__ == "__main__" ):
|
||||
os.system("sh start.sh")
|
111
packages/addons/downloadmanager/SickBeard/source/start.sh
Executable file
111
packages/addons/downloadmanager/SickBeard/source/start.sh
Executable file
@ -0,0 +1,111 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2011 Anthony Nash (nash.ant@gmail.com)
|
||||
#
|
||||
# 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
|
||||
################################################################################
|
||||
|
||||
export PATH="$PATH:./bin"
|
||||
export PYTHONPATH="$PYTHONPATH:./pylib"
|
||||
|
||||
SICKBEARD_HOME="$HOME/.xbmc/userdata/addon_data/addon.downloadmanager.SickBeard"
|
||||
SABNZBD_SETTINGS="$HOME/.xbmc/userdata/addon_data/addon.downloadmanager.SABnzbd/sabnzbd.ini"
|
||||
XBMC_SETTINGS="$HOME/.xbmc/userdata/guisettings.xml"
|
||||
|
||||
write_ini() {
|
||||
python bin/ini_tool --action=write \
|
||||
--file=$SICKBEARD_HOME/config.ini \
|
||||
--option="$1:$2" \
|
||||
--value="$3"
|
||||
}
|
||||
|
||||
read_sabconfig() {
|
||||
python bin/ini_tool --action=read \
|
||||
--file=$SABNZBD_SETTINGS \
|
||||
--option="$1:$2"
|
||||
}
|
||||
|
||||
read_xbmcconfig() {
|
||||
grep "<$1>" $XBMC_SETTINGS | sed -e "s,[[:space:]]*<$1>,," -e "s,</$1>,,"
|
||||
}
|
||||
|
||||
mkdir -p $SICKBEARD_HOME
|
||||
chmod +x ./bin/*
|
||||
|
||||
sleep 5
|
||||
|
||||
if [ ! -f "$SICKBEARD_HOME/config.ini" ]; then
|
||||
SICKBEARD_FIRSTRUN="yes"
|
||||
fi
|
||||
|
||||
# default values
|
||||
SICKBEARD_LOGDIR="log"
|
||||
SICKBEARD_CACHEDIR="cache"
|
||||
SICKBEARD_PORT="8082"
|
||||
SICKBEARD_LAUNCHBROWSER="0"
|
||||
SICKBEARD_VERSIONCHECK="0"
|
||||
SICKBEARD_USEIPV6="0"
|
||||
SICKBEARD_WEBLOG="0"
|
||||
|
||||
SICKBEARD_USEXBMC="1"
|
||||
SICKBEARD_METADATAXBMC="1|1|1|1|1|1"
|
||||
|
||||
# read xbmc settings
|
||||
XBMC_HOST="127.0.0.1"
|
||||
XBMC_PORT=`read_xbmcconfig webserverport`
|
||||
XBMC_USER=`read_xbmcconfig webserverusername`
|
||||
XBMC_PWD=`read_xbmcconfig webserverpassword`
|
||||
|
||||
# read sabnzbd settings
|
||||
SABNZBD_HOST="127.0.0.1"
|
||||
SABNZBD_PORT="8081"
|
||||
SABNZBD_APIKEY=`read_sabconfig misc api_key`
|
||||
SABNZBD_WEBUSERNAME=`read_sabconfig misc username`
|
||||
SABNZBD_WEBPASSWORD=`read_sabconfig misc password`
|
||||
|
||||
if [ -z "$SICKBEARD_HOST" ]; then
|
||||
SICKBEARD_HOST="0.0.0.0"
|
||||
fi
|
||||
|
||||
write_ini General launch_browser $SICKBEARD_LAUNCHBROWSER
|
||||
write_ini General version_notify $SICKBEARD_VERSIONCHECK
|
||||
write_ini General log_dir $SICKBEARD_LOGDIR
|
||||
write_ini General cache_dir $SICKBEARD_CACHEDIR
|
||||
write_ini General web_port $SICKBEARD_PORT
|
||||
write_ini General web_host $SICKBEARD_HOST
|
||||
write_ini General web_ipv6 $SICKBEARD_USEIPV6
|
||||
write_ini General web_log $SICKBEARD_WEBLOG
|
||||
write_ini General web_username $SABNZBD_WEBUSERNAME
|
||||
write_ini General web_password $SABNZBD_WEBPASSWORD
|
||||
|
||||
write_ini SABnzbd sab_username $SABNZBD_WEBUSERNAME
|
||||
write_ini SABnzbd sab_password $SABNZBD_WEBPASSWORD
|
||||
write_ini SABnzbd sab_apikey $SABNZBD_APIKEY
|
||||
write_ini SABnzbd sab_host "http://$SABNZBD_HOST:$SABNZBD_PORT/"
|
||||
|
||||
write_ini XBMC use_xbmc $SICKBEARD_USEXBMC
|
||||
write_ini XBMC xbmc_host "$XBMC_HOST:$XBMC_PORT"
|
||||
write_ini XBMC xbmc_username $XBMC_USER
|
||||
write_ini XBMC xbmc_password $XBMC_PWD
|
||||
|
||||
if [ "$SICKBEARD_FIRSTRUN" = "yes" ]; then
|
||||
write_ini General metadata_xbmc $SICKBEARD_METADATAXBMC
|
||||
fi
|
||||
|
||||
python ./SickBeard/SickBeard.py --daemon --datadir $SICKBEARD_HOME
|
@ -59,4 +59,5 @@ else
|
||||
fi
|
||||
|
||||
chmod +x ./bin/transmission-daemon
|
||||
|
||||
transmission-daemon $TRANSMISSION_ARG
|
||||
|
@ -27,3 +27,6 @@ mkdir -p $INSTALL/usr/bin
|
||||
|
||||
mkdir -p $INSTALL/etc/pm/sleep.d
|
||||
cp $PKG_DIR/sleep.d/* $INSTALL/etc/pm/sleep.d
|
||||
|
||||
mkdir -p $INSTALL/lib/udev
|
||||
cp $PKG_DIR/scripts/tvheadend_startup $INSTALL/lib/udev
|
||||
|
@ -19,12 +19,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="hts-tvheadend"
|
||||
PKG_VERSION="2.12"
|
||||
PKG_VERSION="90e3570"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html"
|
||||
PKG_URL="http://www.lonelycoder.com/debian/dists/hts/main/source/${PKG_NAME}_${PKG_VERSION}.tar.gz"
|
||||
# PKG_URL="http://www.lonelycoder.com/debian/dists/hts/main/source/${PKG_NAME}_${PKG_VERSION}.tar.gz"
|
||||
PKG_URL="$OPENELEC_SRC/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||
PKG_DEPENDS="libiconv avahi"
|
||||
PKG_BUILD_DEPENDS="toolchain libiconv avahi"
|
||||
PKG_PRIORITY="optional"
|
||||
|
25
packages/multimedia/hts-tvheadend/scripts/tvheadend_startup
Executable file
25
packages/multimedia/hts-tvheadend/scripts/tvheadend_startup
Executable file
@ -0,0 +1,25 @@
|
||||
#!/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
|
||||
################################################################################
|
||||
|
||||
if [ ! $(pidof tvheadend) ];then
|
||||
tvheadend -C -s -f -u root -g root
|
||||
fi
|
@ -24,7 +24,7 @@ SUBSYSTEM!="dvb", GOTO="end"
|
||||
ENV{DVB_DEVICE_TYPE}!="frontend", GOTO="end"
|
||||
|
||||
# Start TVHeadend if dvb frontend is starting
|
||||
ACTION=="add", RUN+="/usr/bin/tvheadend -C -s -f -u root -g root"
|
||||
ACTION=="add", RUN+="/lib/udev/tvheadend_startup"
|
||||
ACTION=="remove", RUN+="/usr/bin/killall tvheadend"
|
||||
|
||||
LABEL="end"
|
||||
|
@ -1,116 +0,0 @@
|
||||
diff -Naur Sick-Beard-0f076f4/data/css/default.css Sick-Beard-0f076f4.patch/data/css/default.css
|
||||
--- Sick-Beard-0f076f4/data/css/default.css 2011-04-16 17:14:02.059365807 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/data/css/default.css 2011-04-16 17:47:20.371757075 +0200
|
||||
@@ -281,16 +281,6 @@
|
||||
background-color:#000;
|
||||
color:#fff;
|
||||
}
|
||||
-#donate {
|
||||
-line-height:1em;
|
||||
-background: #57442B;
|
||||
-float: right;
|
||||
-}
|
||||
-#donate a,#donate a:hover {
|
||||
-background-color:#57442B;
|
||||
-border:0;
|
||||
-padding:4px 15px 0px;
|
||||
-}
|
||||
#content {
|
||||
min-height: 100px;
|
||||
background: #fff;
|
||||
@@ -361,4 +351,4 @@
|
||||
text-shadow: 1px 1px 0 rgba(255,255,255,0.3);
|
||||
font-size: 1em;
|
||||
}
|
||||
-div.ui-pnotify { min-width: 340px; max-width: 550px; width: auto !important;}
|
||||
\ Kein Zeilenumbruch am Dateiende.
|
||||
+div.ui-pnotify { min-width: 340px; max-width: 550px; width: auto !important;}
|
||||
diff -Naur Sick-Beard-0f076f4/data/interfaces/default/config_general.tmpl Sick-Beard-0f076f4.patch/data/interfaces/default/config_general.tmpl
|
||||
--- Sick-Beard-0f076f4/data/interfaces/default/config_general.tmpl 2011-04-16 17:14:02.055365889 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/data/interfaces/default/config_general.tmpl 2011-04-16 18:04:59.879961265 +0200
|
||||
@@ -40,18 +40,6 @@
|
||||
</div>
|
||||
|
||||
<div class="field-pair">
|
||||
- <input type="checkbox" name="version_notify" id="version_notify" #if $sickbeard.VERSION_NOTIFY then "checked=\"checked\"" else ""#/>
|
||||
- <label class="clearfix" for="version_notify">
|
||||
- <span class="component-title">Check for Update</span>
|
||||
- <span class="component-desc">Show notification about updates for Sick Beard if available.</span>
|
||||
- </label>
|
||||
- <label class="nocheck clearfix">
|
||||
- <span class="component-title"> </span>
|
||||
- <span class="component-desc">Checking for updates runs on startup and every 12 hours.</span>
|
||||
- </label>
|
||||
- </div>
|
||||
-
|
||||
- <div class="field-pair">
|
||||
<label class="nocheck clearfix" for="log_dir">
|
||||
<span class="component-title">Logging Directory</span>
|
||||
<input type="text" name="log_dir" id="log_dir" value="$sickbeard.LOG_DIR" size="35" />
|
||||
diff -Naur Sick-Beard-0f076f4/data/interfaces/default/config.tmpl Sick-Beard-0f076f4.patch/data/interfaces/default/config.tmpl
|
||||
--- Sick-Beard-0f076f4/data/interfaces/default/config.tmpl 2011-04-16 17:14:02.054365910 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/data/interfaces/default/config.tmpl 2011-04-16 17:21:20.366435826 +0200
|
||||
@@ -16,17 +16,10 @@
|
||||
<tr><td class="infoTableHeader">SB Arguments: </td><td class="infoTableCell">$sickbeard.MY_ARGS</td></tr>
|
||||
<tr><td class="infoTableHeader">SB Web Root: </td><td class="infoTableCell">$sickbeard.WEB_ROOT</td></tr>
|
||||
<tr><td class="infoTableHeader">Python Version: </td><td class="infoTableCell">$sys.version[:120]</td></tr>
|
||||
- <tr style="border-top: 1px dotted #666666;"><td class="infoTableHeader">Homepage </td><td class="infoTableCell"><a href="http://www.sickbeard.com/">http://www.sickbeard.com/</a></td></tr>
|
||||
- <tr><td class="infoTableHeader">Forums </td><td class="infoTableCell"><a href="http://sickbeard.com/forums/">http://sickbeard.com/forums/</a></td></tr>
|
||||
- <tr><td class="infoTableHeader">Source </td><td class="infoTableCell"><a href="https://github.com/midgetspy/Sick-Beard/">https://github.com/midgetspy/Sick-Beard/</a></td></tr>
|
||||
- <tr><td class="infoTableHeader">Bug Tracker &<br/> Windows Builds </td><td class="infoTableCell"><a href="http://code.google.com/p/sickbeard/">http://code.google.com/p/sickbeard/</a></td></tr>
|
||||
- <tr><td class="infoTableHeader">Internet Relay Chat </td><td class="infoTableCell"><a href="irc://irc.freenode.net/#sickbeard"><i>#sickbeard</i> on <i>irc.freenode.net</i></a></td></tr>
|
||||
+ <tr style="border-top: 1px dotted #666666;"><td class="infoTableHeader">Homepage </td><td class="infoTableCell"><a href="http://www.openelec.tv">http://www.openelec.tv</a></td></tr>
|
||||
+ <tr><td class="infoTableHeader">Forums </td><td class="infoTableCell"><a href="http://www.openelec.tv/forum/">http://www.openelec.tv/forum/</a></td></tr>
|
||||
+ <tr><td class="infoTableHeader">Internet Relay Chat </td><td class="infoTableCell"><a href="irc://irc.freenode.net/#openelec"><i>#openelec</i> on <i>irc.freenode.net</i></a></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
-<table class="infoTable" cellspacing="1" border="0" cellpadding="0"><tr>
|
||||
- <td><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JA8M7VDY89SQ4" onclick="window.open(this.href); return false;"><img src="$sbRoot/images/paypal/btn_donateCC_LG.gif" alt="[donate]" /></a></td>
|
||||
- <td>Sickbeard is free, but you can contribute by giving a <b><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JA8M7VDY89SQ4" onclick="window.open(this.href); return false;">donation</a></b>.</td>
|
||||
-</tr></table>
|
||||
-
|
||||
#include $os.path.join($sickbeard.PROG_DIR, "data/interfaces/default/inc_bottom.tmpl")
|
||||
diff -Naur Sick-Beard-0f076f4/data/interfaces/default/inc_top.tmpl Sick-Beard-0f076f4.patch/data/interfaces/default/inc_top.tmpl
|
||||
--- Sick-Beard-0f076f4/data/interfaces/default/inc_top.tmpl 2011-04-16 17:14:02.055365889 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/data/interfaces/default/inc_top.tmpl 2011-04-16 17:51:40.232667081 +0200
|
||||
@@ -147,19 +147,6 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
-#if $sickbeard.NEWEST_VERSION_STRING:
|
||||
-<div id="upgrade-notification">
|
||||
- <div>
|
||||
- <span class="notify-text">$sickbeard.NEWEST_VERSION_STRING</span>
|
||||
- </div>
|
||||
-</div>
|
||||
-<div id="header-fix"></div>
|
||||
-#end if
|
||||
-<div id="header">
|
||||
- <a name="top"></a>
|
||||
- <span id="logo"><a href="$sbRoot/home/" title="Sick Beard homepage"><img alt="Sick Beard" src="$sbRoot/images/sickbeard_small.png" width="150" /></a></span>
|
||||
- <span id="versiontext">alpha $sickbeard.version.SICKBEARD_VERSION</span>
|
||||
-</div>
|
||||
<ul id="MainMenu" class="sf-menu">
|
||||
<li id="NAVsystem" class="first"><a href="#" class="navIcon"><img src="$sbRoot/images/menu/system18.png" alt="" width="18" height="18" /></a>
|
||||
<ul>
|
||||
@@ -197,7 +184,6 @@
|
||||
<li><a href="$sbRoot/errorlogs/viewlog"><img src="$sbRoot/images/menu/viewlog16.png" alt="" width="16" height="16" />View Log</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
- <li id="donate"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JA8M7VDY89SQ4" onclick="window.open(this.href); return false;"><img src="$sbRoot/images/paypal/btn_donate_LG.gif" alt="[donate]" /></a></li>
|
||||
</ul>
|
||||
#if $varExists('submenu'):
|
||||
<div id="SubMenu">
|
||||
diff -Naur Sick-Beard-0f076f4/sickbeard/__init__.py Sick-Beard-0f076f4.patch/sickbeard/__init__.py
|
||||
--- Sick-Beard-0f076f4/sickbeard/__init__.py 2011-04-16 17:14:02.038366239 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/sickbeard/__init__.py 2011-04-16 18:13:07.293414961 +0200
|
||||
@@ -446,7 +446,7 @@
|
||||
|
||||
QUALITY_DEFAULT = check_setting_int(CFG, 'General', 'quality_default', SD)
|
||||
STATUS_DEFAULT = check_setting_int(CFG, 'General', 'status_default', SKIPPED)
|
||||
- VERSION_NOTIFY = check_setting_int(CFG, 'General', 'version_notify', 1)
|
||||
+ VERSION_NOTIFY = check_setting_int(CFG, 'General', 'version_notify', 0)
|
||||
SEASON_FOLDERS_FORMAT = check_setting_str(CFG, 'General', 'season_folders_format', 'Season %02d')
|
||||
SEASON_FOLDERS_DEFAULT = bool(check_setting_int(CFG, 'General', 'season_folders_default', 0))
|
||||
|
@ -1,56 +0,0 @@
|
||||
diff -Naur Sick-Beard-0f076f4/autoProcessTV/autoProcessTV.cfg.sample Sick-Beard-0f076f4.patch/autoProcessTV/autoProcessTV.cfg.sample
|
||||
--- Sick-Beard-0f076f4/autoProcessTV/autoProcessTV.cfg.sample 2011-04-16 15:57:38.000000000 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/autoProcessTV/autoProcessTV.cfg.sample 2011-04-16 16:52:05.332606512 +0200
|
||||
@@ -1,6 +1,6 @@
|
||||
[SickBeard]
|
||||
host=localhost
|
||||
-port=8081
|
||||
+port=8082
|
||||
username=
|
||||
password=
|
||||
-web_root=
|
||||
\ Kein Zeilenumbruch am Dateiende.
|
||||
+web_root=
|
||||
diff -Naur Sick-Beard-0f076f4/data/interfaces/default/config_general.tmpl Sick-Beard-0f076f4.patch/data/interfaces/default/config_general.tmpl
|
||||
--- Sick-Beard-0f076f4/data/interfaces/default/config_general.tmpl 2011-04-16 15:57:38.000000000 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/data/interfaces/default/config_general.tmpl 2011-04-16 16:53:18.753081978 +0200
|
||||
@@ -95,7 +95,7 @@
|
||||
</label>
|
||||
<label class="nocheck clearfix">
|
||||
<span class="component-title"> </span>
|
||||
- <span class="component-desc">Web port that Sick Beard should listen on (eg. 8081)</span>
|
||||
+ <span class="component-desc">Web port that Sick Beard should listen on (eg. 8082)</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
diff -Naur Sick-Beard-0f076f4/sickbeard/__init__.py Sick-Beard-0f076f4.patch/sickbeard/__init__.py
|
||||
--- Sick-Beard-0f076f4/sickbeard/__init__.py 2011-04-16 15:57:38.000000000 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/sickbeard/__init__.py 2011-04-16 16:51:40.750117126 +0200
|
||||
@@ -393,12 +393,12 @@
|
||||
logger.log(u"!!! No log folder, logging to screen only!", logger.ERROR)
|
||||
|
||||
try:
|
||||
- WEB_PORT = check_setting_int(CFG, 'General', 'web_port', 8081)
|
||||
+ WEB_PORT = check_setting_int(CFG, 'General', 'web_port', 8082)
|
||||
except:
|
||||
- WEB_PORT = 8081
|
||||
+ WEB_PORT = 8082
|
||||
|
||||
if WEB_PORT < 21 or WEB_PORT > 65535:
|
||||
- WEB_PORT = 8081
|
||||
+ WEB_PORT = 8082
|
||||
|
||||
WEB_HOST = check_setting_str(CFG, 'General', 'web_host', '0.0.0.0')
|
||||
WEB_IPV6 = bool(check_setting_int(CFG, 'General', 'web_ipv6', 0))
|
||||
diff -Naur Sick-Beard-0f076f4/sickbeard/webserveInit.py Sick-Beard-0f076f4.patch/sickbeard/webserveInit.py
|
||||
--- Sick-Beard-0f076f4/sickbeard/webserveInit.py 2011-04-16 15:57:38.000000000 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/sickbeard/webserveInit.py 2011-04-16 16:52:50.786662601 +0200
|
||||
@@ -24,7 +24,7 @@
|
||||
from sickbeard.webserve import WebInterface
|
||||
|
||||
def initWebServer(options = {}):
|
||||
- options.setdefault('port', 8081)
|
||||
+ options.setdefault('port', 8082)
|
||||
options.setdefault('host', '0.0.0.0')
|
||||
options.setdefault('log_dir', None)
|
||||
options.setdefault('username', '')
|
@ -1,33 +0,0 @@
|
||||
diff -Naur Sick-Beard-0f076f4/sickbeard/__init__.py Sick-Beard-0f076f4.patch/sickbeard/__init__.py
|
||||
--- Sick-Beard-0f076f4/sickbeard/__init__.py 2011-04-16 16:57:52.784398169 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/sickbeard/__init__.py 2011-04-16 17:04:12.103546012 +0200
|
||||
@@ -190,12 +190,12 @@
|
||||
NZBGET_CATEGORY = None
|
||||
NZBGET_HOST = None
|
||||
|
||||
-USE_XBMC = False
|
||||
+USE_XBMC = True
|
||||
XBMC_NOTIFY_ONSNATCH = False
|
||||
XBMC_NOTIFY_ONDOWNLOAD = False
|
||||
XBMC_UPDATE_LIBRARY = False
|
||||
XBMC_UPDATE_FULL = False
|
||||
-XBMC_HOST = ''
|
||||
+XBMC_HOST = '127.0.0.1:8080'
|
||||
XBMC_USERNAME = None
|
||||
XBMC_PASSWORD = None
|
||||
|
||||
@@ -528,12 +528,12 @@
|
||||
NZBGET_CATEGORY = check_setting_str(CFG, 'NZBget', 'nzbget_category', 'tv')
|
||||
NZBGET_HOST = check_setting_str(CFG, 'NZBget', 'nzbget_host', '')
|
||||
|
||||
- USE_XBMC = bool(check_setting_int(CFG, 'XBMC', 'use_xbmc', 0))
|
||||
+ USE_XBMC = bool(check_setting_int(CFG, 'XBMC', 'use_xbmc', 1))
|
||||
XBMC_NOTIFY_ONSNATCH = bool(check_setting_int(CFG, 'XBMC', 'xbmc_notify_onsnatch', 0))
|
||||
XBMC_NOTIFY_ONDOWNLOAD = bool(check_setting_int(CFG, 'XBMC', 'xbmc_notify_ondownload', 0))
|
||||
XBMC_UPDATE_LIBRARY = bool(check_setting_int(CFG, 'XBMC', 'xbmc_update_library', 0))
|
||||
XBMC_UPDATE_FULL = bool(check_setting_int(CFG, 'XBMC', 'xbmc_update_full', 0))
|
||||
- XBMC_HOST = check_setting_str(CFG, 'XBMC', 'xbmc_host', '')
|
||||
+ XBMC_HOST = check_setting_str(CFG, 'XBMC', 'xbmc_host', '127.0.0.1:8080')
|
||||
XBMC_USERNAME = check_setting_str(CFG, 'XBMC', 'xbmc_username', '')
|
||||
XBMC_PASSWORD = check_setting_str(CFG, 'XBMC', 'xbmc_password', '')
|
||||
|
@ -1,21 +0,0 @@
|
||||
diff -Naur Sick-Beard-0f076f4/sickbeard/__init__.py Sick-Beard-0f076f4.patch/sickbeard/__init__.py
|
||||
--- Sick-Beard-0f076f4/sickbeard/__init__.py 2011-04-16 22:38:48.449071968 +0200
|
||||
+++ Sick-Beard-0f076f4.patch/sickbeard/__init__.py 2011-04-16 22:52:23.704291427 +0200
|
||||
@@ -184,7 +184,7 @@
|
||||
SAB_PASSWORD = None
|
||||
SAB_APIKEY = None
|
||||
SAB_CATEGORY = None
|
||||
-SAB_HOST = ''
|
||||
+SAB_HOST = '127.0.0.1:8081'
|
||||
|
||||
NZBGET_PASSWORD = None
|
||||
NZBGET_CATEGORY = None
|
||||
@@ -522,7 +522,7 @@
|
||||
SAB_PASSWORD = check_setting_str(CFG, 'SABnzbd', 'sab_password', '')
|
||||
SAB_APIKEY = check_setting_str(CFG, 'SABnzbd', 'sab_apikey', '')
|
||||
SAB_CATEGORY = check_setting_str(CFG, 'SABnzbd', 'sab_category', 'tv')
|
||||
- SAB_HOST = check_setting_str(CFG, 'SABnzbd', 'sab_host', '')
|
||||
+ SAB_HOST = check_setting_str(CFG, 'SABnzbd', 'sab_host', '127.0.0.1:8081')
|
||||
|
||||
NZBGET_PASSWORD = check_setting_str(CFG, 'NZBget', 'nzbget_password', 'tegbzn6789')
|
||||
NZBGET_CATEGORY = check_setting_str(CFG, 'NZBget', 'nzbget_category', 'tv')
|
@ -22,6 +22,15 @@
|
||||
|
||||
. config/options $1
|
||||
|
||||
IFS=" "
|
||||
for i in $PKG_ADDON_REQUIRES; do
|
||||
REQUIRES_ADDONNAME=`echo $i | cut -f1 -d ":"`
|
||||
REQUIRES_ADDONVERSION=`echo $i | cut -f2 -d ":"`
|
||||
REQUIRES="$REQUIRES\n <import addon=\"$REQUIRES_ADDONNAME\" version=\"$REQUIRES_ADDONVERSION\" />"
|
||||
done
|
||||
|
||||
unset IFS
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "usage: $0 package_name"
|
||||
exit 1
|
||||
@ -46,8 +55,10 @@ if [ -f $PKG_DIR/addon ]; then
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID
|
||||
cp config/addon/addon.xml $ADDON_BUILD/$PKG_ADDON_ID
|
||||
$SED -e "s|@PKG_ADDON_ID@|$PKG_ADDON_ID|g" \
|
||||
-e "s|@PKG_NAME@|$PKG_NAME|g" \
|
||||
-e "s|@ADDON_VERSION@|$OS_VERSION.$PKG_REV|g" \
|
||||
-e "s|@PKG_ADDON_TYPE@|$PKG_ADDON_TYPE|g" \
|
||||
-e "s|@REQUIRES@|$REQUIRES|g" \
|
||||
-e "s|@PKG_SHORTDESC@|$PKG_SHORTDESC|g" \
|
||||
-e "s|@OS_VERSION@|$OS_VERSION|g" \
|
||||
-e "s|@PKG_LONGDESC@|$PKG_LONGDESC|g" \
|
||||
|
43
tools/mkpkg/mkpkg_couchpotato
Executable file
43
tools/mkpkg/mkpkg_couchpotato
Executable file
@ -0,0 +1,43 @@
|
||||
#!/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
|
||||
################################################################################
|
||||
|
||||
echo "getting sources..."
|
||||
if [ ! -d CouchPotato.git ]; then
|
||||
git clone git://github.com/RuudBurger/CouchPotato.git CouchPotato.git
|
||||
fi
|
||||
|
||||
cd CouchPotato.git
|
||||
git pull
|
||||
GIT_REV=`git log -n1 --format=%h`
|
||||
cd ..
|
||||
|
||||
echo "copying sources..."
|
||||
rm -rf CouchPotato-$GIT_REV
|
||||
cp -R CouchPotato.git CouchPotato-$GIT_REV
|
||||
|
||||
echo "cleaning sources..."
|
||||
rm -rf CouchPotato-$GIT_REV/.git
|
||||
|
||||
echo "packing sources..."
|
||||
tar cvjf CouchPotato-$GIT_REV.tar.bz2 CouchPotato-$GIT_REV
|
||||
|
||||
echo "remove temporary sourcedir..."
|
||||
rm -rf CouchPotato-$GIT_REV
|
@ -20,25 +20,24 @@
|
||||
################################################################################
|
||||
|
||||
echo "getting sources..."
|
||||
if [ ! -d sickbeard.git ]; then
|
||||
git clone git://github.com/midgetspy/Sick-Beard.git sickbeard.git
|
||||
GIT_REV=`git log -n1 --format=%h`
|
||||
else
|
||||
cd sickbeard.git
|
||||
if [ ! -d SickBeard.git ]; then
|
||||
git clone git://github.com/midgetspy/Sick-Beard.git SickBeard.git
|
||||
fi
|
||||
|
||||
cd SickBeard.git
|
||||
git pull
|
||||
GIT_REV=`git log -n1 --format=%h`
|
||||
cd ..
|
||||
fi
|
||||
|
||||
echo "copying sources..."
|
||||
rm -rf sickbeard-$GIT_REV
|
||||
cp -R sickbeard.git sickbeard-$GIT_REV
|
||||
rm -rf SickBeard-$GIT_REV
|
||||
cp -R SickBeard.git SickBeard-$GIT_REV
|
||||
|
||||
echo "cleaning sources..."
|
||||
rm -rf sickbeard-$GIT_REV/.git
|
||||
rm -rf SickBeard-$GIT_REV/.git
|
||||
|
||||
echo "packing sources..."
|
||||
tar cvjf sickbeard-$GIT_REV.tar.bz2 sickbeard-$GIT_REV
|
||||
tar cvjf SickBeard-$GIT_REV.tar.bz2 SickBeard-$GIT_REV
|
||||
|
||||
echo "remove temporary sourcedir..."
|
||||
rm -rf sickbeard-$GIT_REV
|
||||
rm -rf SickBeard-$GIT_REV
|
||||
|
43
tools/mkpkg/mkpkg_tvheadend
Executable file
43
tools/mkpkg/mkpkg_tvheadend
Executable file
@ -0,0 +1,43 @@
|
||||
#!/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
|
||||
################################################################################
|
||||
|
||||
echo "getting sources..."
|
||||
if [ ! -d hts-tvheadend.git ]; then
|
||||
git clone https://github.com/andoma/tvheadend.git hts-tvheadend.git
|
||||
fi
|
||||
|
||||
cd hts-tvheadend.git
|
||||
git pull
|
||||
GIT_REV=`git log -n1 --format=%h`
|
||||
cd ..
|
||||
|
||||
echo "copying sources..."
|
||||
rm -rf hts-tvheadend-$GIT_REV
|
||||
cp -R hts-tvheadend.git hts-tvheadend-$GIT_REV
|
||||
|
||||
echo "cleaning sources..."
|
||||
rm -rf hts-tvheadend-$GIT_REV/.git
|
||||
|
||||
echo "packing sources..."
|
||||
tar cvjf hts-tvheadend-$GIT_REV.tar.bz2 hts-tvheadend-$GIT_REV
|
||||
|
||||
echo "remove temporary sourcedir..."
|
||||
rm -rf hts-tvheadend-$GIT_REV
|
Loading…
x
Reference in New Issue
Block a user