sundtek-mediatv: updates for Python 3

This commit is contained in:
Peter 2021-09-07 12:39:55 +02:00
parent 105b76b5f0
commit 0a4b7b376c
9 changed files with 284 additions and 83 deletions

View File

@ -1,3 +1,6 @@
8.0.106
- updates for Python 3
8.0.105
- use new output from mediaclient
use xmlstartlet to parse settings.xml file

View File

@ -4,7 +4,7 @@
PKG_NAME="sundtek-mediatv"
PKG_VERSION="7.0"
PKG_REV="105"
PKG_REV="106"
PKG_ARCH="any"
PKG_LICENSE="nonfree"
PKG_SITE="http://support.sundtek.com/"

View File

@ -47,7 +47,7 @@ if [ $? -ne 0 ]; then
exit 1
fi
ARCH=$(sed -n 's|.*\.\([^-]*\)-.*|\1|p' /etc/release | tr -d '\n')
ARCH=$(sed -n 's|[^.]*\.\([^-]*\)-.*|\1|p' /etc/release | tr -d '\n')
if [ "$ARCH" = "x86_64" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/64bit/installer.tar.gz"
elif [ "$ARCH" = "arm" ]; then

View File

@ -19,14 +19,14 @@ __update_sh__ = xbmcvfs.translatePath(os.path.join(__cwd__, 'bin', 'sundtek-
if len(sys.argv) == 2:
if sys.argv[1] == 'refresh_tuners':
print "sundtek refresh tuners"
print('sundtek refresh tuners')
sys.path.append(__resources_lib__)
from functions import refresh_sundtek_tuners
refresh_sundtek_tuners(__settings_xml__, __mediaclient_e__)
__settings__.openSettings()
elif sys.argv[1] == 'update_driver':
print "sundtek update driver"
print('sundtek update driver')
proc = subprocess.Popen([__update_sh__], shell = True)
return_code = proc.wait()
print "sundtek update driver return value " + str(return_code)
print('sundtek update driver return value', return_code)
__settings__.openSettings()

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<string id="1000">General</string>
<string id="1014">Extra delay [sec]</string>
<string id="1015">Run user script</string>
<string id="1030">Enable hardware PID filter</string>
<string id="1035">Enable IR receiver</string>
<string id="1040">Lowest adapter number (/dev/dvb/adapterX/)</string>
<string id="1050">Enable suspend/resume the driver</string>
<string id="2000">Networking</string>
<string id="2005">Share local tuner over network</string>
<string id="2010">Use network shared tuners</string>
<string id="2020">Server 1 IP address</string>
<string id="2021"> # of tuners</string>
<string id="2030">Server 2 IP address</string>
<string id="2031"> # of tuners</string>
<string id="2040">Server 3 IP address</string>
<string id="2041"> # of tuners</string>
<string id="2050">Server 4 IP address</string>
<string id="2051"> # of tuners</string>
<string id="2060">Server 5 IP address</string>
<string id="2061"> # of tuners</string>
<string id="9000">Tuner settings</string>
<string id="9005">Enable modifying settings</string>
<string id="9010"><![CDATA[ >>> Refresh tuners <<< ]]></string>
<string id="9020"> IR protocol</string>
<string id="9030"> keymap filename</string>
<string id="3000">Driver</string>
<string id="3005">Driver version</string>
<string id="3020">Check for new driver version at boot</string>
<string id="3010"><![CDATA[ >>> Update driver now <<< ]]></string>
</strings>

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<string id="1000">Allgemein</string>
<string id="1014">Verzögerung bevor Treiber gestartet wird [Sek.]</string>
<string id="1015">Skript welches vom Treiber-Stack gestartet werden soll</string>
<string id="1030">Hardware PID Filter einschalten</string>
<string id="1035">Fernbedienung unterstützen</string>
<string id="1040">Niedrigste Adapter Nummer (/dev/dvb/adapterX/)</string>
<string id="1050">Suspend / Resume des Treibers zulassen</string>
<string id="2000">Netzwerksupport</string>
<string id="2005">Netzwerkserver aktivieren</string>
<string id="2010">Mit Netzwerk-Tunern verbinden</string>
<string id="2020">Server 1 IP Adresse</string>
<string id="2021"> # Tuner ID</string>
<string id="2030">Server 2 IP Adresse</string>
<string id="2031"> # Tuner ID</string>
<string id="2040">Server 3 IP Adresse</string>
<string id="2041"> # Tuner ID</string>
<string id="2050">Server 4 IP Adresse</string>
<string id="2051"> # Tuner ID</string>
<string id="2060">Server 5 IP Adresse</string>
<string id="2061"> # Tuner ID</string>
<string id="9000">Geräte Einstellungen</string>
<string id="9005">Geräte-Einstellung ändern</string>
<string id="9010"><![CDATA[ >>> Tuner-Liste aktualisieren <<< ]]></string>
<string id="9020"> IR Protokoll</string>
<string id="9030"> Keymap Datei</string>
<string id="3000">Treiber</string>
<string id="3005">Treiber-Version</string>
<string id="3020">Bei Neustart auf neue Treiber-Version prüfen</string>
<string id="3010"><![CDATA[ >>> Treiber jetzt aktualisieren <<< ]]></string>
</strings>

View File

@ -0,0 +1,134 @@
# Kodi Media Center language file
# Addon Name: Sundtek MediaTV
# Addon id: driver.dvb.sundtek-mediatv
# Addon Provider: Team LibreELEC
msgid ""
msgstr ""
"Project-Id-Version: Kodi Addons\n"
"Report-Msgid-Bugs-To: https://forum.libreelec.tv\n"
"POT-Creation-Date: 2021-09-02 20:00+CEST\n"
"PO-Revision-Date: 2021-09-02 20:00+CEST\n"
"Last-Translator: vpeter\n"
"Language-Team: Team LibreELEC\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgctxt "#1000"
msgid "General"
msgstr "Allgemein"
msgctxt "#1014"
msgid "Extra delay [sec]"
msgstr "Verzögerung bevor Treiber gestartet wird [Sek.]"
msgctxt "#1015"
msgid "Run user script"
msgstr "Skript welches vom Treiber-Stack gestartet werden soll"
msgctxt "#1030"
msgid "Enable hardware PID filter"
msgstr "Hardware PID Filter einschalten"
msgctxt "#1035"
msgid "Enable IR receiver"
msgstr "Fernbedienung unterstützen"
msgctxt "#1040"
msgid "Lowest adapter number (/dev/dvb/adapterX/)"
msgstr "Niedrigste Adapter Nummer (/dev/dvb/adapterX/)"
msgctxt "#1050"
msgid "Enable suspend/resume the driver"
msgstr "Suspend / Resume des Treibers zulassen"
msgctxt "#2000"
msgid "Networking"
msgstr "Netzwerksupport"
msgctxt "#2005"
msgid "Share local tuner over network"
msgstr "Netzwerkserver aktivieren"
msgctxt "#2010"
msgid "Use network shared tuners"
msgstr "Mit Netzwerk-Tunern verbinden"
msgctxt "#2020"
msgid "Server 1 IP address"
msgstr "Server 1 IP Adresse"
msgctxt "#2021"
msgid " # of tuners"
msgstr " # Tuner ID"
msgctxt "#2030"
msgid "Server 2 IP address"
msgstr "Server 2 IP Adresse"
msgctxt "#2031"
msgid " # of tuners"
msgstr " # Tuner ID"
msgctxt "#2040"
msgid "Server 3 IP address"
msgstr "Server 3 IP Adresse"
msgctxt "#2041"
msgid " # of tuners"
msgstr " # Tuner ID"
msgctxt "#2050"
msgid "Server 4 IP address"
msgstr "Server 4 IP Adresse"
msgctxt "#2051"
msgid " # of tuners"
msgstr " # Tuner ID"
msgctxt "#2060"
msgid "Server 5 IP address"
msgstr "Server 5 IP Adresse"
msgctxt "#2061"
msgid " # of tuners"
msgstr " # Tuner ID"
msgctxt "#3000"
msgid "Driver"
msgstr "Treiber"
msgctxt "#3005"
msgid "Driver version"
msgstr "Treiber-Version"
msgctxt "#3010"
msgid " >>> Update driver now <<< "
msgstr " >>> Treiber jetzt aktualisieren <<< "
msgctxt "#3020"
msgid "Check for new driver version at boot"
msgstr "Bei Neustart auf neue Treiber-Version prüfen"
msgctxt "#9000"
msgid "Tuner settings"
msgstr "Geräte Einstellungen"
msgctxt "#9005"
msgid "Enable modifying settings"
msgstr "Geräte-Einstellung ändern"
msgctxt "#9010"
msgid " >>> Refresh tuners <<< "
msgstr " >>> Tuner-Liste aktualisieren <<<"
msgctxt "#9020"
msgid " IR protocol"
msgstr " IR Protokoll"
msgctxt "#9030"
msgid " Keymap filename"
msgstr " Keymap Date"

View File

@ -0,0 +1,134 @@
# Kodi Media Center language file
# Addon Name: Sundtek MediaTV
# Addon id: driver.dvb.sundtek-mediatv
# Addon Provider: Team LibreELEC
msgid ""
msgstr ""
"Project-Id-Version: Kodi Addons\n"
"Report-Msgid-Bugs-To: https://forum.libreelec.tv\n"
"POT-Creation-Date: 2021-09-02 20:00+CEST\n"
"PO-Revision-Date: 2021-09-02 20:00+CEST\n"
"Last-Translator: vpeter\n"
"Language-Team: Team LibreELEC\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgctxt "#1000"
msgid "General"
msgstr ""
msgctxt "#1014"
msgid "Extra delay [sec]"
msgstr ""
msgctxt "#1015"
msgid "Run user script"
msgstr ""
msgctxt "#1030"
msgid "Enable hardware PID filter"
msgstr ""
msgctxt "#1035"
msgid "Enable IR receiver"
msgstr ""
msgctxt "#1040"
msgid "Lowest adapter number (/dev/dvb/adapterX/)"
msgstr ""
msgctxt "#1050"
msgid "Enable suspend/resume the driver"
msgstr ""
msgctxt "#2000"
msgid "Networking"
msgstr ""
msgctxt "#2005"
msgid "Share local tuner over network"
msgstr ""
msgctxt "#2010"
msgid "Use network shared tuners"
msgstr ""
msgctxt "#2020"
msgid "Server 1 IP address"
msgstr ""
msgctxt "#2021"
msgid " # of tuners"
msgstr ""
msgctxt "#2030"
msgid "Server 2 IP address"
msgstr ""
msgctxt "#2031"
msgid " # of tuners"
msgstr ""
msgctxt "#2040"
msgid "Server 3 IP address"
msgstr ""
msgctxt "#2041"
msgid " # of tuners"
msgstr ""
msgctxt "#2050"
msgid "Server 4 IP address"
msgstr ""
msgctxt "#2051"
msgid " # of tuners"
msgstr ""
msgctxt "#2060"
msgid "Server 5 IP address"
msgstr ""
msgctxt "#2061"
msgid " # of tuners"
msgstr ""
msgctxt "#3000"
msgid "Driver"
msgstr ""
msgctxt "#3005"
msgid "Driver version"
msgstr ""
msgctxt "#3010"
msgid " >>> Update driver now <<< "
msgstr ""
msgctxt "#3020"
msgid "Check for new driver version at boot"
msgstr ""
msgctxt "#9000"
msgid "Tuner settings"
msgstr ""
msgctxt "#9005"
msgid "Enable modifying settings"
msgstr ""
msgctxt "#9010"
msgid " >>> Refresh tuners <<< "
msgstr ""
msgctxt "#9020"
msgid " IR protocol"
msgstr ""
msgctxt "#9030"
msgid " Keymap filename"
msgstr ""

View File

@ -23,7 +23,7 @@ def settings_restore(settings_xml):
try:
shutil.copyfile(settings_xml + '_orig', settings_xml)
except IOError as e:
print 'Error restoring file:', settings_xml
print('Error restoring file:', settings_xml)
######################################################################################################
# get hdhomerun supported devices on a system (only name like 101ADD2B-0)
@ -37,7 +37,7 @@ def get_devices_hdhomerun(hdhomerun_log):
name = name[2].strip()
tuners.append(name)
except IOError:
print 'Error reading hdhomerun log file', hdhomerun_log
print('Error reading hdhomerun log file', hdhomerun_log)
return tuners
"""
@ -74,7 +74,7 @@ def get_devices_sundtek(mediaclient_e):
if str.startswith('[DVB'):
types_arr = tuners[len(tuners)-1][2]
str = str.translate(None, '[]:')
str = str.translate(dict.fromkeys(map(ord, '[]:'), None))
types = str.split(",")
for i in range(len(types)):
if types[i] == 'DVB-C':
@ -89,7 +89,7 @@ def get_devices_sundtek(mediaclient_e):
tuners[len(tuners)-1][2] = types_arr
except IOError:
print 'Error getting sundtek tuners info'
print('Error getting sundtek tuners info')
return tuners
"""
@ -144,7 +144,7 @@ def parse_settings(settings_xml):
category = xmldoc.getElementsByTagName('category')
return xmldoc
except Exception as inst:
print 'Error parse settings file', settings_xml
print('Error parse settings file', settings_xml)
return None
######################################################################################################
@ -274,7 +274,7 @@ def save_settings(settings_xml, xmldoc):
xmlpp.pprint(xmldoc.toxml(), output = outputfile, indent=2, width=500)
outputfile.close()
except IOError:
print 'Error saving file:', settings_xml
print('Error saving file:', settings_xml)
settings_restore(settings_xml)
######################################################################################################
@ -284,7 +284,7 @@ def refresh_hdhomerun_tuners(settings_xml, hdhomerun_log):
tuners = get_devices_hdhomerun(hdhomerun_log)
xmldoc = parse_settings(settings_xml)
if xmldoc == None:
print 'No hdhomerun tuners found'
print('No hdhomerun tuners found')
else:
remove_old_tuners(xmldoc)
add_new_tuners(xmldoc, tuners, 'hdhomerun')
@ -297,7 +297,7 @@ def refresh_sundtek_tuners(settings_xml, mediaclient_e):
tuners = get_devices_sundtek(mediaclient_e)
xmldoc = parse_settings(settings_xml)
if xmldoc == None:
print 'No sundtek tuners found'
print('No sundtek tuners found')
else:
remove_old_tuners(xmldoc)
add_new_tuners(xmldoc, tuners, 'sundtek')