Merge branch 'master' of git://github.com/OpenELEC/OpenELEC.tv into openelec-next

This commit is contained in:
Stephan Raue 2011-05-30 03:15:53 +02:00
commit bdc7e4fc9a
35 changed files with 57 additions and 1501 deletions

View File

@ -1,2 +0,0 @@
0.99.1
- initial version CouchPotato

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -1,40 +0,0 @@
################################################################################
# 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"

View File

@ -1,186 +0,0 @@
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()

View File

@ -1,117 +0,0 @@
#!/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)

View File

@ -1,102 +0,0 @@
#!/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

View File

@ -1,37 +0,0 @@
#!/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

View File

@ -1,2 +0,0 @@
0.99.1
- initial version SABnzbd-0.6.0RC2

View File

@ -1,5 +0,0 @@
<settings>
<setting id="SABNZBD_IP" value="0.0.0.0" />
<setting id="SABNZBD_PWD" value="" />
<setting id="SABNZBD_USER" value="" />
</settings>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,39 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="SABnzbd"
PKG_VERSION="0.6.0RC2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://sabnzbd.org/"
#PKG_URL="$SOURCEFORGE_SRC/sabnzbdplus/${PKG_NAME}-${PKG_VERSION}-src.tar.gz"
PKG_URL="$SOURCEFORGE_SRC/sabnzbdplus/sabnzbdplus-beta/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="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"

View File

@ -1,214 +0,0 @@
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">&nbsp;</span>
- <span class="component-desc">$T('explain-admin_dir1')</span>
- </label>
- <label class="nocheck clearfix">
- <span class="component-title">&nbsp;</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">&nbsp;</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">&nbsp;</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>&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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 ""#--> />

View File

@ -1,117 +0,0 @@
#!/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)

View File

@ -1,26 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
import sys
import xbmcaddon
import os
if ( __name__ == "__main__" ):
os.system("sh start.sh")

View File

@ -1,12 +0,0 @@
<?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>

View File

@ -1,12 +0,0 @@
<?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>

View File

@ -1,12 +0,0 @@
<?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>

View File

@ -1,12 +0,0 @@
<?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>

View File

@ -1,12 +0,0 @@
<?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>

View File

@ -1,15 +0,0 @@
<?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>

View File

