From 56473866f717a3634b0fdb600a82d13c130c8c55 Mon Sep 17 00:00:00 2001 From: Lukas Heiniger Date: Sun, 22 Apr 2012 17:18:28 +0200 Subject: [PATCH 1/2] SABnzbd-Suite: Adds option to wake up periodically --- .../SABnzbd-Suite/changelog.txt | 3 +++ .../SABnzbd-Suite/config/settings.xml | 2 ++ .../SABnzbd-Suite/source/default.py | 26 +++++++++++++++++-- .../resources/language/English/strings.xml | 2 ++ .../resources/language/German/strings.xml | 2 ++ .../source/resources/settings.xml | 5 ++++ 6 files changed, 38 insertions(+), 2 deletions(-) diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt b/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt index 3ecab74198..db2483809b 100644 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt +++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt @@ -1,3 +1,6 @@ +2.1.3 +- add option to wake up periodically + 2.1.2 - improve startup script diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml index 6bdd7c4637..ddd2a65d06 100644 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml +++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml @@ -3,4 +3,6 @@ + + diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py index aecda97fc3..ef9cbb8064 100644 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py +++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py @@ -26,6 +26,8 @@ import subprocess import xbmc import urllib2 import socket +import time +import datetime from configobj import ConfigObj __scriptname__ = "SABnzbd Suite" @@ -37,7 +39,7 @@ __path__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "SABnzbd-Suit checkInterval = 120 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'] # Launch Suite subprocess.call(['python',__path__]) @@ -55,14 +57,22 @@ sabNzbdQueue = 'http://' + sabNzbdAddress + '/sabnzbd/api?mode=queue&output # 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') +wakePeriodically = __settings__.getSetting('SABNZBD_PERIODIC_WAKE') +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): # reread setting in case it has changed shouldKeepAwake = __settings__.getSetting('SABNZBD_KEEP_AWAKE') + wakePeriodically = __settings__.getSetting('SABNZBD_PERIODIC_WAKE') + wakeHourIdx = int(__settings__.getSetting('SABNZBD_WAKE_AT')) # check if SABnzbd is downloading sabIsActive = False @@ -85,5 +95,17 @@ while (not xbmc.abortRequested): if (sabIsActive and timeToShutdown <= checkInterval - timeout): xbmc.log('SABnzbd-Suite: still downloading. Resetting XBMC idle timer.') xbmc.executehttpapi("SendKey(0xF000)") - + + # 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)) + xbmc.sleep(checkInterval * 1000) \ No newline at end of file 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 index 3fae37f4a3..304ce60eca 100644 --- 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 @@ -10,5 +10,7 @@ Allowed IP addresses Sleep Keep awake while downloading + Wake up periodically + Wake up at 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 index fb2a450293..0ff4656c37 100644 --- 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 @@ -10,5 +10,7 @@ Erlaubte IP Adressen Ruhezustand Verhindere Ruhezustand wenn aktiv + Periodisch aufwachen + Aufwachen um diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml index 6ac0150f85..33b9d33e3e 100755 --- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml +++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml @@ -15,5 +15,10 @@ + + + From a0ac0a64b7833844f081fe005404cda36241c10b Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sun, 22 Apr 2012 18:42:27 +0300 Subject: [PATCH 2/2] projects/*/linux/linux.*.conf: add Conexant cx23418 MPEG encoder support --- projects/Fusion/linux/linux.i386.conf | 4 +++- projects/Fusion/linux/linux.x86_64.conf | 4 +++- projects/Generic/linux/linux.i386.conf | 4 +++- projects/Generic_OSS/linux/linux.i386.conf | 4 +++- projects/ION/linux/linux.i386.conf | 4 +++- projects/ION/linux/linux.x86_64.conf | 4 +++- projects/Intel/linux/linux.i386.conf | 4 +++- projects/Intel/linux/linux.x86_64.conf | 4 +++- projects/Virtual/linux/linux.i386.conf | 4 +++- projects/Virtual/linux/linux.x86_64.conf | 4 +++- 10 files changed, 30 insertions(+), 10 deletions(-) diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf index 1fb12c117f..1db704dd73 100644 --- a/projects/Fusion/linux/linux.i386.conf +++ b/projects/Fusion/linux/linux.i386.conf @@ -1887,6 +1887,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -1951,7 +1952,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/Fusion/linux/linux.x86_64.conf b/projects/Fusion/linux/linux.x86_64.conf index 6373dddcf7..01dd06302f 100644 --- a/projects/Fusion/linux/linux.x86_64.conf +++ b/projects/Fusion/linux/linux.x86_64.conf @@ -1839,6 +1839,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -1903,7 +1904,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf index b3eeb029eb..b303b7ba45 100644 --- a/projects/Generic/linux/linux.i386.conf +++ b/projects/Generic/linux/linux.i386.conf @@ -1968,6 +1968,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -2032,7 +2033,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/Generic_OSS/linux/linux.i386.conf b/projects/Generic_OSS/linux/linux.i386.conf index ffcc7b10e5..10fd7bf0f4 100644 --- a/projects/Generic_OSS/linux/linux.i386.conf +++ b/projects/Generic_OSS/linux/linux.i386.conf @@ -1966,6 +1966,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -2030,7 +2031,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf index 630d1f1133..ecf1bb1aa4 100644 --- a/projects/ION/linux/linux.i386.conf +++ b/projects/ION/linux/linux.i386.conf @@ -1820,6 +1820,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -1884,7 +1885,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf index 3359458e79..87f94e5a1c 100644 --- a/projects/ION/linux/linux.x86_64.conf +++ b/projects/ION/linux/linux.x86_64.conf @@ -1764,6 +1764,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -1828,7 +1829,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf index fccf79b2b2..eac79e3ad3 100644 --- a/projects/Intel/linux/linux.i386.conf +++ b/projects/Intel/linux/linux.i386.conf @@ -1857,6 +1857,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -1921,7 +1922,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf index 26d12da529..c800e39b25 100644 --- a/projects/Intel/linux/linux.x86_64.conf +++ b/projects/Intel/linux/linux.x86_64.conf @@ -1802,6 +1802,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -1866,7 +1867,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/Virtual/linux/linux.i386.conf b/projects/Virtual/linux/linux.i386.conf index 49ca2a5846..5af8bcfda1 100644 --- a/projects/Virtual/linux/linux.i386.conf +++ b/projects/Virtual/linux/linux.i386.conf @@ -1865,6 +1865,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -1929,7 +1930,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set diff --git a/projects/Virtual/linux/linux.x86_64.conf b/projects/Virtual/linux/linux.x86_64.conf index 2ef182bcfd..06573a0f70 100644 --- a/projects/Virtual/linux/linux.x86_64.conf +++ b/projects/Virtual/linux/linux.x86_64.conf @@ -1810,6 +1810,7 @@ CONFIG_VIDEO_IR_I2C=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_WM8775=m @@ -1874,7 +1875,8 @@ CONFIG_MEDIA_ALTERA_CI=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_CX18 is not set +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_CAFE_CCIC is not set # CONFIG_SOC_CAMERA is not set