diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/addon b/packages/addons/service/downloadmanager/SABnzbd-Suite/addon deleted file mode 100755 index 6d7c7d6eea..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/addon +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -. config/options $1 - -mkdir -p $ADDON_BUILD/$PKG_ADDON_ID - 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 - cp -R $BUILD/configobj*/.install/usr/lib/python*/site-packages/* $ADDON_BUILD/$PKG_ADDON_ID/pylib - -mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/SABnzbd - cp -PR $BUILD/SABnzbd-*/* $ADDON_BUILD/$PKG_ADDON_ID/SABnzbd - -mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/SickBeard - cp -PR $BUILD/SickBeard-*/* $ADDON_BUILD/$PKG_ADDON_ID/SickBeard - -mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/CouchPotatoServer - cp -PR $BUILD/CouchPotatoServer-*/* $ADDON_BUILD/$PKG_ADDON_ID/CouchPotatoServer - -mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/Headphones - cp -PR $BUILD/Headphones-*/* $ADDON_BUILD/$PKG_ADDON_ID/Headphones diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt b/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt deleted file mode 100644 index 8da5b9a91d..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt +++ /dev/null @@ -1,127 +0,0 @@ -3.1.1 -- rebuild for OpenELEC-3.2 - -3.0.9 -- update to CouchPotatoServe-5c0d8a7 -- update to Headphones-452cf15 -- remove CouchPotato (v1) - -3.0.8 -- update to CouchPotatoServe-f1dde5c -- update to Headphones-ebbe908 -- update to SickBeard-fb37d33 - -3.0.7 -- update to CouchPotatoServe-5a23be2 -- update to SickBeard-ebec1de -- fix executehttpapi startup error - -3.0.6 -- fix configobj error n startup - -3.0.5 -- rebuild. configobj included - -3.0.4 -- update to SickBeard-4e57625 -- update to CouchPotatoServer-a49a00a -- fix keep awake option - -3.0.3 -- update to SABnzbd-0.7.11 -- update to CouchPotatoServer-811f35b -- update to SickBeard-6cb5e76 -- added option to restart the suite on suspend / resume - -3.0.2 -- Fixed bug causing configobj to throw an exception with Couchpotato v2s config -- corrected a bug causing most of the suite to crash on first launch in certain circumstances -- update to SABnzbd-0.7.9 -- update to CouchPotatoServer-393c14d -- update to Headphones-263272c -- update to SickBeard-e6dcfb3 - -3.0.1 -- bump addon version - -2.1.8 -- update to SABnzbd-0.7.3 -- update to CouchPotato-806bed6 -- update to CouchPotatoServer-e1d7440 -- update to Headphones-d07dc39 -- update to SickBeard-b7cf06e - -2.1.7 -- update to SABnzbd-0.7.0 -- update to Headphones-89c2a8c -- perform "Keep awake while downloading" and "Wake up periodically" only if sabnzbd is enabled -- updated Turkish translation - -2.1.6 -- fixed another startup bug - -2.1.5 -- fixed bug in startup (caused by couchpotatoserver / configobj) -- add possibilty to start / stop addon from addon manager with enable / disable - -2.1.4 -- fixes bug in sleep control -- added couchpotato v2 -- added ability to enable or disable parts of the Suite from the addon settings page - -2.1.3 -- fix so python dont steal xbmc's webserver port (again) -- add option to wake up periodically -- update to SickBeard-a24eac6 -- update to Headphones-298463a - -2.1.2 -- improve startup script - -2.1.1 -- update to addon version 2.1 -- update to SABnzbd-0.6.15 -- update to SickBeard-a24eac6 -- update to CouchPotato-46dbb59 -- update to Headphones-818458e - -2.0.1 -- fix so python dont steal xbmc's webserver port - -2.0.0 -- prepare for OpenELEC-2.0 release -- update to SABnzbd-0.6.14 -- update to SickBeard-9b43f71 -- update to CouchPotato-75f12fa -- update to Headphones-8d80c6d - -1.90.2 -- depends on xbmc.python API 2.0 - -1.90.1 -- rebuild for OpenSSL upgrade - -1.90.0 -- prepare for OpenELEC-1.90 release - -1.0.0 -- update to unrar-4.0.7 -- update to CouchPotato-4eec8e0 -- update to Headphones-e9a1e55 -- update to SickBeard-9f64728 -- update to SABnzbd-0.6.10 -- prepare for OpenELEC-1.0 release - -0.99.4 -- add Headphones-ee3326e - -0.99.3 -- rebuild against fixed 'yenc', 'Cheetah' and 'pyOpenSSL' - -0.99.2 -- update to SABnzbd-0.6.7 -- update to SickBeard-e0e8f0e -- update to CouchPotato-6cd66ae - -0.99.1 -- initial version SABnzbd-Suite diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml deleted file mode 100644 index 4bace92a16..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/icon/icon.png b/packages/addons/service/downloadmanager/SABnzbd-Suite/icon/icon.png deleted file mode 100644 index 2c62900063..0000000000 Binary files a/packages/addons/service/downloadmanager/SABnzbd-Suite/icon/icon.png and /dev/null differ diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/meta b/packages/addons/service/downloadmanager/SABnzbd-Suite/meta deleted file mode 100644 index 23030e17ab..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/meta +++ /dev/null @@ -1,38 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -PKG_NAME="SABnzbd-Suite" -PKG_VERSION="3.1" -PKG_REV="1" -PKG_ARCH="any" -PKG_LICENSE="OSS" -PKG_SITE="http://www.openelec.tv" -PKG_URL="" -PKG_DEPENDS="Python" -PKG_BUILD_DEPENDS="toolchain Python SABnzbd SickBeard Headphones CouchPotatoServer" -PKG_PRIORITY="optional" -PKG_SECTION="service/downloadmanager" -PKG_SHORTDESC="SABnzbd-Suite is a Metapackage which combines SABnzbd, SickBeard, Couchpotato and Headphones in one Addon" -PKG_LONGDESC="SABnzbd-Suite 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" diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/bin/SABnzbd-Suite.py b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/bin/SABnzbd-Suite.py deleted file mode 100755 index ed7a4a3ba9..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/bin/SABnzbd-Suite.py +++ /dev/null @@ -1,466 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2012 Lukas Heiniger -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -# Initializes and launches SABnzbd, Couchpotato, Sickbeard and Headphones - -import os -import shutil -import xbmc -import signal -import subprocess -import urllib2 -import hashlib -import sys -from xml.dom.minidom import parseString -import logging -import traceback - -logging.basicConfig(filename='/var/log/sabnzbd-suite.log', - filemode='w', - format='%(asctime)s SABnzbd-Suite: %(message)s', - level=logging.WARNING) - -# helper functions -# ---------------- - -def createDir(dir): - if not os.path.isdir(dir): - os.makedirs(dir) - -def getAddonSetting(doc,id): - for element in doc.getElementsByTagName('setting'): - if element.getAttribute('id')==id: - return element.getAttribute('value') - -def loadWebInterface(url,user,pwd): - passman = urllib2.HTTPPasswordMgrWithDefaultRealm() - passman.add_password(None, url, user, pwd) - authhandler = urllib2.HTTPBasicAuthHandler(passman) - opener = urllib2.build_opener(authhandler) - urllib2.install_opener(opener) - pagehandle = urllib2.urlopen(url) - return pagehandle.read() - -# define some things that we're gonna need, mainly paths -# ------------------------------------------------------ - -# addon -pAddon = os.path.expanduser('~/.xbmc/addons/service.downloadmanager.SABnzbd-Suite') -pAddonHome = os.path.expanduser('~/.xbmc/userdata/addon_data/service.downloadmanager.SABnzbd-Suite') - -# settings -pDefaultSuiteSettings = os.path.join(pAddon, 'settings-default.xml') -pSuiteSettings = os.path.join(pAddonHome, 'settings.xml') -pXbmcSettings = '/storage/.xbmc/userdata/guisettings.xml' -pSabNzbdSettings = os.path.join(pAddonHome, 'sabnzbd.ini') -pSickBeardSettings = os.path.join(pAddonHome, 'sickbeard.ini') -pCouchPotatoServerSettings = os.path.join(pAddonHome, 'couchpotatoserver.ini') -pHeadphonesSettings = os.path.join(pAddonHome, 'headphones.ini') -pTransmission_Addon_Settings ='/storage/.xbmc/userdata/addon_data/service.downloadmanager.transmission/settings.xml' - -# directories -pSabNzbdComplete = '/storage/downloads' -pSabNzbdCompleteMov = '/storage/downloads/movies' -pSabNzbdCompleteMusic = '/storage/downloads/music' -pSabNzbdIncomplete = '/storage/downloads/incomplete' -pSickBeardTvScripts = os.path.join(pAddon, 'SickBeard/autoProcessTV') -pSabNzbdScripts = os.path.join(pAddonHome, 'scripts') - -# pylib -pPylib = os.path.join(pAddon, 'pylib') - -# service commands -sabnzbd = ['python', os.path.join(pAddon, 'SABnzbd/SABnzbd.py'), - '-d', '-f', pSabNzbdSettings, '-l 0'] -sickBeard = ['python', os.path.join(pAddon, 'SickBeard/SickBeard.py'), - '--daemon', '--datadir', pAddonHome, '--config', pSickBeardSettings] -couchPotatoServer = ['python', os.path.join(pAddon, 'CouchPotatoServer/CouchPotato.py'), - '--daemon', '--pid_file', os.path.join(pAddonHome, 'couchpotato.pid'), '--config_file', pCouchPotatoServerSettings] -headphones = ['python', os.path.join(pAddon, 'Headphones/Headphones.py'), - '-d', '--datadir', pAddonHome, '--config', pHeadphonesSettings] - -# Other stuff -sabNzbdHost = '127.0.0.1:8081' -addonId = 'service.downloadmanager.SABnzbd-Suite' - -# create directories and settings on first launch -# ----------------------------------------------- - -firstLaunch = not os.path.exists(pSabNzbdSettings) -if firstLaunch: - logging.debug('First launch, creating directories') - createDir(pAddonHome) - createDir(pSabNzbdComplete) - createDir(pSabNzbdCompleteMov) - createDir(pSabNzbdCompleteMusic) - createDir(pSabNzbdIncomplete) - createDir(pSabNzbdScripts) - shutil.copy(os.path.join(pSickBeardTvScripts,'sabToSickBeard.py'), pSabNzbdScripts) - shutil.copy(os.path.join(pSickBeardTvScripts,'autoProcessTV.py'), pSabNzbdScripts) - os.chmod(os.path.join(pSabNzbdScripts,'sabToSickBeard.py'), 0755) - # the settings file already exists if the user set settings before the first launch - if not os.path.exists(pSuiteSettings): - shutil.copy(pDefaultSuiteSettings, pSuiteSettings) - # make utilities executable - for utility in {'par2','unrar','unzip'}: - try: - os.chmod(os.path.join(pAddon, 'bin', utility), 0755) - except: - pass - -# read addon and xbmc settings -# ---------------------------- - -# Transmission-Daemon -if os.path.exists(pTransmission_Addon_Settings): - fTransmission_Addon_Settings = open(pTransmission_Addon_Settings, 'r') - data = fTransmission_Addon_Settings.read() - fTransmission_Addon_Settings.close - transmission_addon_settings = parseString(data) - transuser = getAddonSetting(transmission_addon_settings, 'TRANSMISSION_USER') - transpwd = getAddonSetting(transmission_addon_settings, 'TRANSMISSION_PWD') - transauth = getAddonSetting(transmission_addon_settings, 'TRANSMISSION_AUTH') -else: - transauth = 'false' - -# SABnzbd-Suite -fSuiteSettings = open(pSuiteSettings, 'r') -data = fSuiteSettings.read() -fSuiteSettings.close -suiteSettings = parseString(data) -user = getAddonSetting(suiteSettings, 'SABNZBD_USER') -pwd = getAddonSetting(suiteSettings, 'SABNZBD_PWD') -host = getAddonSetting(suiteSettings, 'SABNZBD_IP') -sabNzbdKeepAwake = getAddonSetting(suiteSettings, 'SABNZBD_KEEP_AWAKE') -sabnzbd_launch = getAddonSetting(suiteSettings, 'SABNZBD_LAUNCH') -sickbeard_launch = getAddonSetting(suiteSettings, 'SICKBEARD_LAUNCH') -couchpotato_launch = getAddonSetting(suiteSettings, 'COUCHPOTATO_LAUNCH') -headphones_launch = getAddonSetting(suiteSettings, 'HEADPHONES_LAUNCH') - -# merge defaults -fDefaultSuiteSettings = open(pDefaultSuiteSettings, 'r') -data = fDefaultSuiteSettings.read() -fDefaultSuiteSettings.close -DefaultSuiteSettings = parseString(data) -if not sabnzbd_launch: - sabnzbd_launch = getAddonSetting(DefaultSuiteSettings, 'SABNZBD_LAUNCH') -if not sickbeard_launch: - sickbeard_launch = getAddonSetting(DefaultSuiteSettings, 'SICKBEARD_LAUNCH') -if not couchpotato_launch: - couchpotato_launch = getAddonSetting(DefaultSuiteSettings, 'COUCHPOTATO_LAUNCH') -if not headphones_launch: - headphones_launch = getAddonSetting(DefaultSuiteSettings, 'HEADPHONES_LAUNCH') - -# XBMC -fXbmcSettings = open(pXbmcSettings, 'r') -data = fXbmcSettings.read() -fXbmcSettings.close -xbmcSettings = parseString(data) -xbmcServices = xbmcSettings.getElementsByTagName('services')[0] -xbmcPort = xbmcServices.getElementsByTagName('webserverport')[0].firstChild.data -try: - xbmcUser = xbmcServices.getElementsByTagName('webserverusername')[0].firstChild.data -except: - xbmcUser = '' -try: - xbmcPwd = xbmcServices.getElementsByTagName('webserverpassword')[0].firstChild.data -except: - xbmcPwd = '' - -# prepare execution environment -# ----------------------------- - -signal.signal(signal.SIGCHLD, signal.SIG_DFL) -os.environ['PYTHONPATH'] = str(os.environ.get('PYTHONPATH')) + ':' + pPylib -sys.path.append(pPylib) - -from configobj import ConfigObj - -# SABnzbd start -try: - # write SABnzbd settings - # ---------------------- - sabNzbdConfig = ConfigObj(pSabNzbdSettings,create_empty=True) - defaultConfig = ConfigObj() - defaultConfig['misc'] = {} - defaultConfig['misc']['disable_api_key'] = '0' - defaultConfig['misc']['check_new_rel'] = '0' - defaultConfig['misc']['auto_browser'] = '0' - defaultConfig['misc']['username'] = user - defaultConfig['misc']['password'] = pwd - defaultConfig['misc']['port'] = '8081' - defaultConfig['misc']['https_port'] = '9081' - defaultConfig['misc']['https_cert'] = 'server.cert' - defaultConfig['misc']['https_key'] = 'server.key' - defaultConfig['misc']['host'] = host - defaultConfig['misc']['web_dir'] = 'Plush' - defaultConfig['misc']['web_dir2'] = 'Plush' - defaultConfig['misc']['web_color'] = 'gold' - defaultConfig['misc']['web_color2'] = 'gold' - defaultConfig['misc']['log_dir'] = 'logs' - defaultConfig['misc']['admin_dir'] = 'admin' - defaultConfig['misc']['nzb_backup_dir'] = 'backup' - defaultConfig['misc']['script_dir'] = 'scripts' - - if firstLaunch: - defaultConfig['misc']['download_dir'] = pSabNzbdIncomplete - defaultConfig['misc']['complete_dir'] = pSabNzbdComplete - servers = {} - servers['localhost'] = {} - servers['localhost']['host'] = 'localhost' - servers['localhost']['port'] = '119' - servers['localhost']['enable'] = '0' - categories = {} - categories['tv'] = {} - categories['tv']['name'] = 'tv' - categories['tv']['script'] = 'sabToSickBeard.py' - categories['tv']['priority'] = '-100' - categories['movies'] = {} - categories['movies']['name'] = 'movies' - categories['movies']['dir'] = 'movies' - categories['movies']['priority'] = '-100' - categories['music'] = {} - categories['music']['name'] = 'music' - categories['music']['dir'] = 'music' - categories['music']['priority'] = '-100' - defaultConfig['servers'] = servers - defaultConfig['categories'] = categories - - sabNzbdConfig.merge(defaultConfig) - sabNzbdConfig.write() - - # also keep the autoProcessTV config up to date - autoProcessConfig = ConfigObj(os.path.join(pSabNzbdScripts, 'autoProcessTV.cfg'), create_empty=True) - defaultConfig = ConfigObj() - defaultConfig['SickBeard'] = {} - defaultConfig['SickBeard']['host'] = 'localhost' - defaultConfig['SickBeard']['port'] = '8082' - defaultConfig['SickBeard']['username'] = user - defaultConfig['SickBeard']['password'] = pwd - autoProcessConfig.merge(defaultConfig) - autoProcessConfig.write() - - # launch SABnzbd and get the API key - # ---------------------------------- - if firstLaunch or "true" in sabnzbd_launch: - logging.debug('Launching SABnzbd...') - subprocess.call(sabnzbd,close_fds=True) - logging.debug('...done') - - # SABnzbd will only complete the .ini file when we first access the web interface - if firstLaunch: - loadWebInterface('http://' + sabNzbdHost,user,pwd) - sabNzbdConfig.reload() - sabNzbdApiKey = sabNzbdConfig['misc']['api_key'] - logging.debug('SABnzbd api key: ' + sabNzbdApiKey) - if firstLaunch and "false" in sabnzbd_launch: - urllib2.urlopen('http://' + sabNzbdHost + '/api?mode=shutdown&apikey=' + sabNzbdApiKey) -except Exception,e: - print 'SABnzbd: exception occurred:', e - print traceback.format_exc() -# SABnzbd end - -# SickBeard start -try: - # write SickBeard settings - # ------------------------ - sickBeardConfig = ConfigObj(pSickBeardSettings,create_empty=True) - defaultConfig = ConfigObj() - defaultConfig['General'] = {} - defaultConfig['General']['launch_browser'] = '0' - defaultConfig['General']['version_notify'] = '0' - defaultConfig['General']['log_dir'] = 'logs' - defaultConfig['General']['web_port'] = '8082' - defaultConfig['General']['web_host'] = host - defaultConfig['General']['web_username'] = user - defaultConfig['General']['web_password'] = pwd - if "true" in sabnzbd_launch: - defaultConfig['SABnzbd'] = {} - defaultConfig['SABnzbd']['sab_username'] = user - defaultConfig['SABnzbd']['sab_password'] = pwd - defaultConfig['SABnzbd']['sab_apikey'] = sabNzbdApiKey - defaultConfig['SABnzbd']['sab_host'] = 'http://' + sabNzbdHost + '/' - defaultConfig['XBMC'] = {} - defaultConfig['XBMC']['use_xbmc'] = '1' - defaultConfig['XBMC']['xbmc_host'] = '127.0.0.1:' + xbmcPort - defaultConfig['XBMC']['xbmc_username'] = xbmcUser - defaultConfig['XBMC']['xbmc_password'] = xbmcPwd - - if firstLaunch: - defaultConfig['General']['metadata_xbmc'] = '1|1|1|1|1|1' - defaultConfig['General']['nzb_method'] = 'sabnzbd' - defaultConfig['General']['keep_processed_dir'] = '0' - defaultConfig['General']['use_banner'] = '1' - defaultConfig['General']['rename_episodes'] = '1' - defaultConfig['General']['naming_ep_name'] = '0' - defaultConfig['General']['naming_use_periods'] = '1' - defaultConfig['General']['naming_sep_type'] = '1' - defaultConfig['General']['naming_ep_type'] = '1' - defaultConfig['General']['root_dirs'] = '0|/storage/tvshows' - defaultConfig['SABnzbd']['sab_category'] = 'tv' - # workaround: on first launch, sick beard will always add - # 'http://' and trailing '/' on its own - defaultConfig['SABnzbd']['sab_host'] = sabNzbdHost - defaultConfig['XBMC']['xbmc_notify_ondownload'] = '1' - defaultConfig['XBMC']['xbmc_update_library'] = '1' - defaultConfig['XBMC']['xbmc_update_full'] = '1' - - sickBeardConfig.merge(defaultConfig) - sickBeardConfig.write() - - # launch SickBeard - # ---------------- - if "true" in sickbeard_launch: - logging.debug('Launching SickBeard...') - subprocess.call(sickBeard,close_fds=True) - logging.debug('...done') -except Exception,e: - print 'SickBeard: exception occurred:', e - print traceback.format_exc() -# SickBeard end - -# CouchPotatoServer start -try: - # empty password hack - if pwd == '': - md5pwd = '' - else: - #convert password to md5 - md5pwd = hashlib.md5(str(pwd)).hexdigest() - - # write CouchPotatoServer settings - # -------------------------- - couchPotatoServerConfig = ConfigObj(pCouchPotatoServerSettings,create_empty=True, list_values=False) - defaultConfig = ConfigObj() - defaultConfig['core'] = {} - defaultConfig['core']['username'] = user - defaultConfig['core']['password'] = md5pwd - defaultConfig['core']['port'] = '8083' - defaultConfig['core']['launch_browser'] = '0' - defaultConfig['core']['host'] = host - defaultConfig['core']['data_dir'] = pAddonHome - defaultConfig['core']['permission_folder'] = '0644' - defaultConfig['core']['permission_file'] = '0644' - defaultConfig['core']['show_wizard'] = '0' - defaultConfig['core']['debug'] = '0' - defaultConfig['core']['development'] = '0' - defaultConfig['updater'] = {} - defaultConfig['updater']['enabled'] = '0' - defaultConfig['updater']['notification'] = '0' - defaultConfig['updater']['automatic'] = '0' - if "true" in sabnzbd_launch: - defaultConfig['Sabnzbd'] = {} - defaultConfig['Sabnzbd']['username'] = user - defaultConfig['Sabnzbd']['password'] = pwd - defaultConfig['Sabnzbd']['api_key'] = sabNzbdApiKey - defaultConfig['Sabnzbd']['host'] = sabNzbdHost - defaultConfig['xbmc'] = {} - defaultConfig['xbmc']['enabled'] = '1' - defaultConfig['xbmc']['host'] = '127.0.0.1:' + xbmcPort - defaultConfig['xbmc']['username'] = xbmcUser - defaultConfig['xbmc']['password'] = xbmcPwd - - if 'true' in transauth: - defaultConfig['transmission'] = {} - defaultConfig['transmission']['username'] = transuser - defaultConfig['transmission']['password'] = transpwd - defaultConfig['transmission']['directory'] = pSabNzbdCompleteMov - defaultConfig['transmission']['host'] = 'localhost:9091' - - if firstLaunch: - defaultConfig['xbmc']['xbmc_update_library'] = '1' - defaultConfig['xbmc']['xbmc_update_full'] = '1' - defaultConfig['xbmc']['xbmc_notify_onsnatch'] = '1' - defaultConfig['xbmc']['xbmc_notify_ondownload'] = '1' - defaultConfig['Sabnzbd']['category'] = 'movies' - defaultConfig['Sabnzbd']['pp_directory'] = pSabNzbdCompleteMov - defaultConfig['Renamer'] = {} - defaultConfig['Renamer']['enabled'] = '1' - defaultConfig['Renamer']['download'] = pSabNzbdCompleteMov - defaultConfig['Renamer']['destination'] = '/storage/videos' - defaultConfig['Renamer']['separator'] = '.' - defaultConfig['Renamer']['cleanup'] = '0' - - couchPotatoServerConfig.merge(defaultConfig) - couchPotatoServerConfig.write() - - # launch CouchPotatoServer - # ------------------ - if "true" in couchpotato_launch: - logging.debug('Launching CouchPotatoServer...') - subprocess.call(couchPotatoServer,close_fds=True) - logging.debug('...done') -except Exception,e: - print 'CouchPotatoServer: exception occurred:', e - print traceback.format_exc() -# CouchPotatoServer end - -# Headphones start -try: - # write Headphones settings - # ------------------------- - headphonesConfig = ConfigObj(pHeadphonesSettings,create_empty=True) - defaultConfig = ConfigObj() - defaultConfig['General'] = {} - defaultConfig['General']['launch_browser'] = '0' - defaultConfig['General']['http_port'] = '8084' - defaultConfig['General']['http_host'] = host - defaultConfig['General']['http_username'] = user - defaultConfig['General']['http_password'] = pwd - defaultConfig['General']['check_github'] = '0' - defaultConfig['General']['check_github_on_startup'] = '0' - defaultConfig['General']['log_dir'] = pAddonHome + '/logs' - defaultConfig['General']['folder_permissions'] = '0644' - defaultConfig['XBMC'] = {} - defaultConfig['XBMC']['xbmc_enabled'] = '1' - defaultConfig['XBMC']['xbmc_host'] = '127.0.0.1:' + xbmcPort - defaultConfig['XBMC']['xbmc_username'] = xbmcUser - defaultConfig['XBMC']['xbmc_password'] = xbmcPwd - defaultConfig['SABnzbd'] = {} - - if "true" in sabnzbd_launch: - defaultConfig['SABnzbd']['sab_apikey'] = sabNzbdApiKey - defaultConfig['SABnzbd']['sab_host'] = sabNzbdHost - defaultConfig['SABnzbd']['sab_username'] = user - defaultConfig['SABnzbd']['sab_password'] = pwd - - if firstLaunch: - defaultConfig['SABnzbd']['sab_category'] = 'music' - defaultConfig['XBMC']['xbmc_update'] = '1' - defaultConfig['XBMC']['xbmc_notify'] = '1' - defaultConfig['General']['music_dir'] = '/storage/music' - defaultConfig['General']['destination_dir'] = '/storage/music' - defaultConfig['General']['download_dir'] = '/storage/downloads/music' - defaultConfig['General']['move_files'] = '1' - defaultConfig['General']['rename_files'] = '1' - - headphonesConfig.merge(defaultConfig) - headphonesConfig.write() - - # launch Headphones - # ----------------- - if "true" in headphones_launch: - logging.debug('Launching Headphones...') - subprocess.call(headphones,close_fds=True) - logging.debug('...done') -except Exception,e: - print 'Headphones: exception occurred:', e - print traceback.format_exc() -# Headphones end diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/bin/SABnzbd-Suite.stop b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/bin/SABnzbd-Suite.stop deleted file mode 100755 index f240d07576..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/bin/SABnzbd-Suite.stop +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -kill `ps | grep -E 'python.*service.downloadmanager.SABnzbd-Suite' | awk '{print $1}'` 2>/dev/null diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py deleted file mode 100644 index 9845897e72..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py +++ /dev/null @@ -1,139 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -import os -import sys -import xbmcaddon -import time -import subprocess -import xbmc -import urllib2 -import socket -import time -import datetime - -__scriptname__ = "SABnzbd Suite" -__author__ = "OpenELEC" -__url__ = "http://www.openelec.tv" -__settings__ = xbmcaddon.Addon(id='service.downloadmanager.SABnzbd-Suite') -__cwd__ = __settings__.getAddonInfo('path') -__start__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "SABnzbd-Suite.py") ) -__stop__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "SABnzbd-Suite.stop") ) - -#make binary files executable in adson bin folder -subprocess.Popen("chmod -R +x " + __cwd__ + "/bin/*" , shell=True, close_fds=True) - -checkInterval = 240 -timeout = 20 -wake_times = ['01:00','03:00','05:00','07:00','09:00','11:00','13:00','15:00','17:00','19:00','21:00','23:00'] -idleTimer = 0 - -# Launch Suite -subprocess.call(['python',__start__]) - -# check for launching sabnzbd -sabNzbdLaunch = (__settings__.getSetting('SABNZBD_LAUNCH').lower() == 'true') - -sys.path.append(os.path.join(__cwd__, 'pylib')) -from configobj import ConfigObj - -if sabNzbdLaunch: - # SABnzbd addresses and api key - sabNzbdAddress = '127.0.0.1:8081' - sabNzbdConfigFile = '/storage/.xbmc/userdata/addon_data/service.downloadmanager.SABnzbd-Suite/sabnzbd.ini' - sabConfiguration = ConfigObj(sabNzbdConfigFile) - sabNzbdApiKey = sabConfiguration['misc']['api_key'] - sabNzbdUser = sabConfiguration['misc']['username'] - sabNzbdPass = sabConfiguration['misc']['password'] - sabNzbdQueue = 'http://' + sabNzbdAddress + '/api?mode=queue&output=xml&apikey=' + sabNzbdApiKey + '&ma_username=' + sabNzbdUser + '&ma_password=' + sabNzbdPass - sabNzbdHistory = 'http://' + sabNzbdAddress + '/api?mode=history&output=xml&apikey=' + sabNzbdApiKey + '&ma_username=' + sabNzbdUser + '&ma_password=' + sabNzbdPass - sabNzbdQueueKeywords = ['Downloading', 'Fetching', 'Force'] - sabNzbdHistoryKeywords = ['Repairing', 'Verifying', 'Extracting'] - - # start checking SABnzbd for activity and prevent sleeping if necessary - socket.setdefaulttimeout(timeout) - - # perform some initial checks and log essential settings - shouldKeepAwake = (__settings__.getSetting('SABNZBD_KEEP_AWAKE').lower() == 'true') - wakePeriodically = (__settings__.getSetting('SABNZBD_PERIODIC_WAKE').lower() == 'true') - wakeHourIdx = int(__settings__.getSetting('SABNZBD_WAKE_AT')) - if shouldKeepAwake: - xbmc.log('SABnzbd-Suite: will prevent idle sleep/shutdown while downloading') - if wakePeriodically: - xbmc.log('SABnzbd-Suite: will try to wake system daily at ' + wake_times[wakeHourIdx]) - - -while (not xbmc.abortRequested): - - if sabNzbdLaunch: - # reread setting in case it has changed - shouldKeepAwake = (__settings__.getSetting('SABNZBD_KEEP_AWAKE').lower() == 'true') - wakePeriodically = (__settings__.getSetting('SABNZBD_PERIODIC_WAKE').lower() == 'true') - wakeHourIdx = int(__settings__.getSetting('SABNZBD_WAKE_AT')) - - # check if SABnzbd is downloading - if shouldKeepAwake: - idleTimer += 1 - # check SABnzbd every ~60s (240 cycles) - if idleTimer == checkInterval: - sabIsActive = False - idleTimer = 0 - req = urllib2.Request(sabNzbdQueue) - try: handle = urllib2.urlopen(req) - except IOError, e: - xbmc.log('SABnzbd-Suite: could not determine SABnzbds queue status', level=xbmc.LOGERROR) - else: - queue = handle.read() - handle.close() - if any(x in queue for x in sabNzbdQueueKeywords): - sabIsActive = True - - req = urllib2.Request(sabNzbdHistory) - try: handle = urllib2.urlopen(req) - except IOError, e: - xbmc.log('SABnzbd-Suite: could not determine SABnzbds history status', level=xbmc.LOGERROR) - else: - history = handle.read() - handle.close() - if any(x in history for x in sabNzbdHistoryKeywords): - sabIsActive = True - - # reset idle timer if queue is downloading/reparing/verifying/extracting - if sabIsActive: - xbmc.executebuiltin('InhibitIdleShutdown(true)') - else: - xbmc.executebuiltin('InhibitIdleShutdown(false)') - - # calculate and set the time to wake up at (if any) - if wakePeriodically: - wakeHour = wakeHourIdx * 2 + 1 - timeOfDay = datetime.time(hour=wakeHour) - now = datetime.datetime.now() - wakeTime = now.combine(now.date(),timeOfDay) - if now.time() > timeOfDay: - wakeTime += datetime.timedelta(days=1) - secondsSinceEpoch = time.mktime(wakeTime.timetuple()) - open("/sys/class/rtc/rtc0/wakealarm", "w").write("0") - open("/sys/class/rtc/rtc0/wakealarm", "w").write(str(secondsSinceEpoch)) - - time.sleep(0.250) - -subprocess.Popen(__stop__, shell=True, close_fds=True) - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Dutch/strings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Dutch/strings.xml deleted file mode 100644 index 491c00149a..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Dutch/strings.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - SABnzbd-Suite - Gebruikers instellingen - Gebruikersnaam - Wachtwoord - Netwerk instellingen - Toegestane IP adressen - - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/English/strings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/English/strings.xml deleted file mode 100644 index 7bd7d0e8f8..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/English/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - SABnzbd-Suite - User Settings - Username - Password - Enable SABnzbd - Enable Sickbeard - Enable Couchpotato - Enable Headphones - Network Settings - Allowed IP addresses - Sleep - Keep awake while downloading - Wake up periodically - Wake up at - Restart on suspend / resume - - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/French/strings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/French/strings.xml deleted file mode 100644 index ac318084fd..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/French/strings.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - SABnzbd-Suite - Préférences utilisateur - Nom d'utilisateur - Mot de passe - Préférences réseau - Adresses IP autorisées - - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/German/strings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/German/strings.xml deleted file mode 100644 index 0ff4656c37..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/German/strings.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - SABnzbd-Suite - Benutzer Einstellungen - Benutzername - Passwort - Netzwerk Einstellungen - Erlaubte IP Adressen - Ruhezustand - Verhindere Ruhezustand wenn aktiv - Periodisch aufwachen - Aufwachen um - - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Norwegian/strings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Norwegian/strings.xml deleted file mode 100644 index 8e5b0adc9a..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Norwegian/strings.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - SABnzbd-Suite - Bruker Instillinger - Brukernavn - Passord - Nettverksinstillinger - Tilatte IP addresser - - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Turkish/strings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Turkish/strings.xml deleted file mode 100644 index ae24ad356e..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/Turkish/strings.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - SABnzbd-Suite - Kullanıcı Ayarları - Kullanıcı adı - Parola - SABnzbd'yi Etkinleştir - Sickbeard'ı Etkinleştir - Couchpotato'yu Etkinleştir - Headphones'u Etkinleştir - Ağ Ayarları - İzin verilen IP adresleri - Uyku - İndirilirken uyanık tut - Düzenli olarak uyandır - Uyandırma zamanı - - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml deleted file mode 100644 index cf20410a95..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/sleep.d/SABnzbd-Suite.power b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/sleep.d/SABnzbd-Suite.power deleted file mode 100644 index b1674a064e..0000000000 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/sleep.d/SABnzbd-Suite.power +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/sh - -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) -# -# This Program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This Program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC.tv; see the file COPYING. If not, write to -# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. -# http://www.gnu.org/copyleft/gpl.html -################################################################################ - -. /etc/profile - -ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.downloadmanager.SABnzbd-Suite" -ADDON_SETTINGS="$ADDON_HOME/settings.xml" -RESTART_ON_RESUME=`grep RESTART_ON_RESUME $ADDON_SETTINGS | awk '{print $3}' | sed -e "s,value=,," -e "s,\",,g"` - -LOCKFILE="/var/lock/SABnzbd-Suite.sleep" - -if [ "$RESTART_ON_RESUME" == "true" ] ; then - case "$1" in - hibernate|suspend) - if [ ! -z "`ps | grep -E 'python.*service.downloadmanager.SABnzbd-Suite' | awk '{print $1}'`" ] ; then - progress "Shutting down SABnzbd-Suite for suspending..." - SABnzbd-Suite.stop - touch $LOCKFILE - fi - ;; - - thaw|resume) - progress "Restarting SABnzbd-Suite for wakeup..." - if [ -f "$LOCKFILE" ] ; then - rm -rf "$LOCKFILE" - python $HOME/.xbmc/addons/service.downloadmanager.SABnzbd-Suite/bin/SABnzbd-Suite.py - fi - ;; - *) exit $NA - ;; - esac -fi