Diskussion:CapturePlugin - Kaffeine
Aus TV-Browser Wiki
Ich habe einen Vorschlag für ein besseres Python-Script. Dieses übersetzt zwischen unterschiedlichen TV-Browser- und DVB-Kanalnamen, und weil sowohl Kanal als auch Titel url-encoded übermittelt werden, können sie Leerzeichen und Sonderzeichen enthalten. Sonderzeichen wie z.B. '/' werden übrigens von Kaffeine selbst in '_' verwandelt.
[bearbeiten] Installation
- DCOP-Bindings für Python installieren (Paket python-dcop bei Debian/Ubuntu)
- Das unten angegebene Script mit dem Namen
kaffeine-tvbrowser-wrappererstellen und abspeichern. - Script ausführbar machen (
chmod a+x kaffeine-tvbrowser-wrapper) - Das Script in den CapturePlugin-Einstellungen als Programm angeben
- Als Parameter folgendes für »Aufnahme« eintragen:
{start_year} {start_month} {start_day} {start_hour} {start_minute} {length_minutes} {urlencode(isset(channel_name_external_quiet,channel_name), "iso8859-1")} {urlencode(title, "iso8859-1")} - Bei »Löschen« irgend etwas eintragen.
[bearbeiten] Script kaffeine-tvbrowser-wrapper
#!/usr/bin/env python
import sys
import math
import pcop
import pydcop
import urllib
channel_renames = {
'Das Erste (ARD)': 'Das Erste',
'BR': 'Bayerisches FS',
'ZDFdokukanal': 'Doku/KiKa',
'Ki.Ka': 'Doku/KiKa',
'SWR BW': 'SWR Fernsehen',
}
def rename_channel(channel):
try: return channel_renames[channel]
except KeyError: return channel
def dd(num):
if int(num) < 10:
return "0" + str(num)
else:
return str(num)
year = dd(sys.argv[1])
month = dd(sys.argv[2])
day = dd(sys.argv[3])
hour = dd(sys.argv[4])
minute = dd(sys.argv[5])
length = int(sys.argv[6])
title = urllib.unquote_plus(sys.argv[8])
channel = rename_channel(urllib.unquote_plus(sys.argv[7]))
name = year + "-" + month + "-" + day + "_" + hour + "-" + minute + "_" + title
datetime = year + "-" + month + "-" + day + "T" + hour + ":" + minute + ":00"
duration = dd(int(math.floor(length // 60))) + ":" + dd(length % 60) + ":00"
pydcop.anyAppCalled("kaffeine").KaffeineIface.dvbNewTimer(name, channel, datetime, duration)

