Sorry, da ich mich gerade mit dem Screensaver herumgeschlagen hatte, konnte ich das nicht zurodnen.

Plugin - Screensaver
-
-
Im Crashlog steht es aber drin
-
Naja, es gibt halt Leute die davon keine Ahnung habe, wie mich z.B.
Jetzt hänge ich in der GreenScreen Schleife und bin relativ hilflos.
-
Dann lies Iim IHAD die support Threads und schreibe hier im Thread nicht weiter ,das Thema ist hier falsch.
-
ebenso steht im IHAD, dass es noch kein DisplaySkin für AIO gibt bzw. noch nicht freigegeben ist.
-
Hab den ScreenSaver mal angepasst, nachdem der bisherige Anbieter "unsplash.com" (von dem die Bilder bisher online geladen wurden) seinen Online-Service umgestellt hat und somit keine Bilder mehr geladen wurden.
Jetzt werden die zufälligen Bilder von "loremflickr.com" geladen.
Auch wird der ScreenSaver jetzt aktiviert, sobald man das Timeshift mit der Pause-Taste startet (Anzeige des ScreenSavers nach der eingestellten Wartezeit). Das hatte hier bisher nicht funktioniert.
Hinweis zum Dateianhang:
Die Files aus der Zip im Anhang in folgenden Ordner auf die Box kopieren (vorhandene Files ersetzen) und dann einen GUI-Neustart machen.
/usr/lib/enigma2/python/Plugins/SystemPlugins/Screensaver/
Der Code sollte sowohl im OE2.5 als auch im OE2.6 inkl. AIO funktionieren.
-
loremflickr.com liefert leider nur "Schrottbilder", hättest lieber https://picsum.photos/ verwenden sollen (das nutze ich auch im MP).
-
Ja, die Bilder sind nicht so toll, aber besser als gar keine
Welchen Link verwendest du dabei ?
Ich hatte diesen versucht, bekam dort aber nur einen SSL-Error, obwohl im Browser Bilder angezeigt wurden:
http://picsum.photos/%s" %(self._resolution) # get SSL error
Deshalb bin ich dann auf loremflickr ausgewichen, was aber auch nur über den json-Umweg funktionierte.
Im ScreenSaver-Code ist der ClientContextFactory-Fix bereits enthalten:
enigma2-plugins/screensaver/src/PhotoScreensaver.py at master · opendreambox/enigma2-pluginsPython plug-ins for enigma2 (DreamOS). Contribute to opendreambox/enigma2-plugins development by creating an account on GitHub.github.com -
Probiere es mal hiermit:
Python
Display Morefrom twisted import __version__ tmp = tuple([x for x in __version__.split('.')]) __TW_VER__ = [] for x in tmp: __TW_VER__.append(int(''.join([i for i in x if i.isdigit()]))) del tmp if __TW_VER__ >= [20, 3, 0]: from OpenSSL.SSL import SSL_CB_HANDSHAKE_DONE, SSL_CB_HANDSHAKE_START from twisted.internet.ssl import AcceptableCiphers from twisted.internet._sslverify import verifyHostname, VerificationError DEFAULT_CIPHERS = AcceptableCiphers.fromOpenSSLCipherString('DEFAULT') class TwClientTLSOptions(ClientTLSOptions): """ SSL Client connection creator ignoring certificate verification errors (for genuinely invalid certificates or bugs in verification code). Same as Twisted's private _sslverify.ClientTLSOptions, except that VerificationError and ValueError exceptions are caught, so that the connection is not closed, only logging warnings. """ def _identityVerifyingInfoCallback(self, connection, where, ret): if where & SSL.SSL_CB_HANDSHAKE_START: connection.set_tlsext_host_name(self._hostnameBytes) elif where & SSL.SSL_CB_HANDSHAKE_DONE: try: verifyHostname(connection, self._hostnameASCII) except (VerificationError) as e: print('Remote certificate is not valid for hostname "{}"; {}'.format(self._hostnameASCII, e)) except ValueError as e: print('Ignoring error while verifying certificate from host "{}" (exception: {})'.format(self._hostnameASCII, repr(e))) else: TwClientTLSOptions = ClientTLSOptions
Python
Display Moreclass TwClientContextFactory(ClientContextFactory): "A SSL context factory which is more permissive against SSL bugs." def __init__(self): self.method = SSL.SSLv23_METHOD def getContext(self, hostname=None, port=None): ctx = ClientContextFactory.getContext(self) # Enable all workarounds to SSL bugs as documented by # http://www.openssl.org/docs/ssl/SSL_CTX_set_options.html ctx.set_options(SSL.OP_ALL) if hostname and ClientTLSOptions is not None: # workaround for TLS SNI TwClientTLSOptions(hostname, ctx) return ctx
-
Klappt leider nicht:
CodeW/ [PhotoScreensaver._failed] :: (<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')]>,)
Wie rufst du die Url auf ?
HIer passiert das so:
Codeself._d = downloadPage(url, self.TEMPFILE, agent=getRandomUserAgent(), contextFactory = TwClientContextFactory().addCallbacks(self._onFileReady, self._failed)
Hast du da einen speziellen UserAgent oder andere Params in Nutzung?
Als url habe ich jetzt diese verwendet:
url = "https://picsum.photos/seed/picsum/1280/720"
-
Ich schick dir mal was, aber ich denke nicht dass du damit weiterkommst.
-
Try this:
Pythonclass TwClientContextFactory(ClientContextFactory): def __init__(self, url=None): domain = urlparse(url).netloc self.hostname = domain self.method = SSL.SSLv23_METHOD def getContext(self, hostname=None, port=None): ctx = ClientContextFactory.getContext(self) ctx.set_verify(SSL.VERIFY_NONE, None) return ctx
-
Danke, das hat hier aber leider nicht geholfen.
Der intern von dwhz übermittelte Code funktioniert.
Ich muss dann hier nur noch ein Update hochladen.
-
Hier das neue Update für den ScreenSaver, wo jetzt die Bilder von picsum.photos geladen werden.
Danke an dhwz für die Unterstützung mit dem nötigen Code zum fehlerfreien Laden der Bilder
Hinweis zum Dateianhang:
Die Files aus der Zip im Anhang in folgenden Ordner auf die Box kopieren (vorhandene Files ersetzen) und dann einen GUI-Neustart machen.
/usr/lib/enigma2/python/Plugins/SystemPlugins/Screensaver/
Der Code sollte sowohl im OE2.5 als auch im OE2.6 inkl. AIO funktionieren.
-
After replacing the shared file with the old one, the "no module named future" error in the picture occurs
-
apt install python-future?
-
apt install python-future?
the python future installation from the previous error was done
this time there was a "no module named whichdb" error
i couldn't find it
-
whichdb is part of python 2.7... strange.
edit:
no, whichdb is not available here either.
-
-
My device is dreambox 920 and merlin software is installed
I tried the command you wrote and it still shows whichdb error