Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
gefällt mir auch sehr gut - aber in den Items echt nur "acl =" oder "visu_acl =". Wäre es da nicht mit steigender Plugin-Anzahl sinnvoll den Plugin-Namen vornedran "mandatory" zu machen?
/edit: aaaaaaaaarg - Marcus war schneller - erledigt...
zunächst einmal: Vielen Dank, für die Arbeit und Mühe, die Du Dir mit der Weiterentwicklung von SmartHome.py und der Portierung nach Python-3.2 machst.
Nachdem SmartHome.py nun das letzte halbe Jahr mit einem git/master-Stand von kurz vor 0.8 einwandfrei lief, bin ich gestern mit meiner Produkiv-Installation auf den git/develop-Stand umgezogen.
Folgendes ist mir aufgefallen:
Im mpd-Plugin bekomme ich bei einem aufruf von play_file("http://mp3-live.swr3.de/swr3_m.m3u") eine Exception "startswith first arg must be bytes or a tuple of bytes, not str". Ausgelöst wird diese in der Funktion _parse_url():
Code:
def _parse_url(self, url):
name, sep, ext = url.rpartition('.')
ext = ext.lower()
play = []
if ext in ('m3u', 'pls'):
content = self._sh.tools.fetch_url(url, timeout=4)
if content is False:
return play
if ext == 'pls':
for line in content.splitlines():
if line.startswith('File'):
num, tmp, url = line.partition('=')
play.append(url)
else:
for line in content.splitlines():
if line.startswith('http://'):
play.append(line)
else:
play.append(url)
return play
Nach dem Aufruf von "content = self._sh.tools.fetch_url(url, timeout=4)" ist type(content) == <class 'bytes'> und damit ist auch line weiter unten vom Typ 'bytes', welches wiederum startswith('...') mit einem String-Argument nicht mag.
Nachdem ich einen Aufruf von "content = content.decode()" eingefügt habe, funktioniert der Aufruf nun ohne Exception:
Code:
...
content = self._sh.tools.fetch_url(url, timeout=4)
if content is False:
return play
content = content.decode()
if ext == 'pls':
...
Allerdings bin ich nicht sicher, ob diese Änderung wirklich die korrekte Fehlerkorrektur darstellt. Es wäre also nett, wenn Du Dir das bei Gelegenheit mal ansehen würdest.
Und dann ist mir noch im russound-Plugin folgendes aufgefallen:
die Meldung habe ich in Deinem Log sehr häufig gesehen und SH.py läuft weiter (es gibt noch mehr Meldungen danach).
SH.py ist, was fehlerhafte Logiken angeht, sehr tolerant.
Bist Du wirklich sicher das nichts mehr geht? Hast Du evtl. wieder mal ein KillerPlot angefragt ;-)
ein Wort der Warnung. Ich checke gleich eine wesentliche Änderung am SQLite Plugin ein, dabei wird die Datenbank gelöscht. Ich habe das Plugin und den Prozess verschlankt. Leider unterstützt die DB die Änderungen an der Tabellenstruktur nicht, sonst hätte ich sie migriert.
Dadurch wird die Darstellung der Plots wesentlich schneller.
EDIT: und man kann die DB mit zig Werten/s vollpumpen. Das ist speziell für Marco und Hendrik.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar