Hallo,
seit Stunden bin ich am googlen und genauso schlau, wie vorher
Ich bin jetzt auf dieses Forum gestoßen und hoffe, hier kann mir jemand helfen.
Folgende Fehlermeldung tritt auf:
("UnboundLocalError: local variable 'oResponce' referenced before assignment",
'/plugin.video.xstream/resources/lib/handler/requestHandler.py",
line 164, in request')
In Zeile 164 steht folgendes:
self._sResponseHeader = oResponse.info()
wie bzw. was muß ich in der Zeile ändern, daß mein plugin wieder läuft?
Ich habe vom Programmieren Null Ahnung und hoffe, daß mir jemand kann bzw. wird
Ich würde mich echt sehr darüber freuen.
Ganz liebe Grüße
Nicole - Nikkenolle
("UnboundLocalError: local variable 'oResponce' referenced before assignment",
@Nikkenolle,
Du hast die Variable "oResponce" wahrscheinlich außerhalb der Methode mit einem Wert belegt, und überschreibst sie innerhalb der Methode mit einem neuen Wert. Davor versuchst du aber schon auf sie zuzugreifen, was zu dem Fehler führt.
Ich kann nur sagen, dass du lernen must, wie man Variablen richtig an Funktionen und Methoden übergibt. Denn Variablen innerhalb von Funktion zu verwenden, die außerhalb definiert sind, führt zu Problemen.
Das Problem liegt also nicht direkt in Zeile 164. Dort macht es sich nur bemerkbar.
(wobei, ... wenn ich mir den Pfad der Meldung ansehe, bin ich mir nicht mehr ganz sicher ob meine Analyse korrekt ist)
Daher solltest du immer den gesamten Quellcode und Fehlermeldung zeigen, sonst ist es schwer etwas konkreteres zu sagen.
Du hast die Variable "oResponce" wahrscheinlich außerhalb der Methode mit einem Wert belegt, und überschreibst sie innerhalb der Methode mit einem neuen Wert. Davor versuchst du aber schon auf sie zuzugreifen, was zu dem Fehler führt.
Ich kann nur sagen, dass du lernen must, wie man Variablen richtig an Funktionen und Methoden übergibt. Denn Variablen innerhalb von Funktion zu verwenden, die außerhalb definiert sind, führt zu Problemen.
Das Problem liegt also nicht direkt in Zeile 164. Dort macht es sich nur bemerkbar.
(wobei, ... wenn ich mir den Pfad der Meldung ansehe, bin ich mir nicht mehr ganz sicher ob meine Analyse korrekt ist)
Daher solltest du immer den gesamten Quellcode und Fehlermeldung zeigen, sonst ist es schwer etwas konkreteres zu sagen.
Die Fehlermeldung sagt aus, dass oResponse in der Zeile 164 noch nicht definiert ist. Da wir denn Code von requestHandler.py nicht kennen, ist mehr ein Raten als ein Helfen, was das Problem sein könnte. Sieh dir mal an wo (ob) oResponse in der Methode um die Zeile 164 definiert wird, vielleicht musst du dann nur ein paar Statements in eine andere Reihenfolge bringen und das Problem ist gelöst. Aber wie gesagt, um dir wirklich helfen zu können brauchen wir etwas Sourcecode.Nikkenolle hat geschrieben: ↑Mittwoch 26. Januar 2022, 08:05 Folgende Fehlermeldung tritt auf:
("UnboundLocalError: local variable 'oResponce' referenced before assignment",
'/plugin.video.xstream/resources/lib/handler/requestHandler.py",
line 164, in request')
In Zeile 164 steht folgendes:
self._sResponseHeader = oResponse.info()
- pillmuncher
- User
- Beiträge: 1484
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Der Code scheint von einem Kodi-Plugin zu stammen: https://github.com/streamxstream/plugin ... Handler.py
Am besten, du wendest dich an dessen Entwickler.
Am besten, du wendest dich an dessen Entwickler.
In specifications, Murphy's Law supersedes Ohm's.
pillmuncher hat geschrieben: ↑Mittwoch 26. Januar 2022, 08:59 Der Code scheint von einem Kodi-Plugin zu stammen: https://github.com/streamxstream/plugin ... Handler.py
Am besten, du wendest dich an dessen Entwickler.
Und deshalb ist es wichtig zu sagen, welcher Sourcecode es ist, um das Problem zu lösen. Wir haben schon zwei Vermutungen und ich bin sicher es wird noch anderen Code geben, der ein Response-Objekt hat. Aber letzten Endes weiß es nur @Nikkenolle, was Ihr Probleme macht.
-
- User
- Beiträge: 5
- Registriert: Mittwoch 26. Januar 2022, 07:50
Hallo,
wow, soooo vielen Antworten, erst einmal vielen Dank dafür.
@rogerb
hier die Datei (welche du hoffentlich mit Quellcode meinst (wußte nicht, wie man eine Datei anhängt)).
@sparrow
es gibt in der Software KEIN neues update.
kannst du mir den link oder eine Kopie des Textes (ich glaube, man nennt es Quellcode) schicken, wo du etwas zur aktuellen Version gefunden hast?
@imonbln
habe ich (glaube ich) eingefügt
@pillmuncher
habe den Code eingefügt und bekomme jetzt eine ganz andere Fehlermeldung:
"AttributeError: 'NoneType' object has no attribute 'replace'"
#/plugin.video.xstream/resources/lib/tools.py", line 34, in__replaceSpecialCharacters'"
würde mich gerne an den Entwickler wenden, aber finde auf der Seite kein Hilfe Forum o.ä.
bis vor kurzem, gab es noch ein kodiman.company Forum, aber das ist leider nicht mehr online.
vielen Dank für eure Antworten, aber ich verstehe vom progammieren wirklich NICHTS (habe mich heute das erste Mal damit beschäftigt).
ich kann wirklich nur mit Notpad etwas öffnen, evtl. eine Kleinigkeit verändern, kopieren und etwas ganz neues einfügen, mehr nicht.
tut mir leid, wenn ich nicht mal weiß, was ein Code, Quellcode oder SourceCode ist.
daaaaaaaaaaaaanke euch
Nicole
wow, soooo vielen Antworten, erst einmal vielen Dank dafür.
@rogerb
ich verstehe überhaupt nichts von Variablen usw., bin froh, daß ich die Datei mit Notpad lesen, kopieren und ersetzen konnte... dass du lernen must, wie man Variablen richtig an Funktionen und Methoden übergibt. Denn Variablen innerhalb von Funktion zu verwenden, die außerhalb definiert sind, führt zu Problemen.
hier die Datei (welche du hoffentlich mit Quellcode meinst (wußte nicht, wie man eine Datei anhängt)).
Code: Alles auswählen
# -*- coding: utf-8 -*-
from resources.lib.config import cConfig
from resources.lib.tools import logger
from resources.lib import common
import io, gzip, time, xbmcgui, re
import socket, os, sys, hashlib, json
try:
from urlparse import urlparse
from urllib import quote, urlencode
from urllib2 import HTTPError, URLError, HTTPHandler, HTTPSHandler, HTTPCookieProcessor, build_opener, Request, HTTPRedirectHandler
from cookielib import LWPCookieJar, Cookie
from httplib import HTTPException
except ImportError:
from urllib.parse import quote, urlencode, urlparse
from urllib.error import HTTPError, URLError
from urllib.request import HTTPHandler, HTTPSHandler, HTTPCookieProcessor, build_opener, Request, HTTPRedirectHandler
from http.cookiejar import LWPCookieJar, Cookie
from http.client import HTTPException
class cRequestHandler:
def __init__(self, sUrl, caching=True, ignoreErrors=False, compression=True, jspost=False):
self._sUrl = sUrl
self._sRealUrl = ''
self._USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0'
self._aParameters = {}
self._headerEntries = {}
self._profilePath = common.profilePath
self._cachePath = ''
self._cookiePath = ''
self._Status = ''
self._sResponseHeader = ''
self.ignoreDiscard(False)
self.ignoreExpired(False)
self.caching = caching
self.ignoreErrors = ignoreErrors
self.compression = compression
self.jspost = jspost
self.cacheTime = int(cConfig().getSetting('cacheTime', 600))
self.requestTimeout = int(cConfig().getSetting('requestTimeout', 10))
self.removeBreakLines(True)
self.removeNewLines(True)
self.__setDefaultHeader()
self.setCachePath()
self.__setCookiePath()
socket.setdefaulttimeout(self.requestTimeout)
def getStatus(self):
return self._Status
def removeNewLines(self, bRemoveNewLines):
self.__bRemoveNewLines = bRemoveNewLines
def removeBreakLines(self, bRemoveBreakLines):
self.__bRemoveBreakLines = bRemoveBreakLines
def addHeaderEntry(self, sHeaderKey, sHeaderValue):
self._headerEntries[sHeaderKey] = sHeaderValue
def getHeaderEntry(self, sHeaderKey):
if sHeaderKey in self._headerEntries:
return self._headerEntries[sHeaderKey]
def addParameters(self, key, value, Quote=False):
if not Quote:
self._aParameters[key] = value
else:
self._aParameters[key] = quote(str(value))
def getResponseHeader(self):
return self._sResponseHeader
def getRealUrl(self):
return self._sRealUrl
def getRequestUri(self):
return self._sUrl + '?' + urlencode(self._aParameters)
def __setDefaultHeader(self):
self.addHeaderEntry('User-Agent', self._USER_AGENT)
self.addHeaderEntry('Accept-Language', 'de,en-US;q=0.7,en;q=0.3')
self.addHeaderEntry('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8')
if self.compression:
self.addHeaderEntry('Accept-Encoding', 'gzip, deflate')
def request(self):
self._sUrl = self._sUrl.replace(' ', '+')
if self.caching and self.cacheTime > 0:
sContent = self.readCache(self.getRequestUri())
if sContent:
return sContent
cookieJar = LWPCookieJar(filename=self._cookiePath)
try:
cookieJar.load(ignore_discard=self.__bIgnoreDiscard, ignore_expires=self.__bIgnoreExpired)
except Exception as e:
logger.debug(e)
if self.jspost:
if sys.version_info[0] == 2:
sParameters = json.dumps(self._aParameters)
else:
sParameters = json.dumps(self._aParameters).encode()
else:
if sys.version_info[0] == 2:
sParameters = urlencode(self._aParameters, True)
else:
sParameters = urlencode(self._aParameters, True).encode()
handlers = [HTTPHandler(), HTTPSHandler(), HTTPCookieProcessor(cookiejar=cookieJar), RedirectFilter()]
opener = build_opener(*handlers)
oRequest = Request(self._sUrl, sParameters if len(sParameters) > 0 else None)
for key, value in self._headerEntries.items():
oRequest.add_header(key, value)
if self.jspost:
oRequest.add_header('Content-Type', 'application/json')
cookieJar.add_cookie_header(oRequest)
try:
oResponse = opener.open(oRequest)
except HTTPError as e:
if e.code == 503:
oResponse = None
if not oResponse:
logger.error('Failed Cloudflare aktiv Url: ' + self._sUrl)
if e.code == 403:
data = e.fp.read()
if 'DDOS-GUARD' in str(data):
opener = build_opener(HTTPCookieProcessor(cookieJar))
opener.addheaders = [('User-agent', self._USER_AGENT), ('Referer', self._sUrl)]
response = opener.open('https://check.ddos-guard.net/check.js')
if sys.version_info[0] == 2:
content = response.read()
else:
content = response.read().decode('utf-8').encode('utf-8', 'replace').decode('utf-8')
url2 = re.findall("Image.*?'([^']+)'; new", content)
url3 = urlparse(self._sUrl)
url3 = '%s://%s/%s' % (url3.scheme, url3.netloc, url2[0])
opener = build_opener(HTTPCookieProcessor(cookieJar))
opener.addheaders = [('User-agent', self._USER_AGENT), ('Referer', self._sUrl)]
opener.open(url3).read()
opener = build_opener(HTTPCookieProcessor(cookieJar))
opener.addheaders = [('User-agent', self._USER_AGENT), ('Referer', self._sUrl)]
oResponse = opener.open(self._sUrl, sParameters if len(sParameters) > 0 else None)
if not oResponse:
if not self.ignoreErrors:
logger.error('Failed DDOS-GUARD Url: ' + self._sUrl)
return ''
elif not self.ignoreErrors:
xbmcgui.Dialog().ok('xStream', 'Fehler beim Abrufen der Url: {0} {1}'.format(self._sUrl, str(e)))
logger.error('HTTPError ' + str(e) + ' Url: ' + self._sUrl)
return ''
else:
oResponse = e
except URLError as e:
if not self.ignoreErrors:
xbmcgui.Dialog().ok('xStream', str(e.reason))
logger.error('URLError ' + str(e.reason) + ' Url: ' + self._sUrl)
return ''
except HTTPException as e:
if not self.ignoreErrors:
xbmcgui.Dialog().ok('xStream', str(e))
logger.error('HTTPException ' + str(e) + ' Url: ' + self._sUrl)
return ''
self._sResponseHeader = oResponse.info()
if self._sResponseHeader.get('Content-Encoding') == 'gzip':
sContent = gzip.GzipFile(fileobj=io.BytesIO(oResponse.read())).read()
if sys.version_info[0] == 3:
sContent = sContent.decode('utf-8').encode('utf-8', 'replace').decode('utf-8')
else:
if sys.version_info[0] == 2:
sContent = oResponse.read()
else:
sContent = oResponse.read().decode('utf-8').encode('utf-8', 'replace').decode('utf-8')
if 'lazingfast' in sContent:
bf = cBF().resolve(self._sUrl, sContent, cookieJar, self._USER_AGENT, sParameters)
if bf:
sContent = bf
else:
logger.error('Failed BF Url: ' + self._sUrl)
try:
cookieJar.save(ignore_discard=self.__bIgnoreDiscard, ignore_expires=self.__bIgnoreExpired)
except Exception as e:
logger.error('Failed save cookie: %s' % e)
if self.__bRemoveNewLines:
sContent = sContent.replace('\n', '').replace('\r\t', '')
if self.__bRemoveBreakLines:
sContent = sContent.replace(' ', '')
self._sRealUrl = oResponse.geturl()
self._Status = oResponse.getcode() if self._sUrl == self._sRealUrl else '301'
oResponse.close()
if self.caching and self.cacheTime > 0:
self.writeCache(self.getRequestUri(), sContent)
return sContent
def __setCookiePath(self):
cookieFile = os.path.join(self._profilePath, 'cookies')
if not os.path.exists(cookieFile):
os.makedirs(cookieFile)
if 'dummy' not in self._sUrl:
cookieFile = os.path.join(cookieFile, urlparse(self._sUrl).netloc.replace('.', '_') + '.txt')
if not os.path.exists(cookieFile):
open(cookieFile, 'w').close()
self._cookiePath = cookieFile
def getCookie(self, sCookieName, sDomain=''):
cookieJar = LWPCookieJar()
try:
cookieJar.load(self._cookiePath, self.__bIgnoreDiscard, self.__bIgnoreExpired)
except Exception as e:
logger.error(e)
for entry in cookieJar:
if entry.name == sCookieName:
if sDomain == '':
return entry
elif entry.domain == sDomain:
return entry
return False
def setCookie(self, oCookie):
cookieJar = LWPCookieJar()
try:
cookieJar.load(self._cookiePath, self.__bIgnoreDiscard, self.__bIgnoreExpired)
cookieJar.set_cookie(oCookie)
cookieJar.save(self._cookiePath, self.__bIgnoreDiscard, self.__bIgnoreExpired)
except Exception as e:
logger.error(e)
def ignoreDiscard(self, bIgnoreDiscard):
self.__bIgnoreDiscard = bIgnoreDiscard
def ignoreExpired(self, bIgnoreExpired):
self.__bIgnoreExpired = bIgnoreExpired
def setCachePath(self):
cache = os.path.join(self._profilePath, 'htmlcache')
if not os.path.exists(cache):
os.makedirs(cache)
self._cachePath = cache
def readCache(self, url):
content = ''
if sys.version_info[0] == 2:
h = hashlib.md5(url).hexdigest()
else:
h = hashlib.md5(url.encode('utf8')).hexdigest()
cacheFile = os.path.join(self._cachePath, h)
fileAge = self.getFileAge(cacheFile)
if 0 < fileAge < self.cacheTime:
try:
if sys.version_info[0] == 2:
with open(cacheFile, 'r') as f:
content = f.read()
else:
with open(cacheFile, 'rb') as f:
content = f.read().decode('utf8')
except Exception:
logger.error('Could not read Cache')
if content:
logger.info('read html for %s from cache' % url)
return content
return ''
def writeCache(self, url, content):
try:
if sys.version_info[0] == 2:
h = hashlib.md5(url).hexdigest()
with open(os.path.join(self._cachePath, h), 'w') as f:
f.write(content)
else:
h = hashlib.md5(url.encode('utf8')).hexdigest()
with open(os.path.join(self._cachePath, h), 'wb') as f:
f.write(content.encode('utf8'))
except Exception:
logger.error('Could not write Cache')
@staticmethod
def getFileAge(cacheFile):
try:
return time.time() - os.stat(cacheFile).st_mtime
except Exception:
return 0
def clearCache(self):
files = os.listdir(self._cachePath)
for file in files:
os.remove(os.path.join(self._cachePath, file))
class cBF:
def resolve(self, url, html, cookie_jar, user_agent, sParameters):
page = urlparse(url).scheme + '://' + urlparse(url).netloc
j = re.findall('<script[^>]src="([^"]+)', html)
if j:
opener = build_opener(HTTPCookieProcessor(cookie_jar))
opener.addheaders = [('User-agent', user_agent), ('Referer', url)]
opener.open(page + j[0])
a = re.findall('xhr\.open\("GET","([^,]+)",', html)
if a:
import random
aespage = page + a[0].replace('" + ww +"', str(random.randint(700, 1500)))
opener = build_opener(HTTPCookieProcessor(cookie_jar))
opener.addheaders = [('User-agent', user_agent), ('Referer', url)]
if sys.version_info[0] == 2:
html = opener.open(aespage).read()
else:
html = opener.open(aespage).read().decode('utf-8').encode('utf-8', 'replace').decode('utf-8')
cval = self.aes_decode(html)
cdata = re.findall('cookie="([^="]+).*?domain[^>]=([^;]+)', html)
if cval and cdata:
c = Cookie(version=0, name=cdata[0][0], value=cval, port=None, port_specified=False, domain=cdata[0][1], domain_specified=True, domain_initial_dot=False, path="/", path_specified=True, secure=False, expires=time.time() + 21600, discard=False, comment=None, comment_url=None, rest={})
cookie_jar.set_cookie(c)
opener = build_opener(HTTPCookieProcessor(cookie_jar))
opener.addheaders = [('User-agent', user_agent), ('Referer', url)]
if sys.version_info[0] == 2:
return opener.open(url, sParameters if len(sParameters) > 0 else None).read()
else:
return opener.open(url, sParameters if len(sParameters) > 0 else None).read().decode('utf-8').encode('utf-8', 'replace').decode('utf-8')
def aes_decode(self, html):
try:
import pyaes
keys = re.findall('toNumbers\("([^"]+)"', html)
if keys:
from binascii import hexlify, unhexlify
msg = unhexlify(keys[2])
key = unhexlify(keys[0])
iv = unhexlify(keys[1])
decrypter = pyaes.Decrypter(pyaes.AESModeOfOperationCBC(key, iv))
plain_text = decrypter.feed(msg)
plain_text += decrypter.feed()
return hexlify(plain_text).decode()
except Exception as e:
logger.error(e)
class RedirectFilter(HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, hdrs, newurl):
if 'notice.cuii' in newurl:
return None
return HTTPRedirectHandler.redirect_request(self, req, fp, code, msg, hdrs, newurl)
es gibt in der Software KEIN neues update.
kannst du mir den link oder eine Kopie des Textes (ich glaube, man nennt es Quellcode) schicken, wo du etwas zur aktuellen Version gefunden hast?
@imonbln
habe ich (glaube ich) eingefügt
@pillmuncher
habe den Code eingefügt und bekomme jetzt eine ganz andere Fehlermeldung:
"AttributeError: 'NoneType' object has no attribute 'replace'"
#/plugin.video.xstream/resources/lib/tools.py", line 34, in__replaceSpecialCharacters'"
würde mich gerne an den Entwickler wenden, aber finde auf der Seite kein Hilfe Forum o.ä.
bis vor kurzem, gab es noch ein kodiman.company Forum, aber das ist leider nicht mehr online.
vielen Dank für eure Antworten, aber ich verstehe vom progammieren wirklich NICHTS (habe mich heute das erste Mal damit beschäftigt).
ich kann wirklich nur mit Notpad etwas öffnen, evtl. eine Kleinigkeit verändern, kopieren und etwas ganz neues einfügen, mehr nicht.
tut mir leid, wenn ich nicht mal weiß, was ein Code, Quellcode oder SourceCode ist.
daaaaaaaaaaaaanke euch
Nicole
Okay, damit kann man arbeiten.
Der Code in Zeile 118 wird also ein HTTPError haben, entweder mit Error code 503 oder 403.
mein Quick fix wäre es denn Code so umzuschreiben, da sind zwar noch andere Probleme aber das sollte erstmal dein Problem lösen.
Der Code in Zeile 118 wird also ein HTTPError haben, entweder mit Error code 503 oder 403.
Code: Alles auswählen
try:
oResponse = opener.open(oRequest)
except HTTPError as e: # <-- Diese Exception wird es sein. die muss kommen sonst ist oResponse definert.
if e.code == 503:
oResponse = None
if not oResponse: # <- macht kein sinn siehe Zeile zuvor oResponse ist hier immer None.
logger.error('Failed Cloudflare aktiv Url: ' + self._sUrl)
if e.code == 403:
data = e.fp.read()
Code: Alles auswählen
try:
oResponse = opener.open(oRequest)
except HTTPError as e:
oResponse = e
if e.code == 403:
data = e.fp.read()
if 'DDOS-GUARD' in str(data):
opener = build_opener(HTTPCookieProcessor(cookieJar))
opener.addheaders = [('User-agent', self._USER_AGENT), ('Referer', self._sUrl)]
response = opener.open('https://check.ddos-guard.net/check.js')
if sys.version_info[0] == 2:
content = response.read()
else:
content = response.read().decode('utf-8').encode('utf-8', 'replace').decode('utf-8')
url2 = re.findall("Image.*?'([^']+)'; new", content)
url3 = urlparse(self._sUrl)
url3 = '%s://%s/%s' % (url3.scheme, url3.netloc, url2[0])
opener = build_opener(HTTPCookieProcessor(cookieJar))
opener.addheaders = [('User-agent', self._USER_AGENT), ('Referer', self._sUrl)]
opener.open(url3).read()
opener = build_opener(HTTPCookieProcessor(cookieJar))
opener.addheaders = [('User-agent', self._USER_AGENT), ('Referer', self._sUrl)]
oResponse = opener.open(self._sUrl, sParameters if len(sParameters) > 0 else None)
if not oResponse:
if not self.ignoreErrors:
logger.error('Failed DDOS-GUARD Url: ' + self._sUrl)
return ''
oResponse = e
elif not self.ignoreErrors:
xbmcgui.Dialog().ok('xStream', 'Fehler beim Abrufen der Url: {0} {1}'.format(self._sUrl, str(e)))
logger.error('HTTPError ' + str(e) + ' Url: ' + self._sUrl)
return ''
-
- User
- Beiträge: 5
- Registriert: Mittwoch 26. Januar 2022, 07:50
@imonbin
verstehe ich das jetzt richtig:
ich markiere den ganzen oben Code und ersetze ihn mit dem (von dir geschriebenen, neuen) untem Code?
sorry, frage lieber einmal mehr, als das ich es ganz zerstöre
verstehe ich das jetzt richtig:
ich markiere den ganzen oben Code und ersetze ihn mit dem (von dir geschriebenen, neuen) untem Code?
sorry, frage lieber einmal mehr, als das ich es ganz zerstöre
@Nikkenolle,
Gut, dass du gefragt hast, ich habe nur ein teil des Codes umgeschrieben Zeile 117 bis 152. du markierst diese Zeilen und ersetzt sie mit meinem Code. (mach aber vorher besser eine Sicherungskopie).
Denn wie gesagt, ich glaube, der Code hat noch andere Probleme und es kann sein, dass nach dieser Änderung was anders schief geht. Der Code ist zu Komplex das ich ihn mal eben schnell repariere.
Gut, dass du gefragt hast, ich habe nur ein teil des Codes umgeschrieben Zeile 117 bis 152. du markierst diese Zeilen und ersetzt sie mit meinem Code. (mach aber vorher besser eine Sicherungskopie).
Denn wie gesagt, ich glaube, der Code hat noch andere Probleme und es kann sein, dass nach dieser Änderung was anders schief geht. Der Code ist zu Komplex das ich ihn mal eben schnell repariere.
-
- User
- Beiträge: 5
- Registriert: Mittwoch 26. Januar 2022, 07:50
@imonbln
habe es gerade probiert und jetzt wird gar nichts mehr geöffnet, sondern nur ein Hinweis, daß man die Fehlermeldung in der Logdatei auslesen kann.
ABER, (ich traue es mich überhaupt nicht zu sagen) seit 2 Wochen warte ich auf ein update und heute gibt's ein nightly update und es läuft alles wieder einwandfrei.
ist mir richtig unangenehm.
ich hoffe, du hast nicht all zu viel Zeit für mich verplempert?!
ich bedanke mich ganz, ganz doll für deine Hilfe.
ganz liebe Grüße
Nicole - Nikkenolle
habe es gerade probiert und jetzt wird gar nichts mehr geöffnet, sondern nur ein Hinweis, daß man die Fehlermeldung in der Logdatei auslesen kann.
ABER, (ich traue es mich überhaupt nicht zu sagen) seit 2 Wochen warte ich auf ein update und heute gibt's ein nightly update und es läuft alles wieder einwandfrei.
ist mir richtig unangenehm.
ich hoffe, du hast nicht all zu viel Zeit für mich verplempert?!
ich bedanke mich ganz, ganz doll für deine Hilfe.
ganz liebe Grüße
Nicole - Nikkenolle
Muss es nicht, um sich gegenseitig zu helfen, dafür sind ja solche Foren da.Nikkenolle hat geschrieben: ↑Mittwoch 26. Januar 2022, 15:57
ABER, (ich traue es mich überhaupt nicht zu sagen) seit 2 Wochen warte ich auf ein update und heute gibt's ein nightly update und es läuft alles wieder einwandfrei.
ist mir richtig unangenehm.
Vielleicht Postest du noch einen Link zu dem Projekt (nigthly), dann können andere, die diesen Thread finden, dort die neue Version bekommen.
-
- User
- Beiträge: 5
- Registriert: Mittwoch 26. Januar 2022, 07:50
danke für dein Verständnis
würde gerne den link teilen, ABER, ich habe kein link.
das Addon läuft über Kodi und würde darüber upgedatet.
vielen, vielen Dank nochmal
würde gerne den link teilen, ABER, ich habe kein link.
das Addon läuft über Kodi und würde darüber upgedatet.
vielen, vielen Dank nochmal