From a17bca7bf8a63970fad03d4e8e4a15bcb947155c Mon Sep 17 00:00:00 2001 From: python2-kod Date: Sat, 17 Feb 2024 07:11:04 +0100 Subject: [PATCH] fix python2 --- channels/streamingcommunity.py | 8 +++- core/httptools.py | 0 core/resolverdns.py | 39 +++++++++++-------- lib/babelfish/__init__.py | 0 lib/babelfish/converters/__init__.py | 0 lib/babelfish/converters/alpha2.py | 0 lib/babelfish/converters/alpha3b.py | 0 lib/babelfish/converters/alpha3t.py | 0 lib/babelfish/converters/countryname.py | 0 lib/babelfish/converters/name.py | 0 lib/babelfish/converters/opensubtitles.py | 0 lib/babelfish/converters/scope.py | 0 lib/babelfish/converters/type.py | 0 lib/babelfish/country.py | 0 lib/babelfish/data/iso-3166-1.txt | 0 lib/babelfish/data/iso-639-3.tab | 0 lib/babelfish/data/iso15924-utf8-20131012.txt | 0 .../data/opensubtitles_languages.txt | 0 lib/babelfish/exceptions.py | 0 lib/babelfish/language.py | 0 lib/babelfish/script.py | 0 lib/future/backports/test/pystone.py | 0 lib/rebulk/__init__.py | 0 lib/rebulk/__version__.py | 0 lib/rebulk/builder.py | 0 lib/rebulk/chain.py | 0 lib/rebulk/debug.py | 0 lib/rebulk/formatters.py | 0 lib/rebulk/introspector.py | 0 lib/rebulk/loose.py | 0 lib/rebulk/match.py | 0 lib/rebulk/pattern.py | 0 lib/rebulk/processors.py | 0 lib/rebulk/rebulk.py | 0 lib/rebulk/remodule.py | 0 lib/rebulk/rules.py | 0 lib/rebulk/toposort.py | 0 lib/rebulk/utils.py | 0 lib/rebulk/validators.py | 0 servers/clicknupload.py | 0 servers/crunchyroll.py | 0 servers/debriders/realdebrid.json | 0 servers/debriders/realdebrid.py | 0 servers/decrypters/adfly.py | 0 servers/decrypters/linkbucks.py | 0 servers/decrypters/longurl.py | 0 servers/facebook.py | 0 servers/fastplay.json | 0 servers/gamovideo.json | 0 servers/gamovideo.py | 0 servers/googlevideo.py | 0 servers/hugefiles.py | 0 servers/mediafire.py | 0 servers/mega.py | 0 servers/netutv.json | 0 servers/netutv.py | 0 servers/sendvid.json | 0 servers/sendvid.py | 0 servers/streamingcommunityws.py | 9 ++++- servers/torrent.py | 0 servers/uploadedto.py | 0 servers/uptobox.py | 0 servers/vidtodo.json | 0 servers/vidtodo.py | 0 servers/vidup.json | 0 servers/vidup.py | 0 servers/vk.json | 0 servers/vk.py | 0 servers/yourupload.json | 0 servers/yourupload.py | 0 servers/youtube.json | 0 servers/zippyshare.py | 0 tests/run.sh | 0 73 files changed, 35 insertions(+), 21 deletions(-) mode change 100755 => 100644 core/httptools.py mode change 100755 => 100644 lib/babelfish/__init__.py mode change 100755 => 100644 lib/babelfish/converters/__init__.py mode change 100755 => 100644 lib/babelfish/converters/alpha2.py mode change 100755 => 100644 lib/babelfish/converters/alpha3b.py mode change 100755 => 100644 lib/babelfish/converters/alpha3t.py mode change 100755 => 100644 lib/babelfish/converters/countryname.py mode change 100755 => 100644 lib/babelfish/converters/name.py mode change 100755 => 100644 lib/babelfish/converters/opensubtitles.py mode change 100755 => 100644 lib/babelfish/converters/scope.py mode change 100755 => 100644 lib/babelfish/converters/type.py mode change 100755 => 100644 lib/babelfish/country.py mode change 100755 => 100644 lib/babelfish/data/iso-3166-1.txt mode change 100755 => 100644 lib/babelfish/data/iso-639-3.tab mode change 100755 => 100644 lib/babelfish/data/iso15924-utf8-20131012.txt mode change 100755 => 100644 lib/babelfish/data/opensubtitles_languages.txt mode change 100755 => 100644 lib/babelfish/exceptions.py mode change 100755 => 100644 lib/babelfish/language.py mode change 100755 => 100644 lib/babelfish/script.py mode change 100755 => 100644 lib/future/backports/test/pystone.py mode change 100755 => 100644 lib/rebulk/__init__.py mode change 100755 => 100644 lib/rebulk/__version__.py mode change 100755 => 100644 lib/rebulk/builder.py mode change 100755 => 100644 lib/rebulk/chain.py mode change 100755 => 100644 lib/rebulk/debug.py mode change 100755 => 100644 lib/rebulk/formatters.py mode change 100755 => 100644 lib/rebulk/introspector.py mode change 100755 => 100644 lib/rebulk/loose.py mode change 100755 => 100644 lib/rebulk/match.py mode change 100755 => 100644 lib/rebulk/pattern.py mode change 100755 => 100644 lib/rebulk/processors.py mode change 100755 => 100644 lib/rebulk/rebulk.py mode change 100755 => 100644 lib/rebulk/remodule.py mode change 100755 => 100644 lib/rebulk/rules.py mode change 100755 => 100644 lib/rebulk/toposort.py mode change 100755 => 100644 lib/rebulk/utils.py mode change 100755 => 100644 lib/rebulk/validators.py mode change 100755 => 100644 servers/clicknupload.py mode change 100755 => 100644 servers/crunchyroll.py mode change 100755 => 100644 servers/debriders/realdebrid.json mode change 100755 => 100644 servers/debriders/realdebrid.py mode change 100755 => 100644 servers/decrypters/adfly.py mode change 100755 => 100644 servers/decrypters/linkbucks.py mode change 100755 => 100644 servers/decrypters/longurl.py mode change 100755 => 100644 servers/facebook.py mode change 100755 => 100644 servers/fastplay.json mode change 100755 => 100644 servers/gamovideo.json mode change 100755 => 100644 servers/gamovideo.py mode change 100755 => 100644 servers/googlevideo.py mode change 100755 => 100644 servers/hugefiles.py mode change 100755 => 100644 servers/mediafire.py mode change 100755 => 100644 servers/mega.py mode change 100755 => 100644 servers/netutv.json mode change 100755 => 100644 servers/netutv.py mode change 100755 => 100644 servers/sendvid.json mode change 100755 => 100644 servers/sendvid.py mode change 100755 => 100644 servers/streamingcommunityws.py mode change 100755 => 100644 servers/torrent.py mode change 100755 => 100644 servers/uploadedto.py mode change 100755 => 100644 servers/uptobox.py mode change 100755 => 100644 servers/vidtodo.json mode change 100755 => 100644 servers/vidtodo.py mode change 100755 => 100644 servers/vidup.json mode change 100755 => 100644 servers/vidup.py mode change 100755 => 100644 servers/vk.json mode change 100755 => 100644 servers/vk.py mode change 100755 => 100644 servers/yourupload.json mode change 100755 => 100644 servers/yourupload.py mode change 100755 => 100644 servers/youtube.json mode change 100755 => 100644 servers/zippyshare.py mode change 100755 => 100644 tests/run.sh diff --git a/channels/streamingcommunity.py b/channels/streamingcommunity.py index 7d8e8dd1..09d14ab0 100644 --- a/channels/streamingcommunity.py +++ b/channels/streamingcommunity.py @@ -4,7 +4,11 @@ # ------------------------------------------------------------ import json, re, sys -import urllib.parse +PY3 = False +if sys.version_info[0] >= 3: PY3 = True + +if PY3: import urllib.parse as urllib_parse +else: import urlparse as urllib_parse from core import support, channeltools, httptools, jsontools from platformcode import logger, config @@ -66,7 +70,7 @@ def genres(item): data_page = get_data(item.url) args = data_page['props']['genres'] for arg in args: - itemlist.append(item.clone(title=support.typo(arg['name'], 'bold'), url=host+'/browse/genre?g='+urllib.parse.quote(arg['name']), action='peliculas', genre=True)) + itemlist.append(item.clone(title=support.typo(arg['name'], 'bold'), url=host+'/browse/genre?g='+urllib_parse.quote(arg['name']), action='peliculas', genre=True)) support.thumb(itemlist, genre=True) return itemlist diff --git a/core/httptools.py b/core/httptools.py old mode 100755 new mode 100644 diff --git a/core/resolverdns.py b/core/resolverdns.py index e6ffe80f..dd2d89a9 100644 --- a/core/resolverdns.py +++ b/core/resolverdns.py @@ -40,13 +40,28 @@ class CipherSuiteAdapter(HTTPAdapter): self.ssl_ciphers = ssl_ciphers super(CipherSuiteAdapter, self).__init__(**kwargs) if override_dns: + + # hack[3/3] function that use doh for host name resolution + def override_dns_connection(address, *args, **kwargs): + """Wrap urllib3's create_connection to resolve the name elsewhere""" + # resolve hostname to an ip address; use your own + # resolver here, as otherwise the system resolver will be used. + host, port = address + hostname = self.getIp(host) + if not hostname: + hostname = host #fallback + logger.debug("Override dns failed, fallback to normal dns resolver") + + return connection.original_create_connection((hostname, port), *args, **kwargs) + # hack[2/3] patch urllib3 create connection with custom function - connection.create_connection = CipherSuiteAdapter.override_dns_connection + connection.original_create_connection = connection.create_connection + connection.create_connection = override_dns_connection def flushDns(domain, **kwargs): del db['dnscache'][domain] - def getIp(domain): + def getIp(self, domain): cache = db['dnscache'].get(domain, {}) ip = None if type(cache) != dict or (cache.get('datetime') and @@ -60,7 +75,7 @@ class CipherSuiteAdapter(HTTPAdapter): # IPv6 address if ':' in ip: ip = '[' + ip + ']' - CipherSuiteAdapter.writeToCache(domain, ip) + self.writeToCache(domain, ip) except Exception: logger.error('Failed to resolve hostname, fallback to normal dns') import traceback @@ -70,7 +85,7 @@ class CipherSuiteAdapter(HTTPAdapter): logger.info('Cache DNS: ' + domain + ' = ' + str(ip)) return ip - def writeToCache(domain, ip): + def writeToCache(self, domain, ip): db['dnscache'][domain] = {'ip': ip, 'datetime': current_date} def init_poolmanager(self, *pool_args, **pool_kwargs): @@ -93,16 +108,6 @@ class CipherSuiteAdapter(HTTPAdapter): logger.info('Flushing dns cache for ' + domain) CipherSuiteAdapter.flushDns(domain, **kwargs) return self.send(request, flushedDns=True, **kwargs) - - # hack[3/3] function that use doh for host name resolution - def override_dns_connection(address, *args, **kwargs): - """Wrap urllib3's create_connection to resolve the name elsewhere""" - # resolve hostname to an ip address; use your own - # resolver here, as otherwise the system resolver will be used. - host, port = address - hostname = CipherSuiteAdapter.getIp(host) - if not hostname: - hostname = host #fallback - logger.debug("Override dns failed, fallback to normal dns resolver") - - return CipherSuiteAdapter.original_create_connection((hostname, port), *args, **kwargs) + except Exception as e: + logger.error(e) + raise e diff --git a/lib/babelfish/__init__.py b/lib/babelfish/__init__.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/__init__.py b/lib/babelfish/converters/__init__.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/alpha2.py b/lib/babelfish/converters/alpha2.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/alpha3b.py b/lib/babelfish/converters/alpha3b.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/alpha3t.py b/lib/babelfish/converters/alpha3t.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/countryname.py b/lib/babelfish/converters/countryname.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/name.py b/lib/babelfish/converters/name.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/opensubtitles.py b/lib/babelfish/converters/opensubtitles.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/scope.py b/lib/babelfish/converters/scope.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/converters/type.py b/lib/babelfish/converters/type.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/country.py b/lib/babelfish/country.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/data/iso-3166-1.txt b/lib/babelfish/data/iso-3166-1.txt old mode 100755 new mode 100644 diff --git a/lib/babelfish/data/iso-639-3.tab b/lib/babelfish/data/iso-639-3.tab old mode 100755 new mode 100644 diff --git a/lib/babelfish/data/iso15924-utf8-20131012.txt b/lib/babelfish/data/iso15924-utf8-20131012.txt old mode 100755 new mode 100644 diff --git a/lib/babelfish/data/opensubtitles_languages.txt b/lib/babelfish/data/opensubtitles_languages.txt old mode 100755 new mode 100644 diff --git a/lib/babelfish/exceptions.py b/lib/babelfish/exceptions.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/language.py b/lib/babelfish/language.py old mode 100755 new mode 100644 diff --git a/lib/babelfish/script.py b/lib/babelfish/script.py old mode 100755 new mode 100644 diff --git a/lib/future/backports/test/pystone.py b/lib/future/backports/test/pystone.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/__init__.py b/lib/rebulk/__init__.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/__version__.py b/lib/rebulk/__version__.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/builder.py b/lib/rebulk/builder.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/chain.py b/lib/rebulk/chain.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/debug.py b/lib/rebulk/debug.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/formatters.py b/lib/rebulk/formatters.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/introspector.py b/lib/rebulk/introspector.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/loose.py b/lib/rebulk/loose.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/match.py b/lib/rebulk/match.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/pattern.py b/lib/rebulk/pattern.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/processors.py b/lib/rebulk/processors.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/rebulk.py b/lib/rebulk/rebulk.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/remodule.py b/lib/rebulk/remodule.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/rules.py b/lib/rebulk/rules.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/toposort.py b/lib/rebulk/toposort.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/utils.py b/lib/rebulk/utils.py old mode 100755 new mode 100644 diff --git a/lib/rebulk/validators.py b/lib/rebulk/validators.py old mode 100755 new mode 100644 diff --git a/servers/clicknupload.py b/servers/clicknupload.py old mode 100755 new mode 100644 diff --git a/servers/crunchyroll.py b/servers/crunchyroll.py old mode 100755 new mode 100644 diff --git a/servers/debriders/realdebrid.json b/servers/debriders/realdebrid.json old mode 100755 new mode 100644 diff --git a/servers/debriders/realdebrid.py b/servers/debriders/realdebrid.py old mode 100755 new mode 100644 diff --git a/servers/decrypters/adfly.py b/servers/decrypters/adfly.py old mode 100755 new mode 100644 diff --git a/servers/decrypters/linkbucks.py b/servers/decrypters/linkbucks.py old mode 100755 new mode 100644 diff --git a/servers/decrypters/longurl.py b/servers/decrypters/longurl.py old mode 100755 new mode 100644 diff --git a/servers/facebook.py b/servers/facebook.py old mode 100755 new mode 100644 diff --git a/servers/fastplay.json b/servers/fastplay.json old mode 100755 new mode 100644 diff --git a/servers/gamovideo.json b/servers/gamovideo.json old mode 100755 new mode 100644 diff --git a/servers/gamovideo.py b/servers/gamovideo.py old mode 100755 new mode 100644 diff --git a/servers/googlevideo.py b/servers/googlevideo.py old mode 100755 new mode 100644 diff --git a/servers/hugefiles.py b/servers/hugefiles.py old mode 100755 new mode 100644 diff --git a/servers/mediafire.py b/servers/mediafire.py old mode 100755 new mode 100644 diff --git a/servers/mega.py b/servers/mega.py old mode 100755 new mode 100644 diff --git a/servers/netutv.json b/servers/netutv.json old mode 100755 new mode 100644 diff --git a/servers/netutv.py b/servers/netutv.py old mode 100755 new mode 100644 diff --git a/servers/sendvid.json b/servers/sendvid.json old mode 100755 new mode 100644 diff --git a/servers/sendvid.py b/servers/sendvid.py old mode 100755 new mode 100644 diff --git a/servers/streamingcommunityws.py b/servers/streamingcommunityws.py old mode 100755 new mode 100644 index ba4d44ff..d4a4ede2 --- a/servers/streamingcommunityws.py +++ b/servers/streamingcommunityws.py @@ -1,5 +1,10 @@ # -*- coding: utf-8 -*- -import urllib.parse +import sys +PY3 = False +if sys.version_info[0] >= 3: PY3 = True + +if PY3: import urllib.parse as urllib +else: import urllib import ast import xbmc @@ -35,7 +40,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= # scws_id = urlparse(server_url).path.split('/')[-1] masterPlaylistParams = ast.literal_eval(iframeParams[0]) - url = iframeParams[1] + '?{}&n=1'.format(urllib.parse.urlencode(masterPlaylistParams)) + url = iframeParams[1] + '?{}&n=1'.format(urllib.urlencode(masterPlaylistParams)) # info = support.match(url, patron=r'LANGUAGE="([^"]+)",\s*URI="([^"]+)|(http.*?rendition=(\d+)[^\s]+)').matches # diff --git a/servers/torrent.py b/servers/torrent.py old mode 100755 new mode 100644 diff --git a/servers/uploadedto.py b/servers/uploadedto.py old mode 100755 new mode 100644 diff --git a/servers/uptobox.py b/servers/uptobox.py old mode 100755 new mode 100644 diff --git a/servers/vidtodo.json b/servers/vidtodo.json old mode 100755 new mode 100644 diff --git a/servers/vidtodo.py b/servers/vidtodo.py old mode 100755 new mode 100644 diff --git a/servers/vidup.json b/servers/vidup.json old mode 100755 new mode 100644 diff --git a/servers/vidup.py b/servers/vidup.py old mode 100755 new mode 100644 diff --git a/servers/vk.json b/servers/vk.json old mode 100755 new mode 100644 diff --git a/servers/vk.py b/servers/vk.py old mode 100755 new mode 100644 diff --git a/servers/yourupload.json b/servers/yourupload.json old mode 100755 new mode 100644 diff --git a/servers/yourupload.py b/servers/yourupload.py old mode 100755 new mode 100644 diff --git a/servers/youtube.json b/servers/youtube.json old mode 100755 new mode 100644 diff --git a/servers/zippyshare.py b/servers/zippyshare.py old mode 100755 new mode 100644 diff --git a/tests/run.sh b/tests/run.sh old mode 100755 new mode 100644