@ -1,110 +0,0 @@
#!/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
################################################################################
export PATH="$PATH:./bin"
export PYTHONPATH="$PYTHONPATH:./pylib"
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 \
--option="$1:$2" \
--value="$3"
}
mkdir -p $SABNZBD_HOME
chmod +x ./bin/*
if [ ! -f "$SABNZBD_SETTINGS" ]; then
cp settings-default.xml $SABNZBD_SETTINGS
fi
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"`
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 ./SABnzbd/SABnzbd.py -d -f $SABNZBD_HOME/sabnzbd.ini -l 0

View File

@ -1,30 +0,0 @@
#!/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
################################################################################
. config/options $1
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/$1
cp -PR $PKG_BUILD/* $ADDON_BUILD/$PKG_ADDON_ID/$1
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/pylib
cp -R $BUILD/Cheetah*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib

View File

@ -1,2 +0,0 @@
0.99.1
- initial version SickBeard-48caf04

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1,44 +0,0 @@
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&amp;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&amp;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&amp;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">

View File

@ -1,74 +0,0 @@
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/' },

View File

@ -1,117 +0,0 @@
#!/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)

View File

@ -1,26 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
import sys
import xbmcaddon
import os
if ( __name__ == "__main__" ):
os.system("sh start.sh")

View File

@ -1,111 +0,0 @@
#!/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

View 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)
@ -18,9 +20,8 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
import sys
import xbmcaddon
import os
. config/options $1
if ( __name__ == "__main__" ):
os.system("start.sh")
cd $PKG_BUILD
make -f makefile.linux

View File

@ -3,7 +3,6 @@
################################################################################
# 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
@ -23,6 +22,7 @@
. config/options $1
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/$1
cp -PR $PKG_BUILD/* $ADDON_BUILD/$PKG_ADDON_ID/$1
mkdir -p $INSTALL/usr/lib
rm -f $PKG_BUILD/out/*full
cp -P $PKG_BUILD/out/libmakemkv.so.* $INSTALL/usr/lib
cp -P $PKG_BUILD/out/libdriveio.so.* $INSTALL/usr/lib

View File

@ -1,7 +1,6 @@
################################################################################
# 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
@ -19,22 +18,19 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="SickBeard"
PKG_VERSION="48caf04"
PKG_NAME="makemkv"
PKG_VERSION="v1.6.8_oss"
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 SABnzbd Cheetah"
PKG_BUILD_DEPENDS="toolchain Python Cheetah"
PKG_SITE="http://www.makemkv.com/forum2/viewforum.php?f=3"
PKG_URL="http://www.makemkv.com/download/${PKG_NAME}_${PKG_VERSION}.tar.gz"
PKG_DEPENDS="openssl"
PKG_BUILD_DEPENDS="toolchain openssl"
PKG_PRIORITY="optional"
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_SECTION="multimedia"
PKG_SHORTDESC="MakeMKV converts the video clips from proprietary (and usually encrypted) disc into a set of MKV files, preserving most information but not changing it in any way."
PKG_LONGDESC="MakeMKV can instantly stream decrypted video without intermediate conversion to wide range of players, so you may watch Blu-ray and DVD discs with your favorite player on your favorite OS or on your favorite device."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"

View File

@ -0,0 +1,35 @@
--- makemkv_v1.6.8_oss/makefile.linux 2011-04-25 08:44:43.000000000 +0200
+++ makemkv_v1.6.8_oss.patch/makefile.linux 2011-04-25 21:26:11.262636081 +0200
@@ -14,7 +14,7 @@
BUILDINFO_BUILD_DATE=$(shell date)
-all: out/libdriveio.so.0 out/libmakemkv.so.1 out/makemkv
+all: out/libdriveio.so.0 out/libmakemkv.so.1
@echo "type \"sudo make -f makefile.linux install\" to install"
clean:
@@ -23,13 +23,11 @@
rm -f out/*
rm -f tmp/*
-install: out/libdriveio.so.0 out/libmakemkv.so.1 out/makemkv
+install: out/libdriveio.so.0 out/libmakemkv.so.1
rm -f /usr/lib/libdriveio.so.0
rm -f /usr/lib/libmakemkv.so.1
- rm -f /usr/bin/makemkv
install -t /usr/lib out/libdriveio.so.0 out/libmakemkv.so.1
ldconfig
- install -t /usr/bin out/makemkv
out/%: out/%.full
objcopy --strip-all --strip-debug --strip-unneeded --discard-all $< $@
@@ -42,7 +40,7 @@
out/libmakemkv.so.1.full: tmp/gen_buildinfo.h
mkdir -p out
- $(GCC) $(CXXOPTS) -D_REENTRANT -shared -Wl,-z,defs -o$@ $(LIBEBML_INC) $(LIBMATROSKA_INC) \
+ $(GCC) $(CXXOPTS) -L$(PKG_CONFIG_SYSROOT_DIR)/usr/lib -DOPENSSL_NO_EC -D_REENTRANT -shared -Wl,-z,defs -o$@ $(LIBEBML_INC) $(LIBMATROSKA_INC) \
$(LIBMAKEMKV_INC) $(SSTRING_INC) $(MAKEMKVGUI_INC) $(LIBABI_INC) $(LIBFFCODEC_INC) \
$(LIBEBML_SRC) $(LIBMATROSKA_SRC) $(LIBMAKEMKV_SRC) $(GLIBC_SRC) $(SSTRING_SRC) \
$(LIBABI_SRC) $(LIBABI_SRC_LINUX) $(LIBFFCODEC_SRC) \

View File

@ -1004,7 +1004,7 @@ CONFIG_R8169=y
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_ATL1C is not set
CONFIG_ATL1C=y
# CONFIG_JME is not set
# CONFIG_STMMAC_ETH is not set
# CONFIG_PCH_GBE is not set

View File

@ -954,7 +954,7 @@ CONFIG_R8169=y
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_ATL1C is not set
CONFIG_ATL1C=y
# CONFIG_JME is not set
# CONFIG_STMMAC_ETH is not set
# CONFIG_PCH_GBE is not set