From 200878ab0c94e1e090ab7366d3f94c1f7744b76d Mon Sep 17 00:00:00 2001
From: mac12m99 <10120390+mac12m99@users.noreply.github.com>
Date: Tue, 17 Aug 2021 12:56:06 +0200
Subject: [PATCH] Fix altadefinizionecommunity
---
channels/altadefinizionecommunity.py | 27 ++++++++++++---------------
core/httptools.py | 14 +++++++++-----
2 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/channels/altadefinizionecommunity.py b/channels/altadefinizionecommunity.py
index 70fed68c..b4d4e92f 100644
--- a/channels/altadefinizionecommunity.py
+++ b/channels/altadefinizionecommunity.py
@@ -6,8 +6,6 @@ from lib.fakeMail import Gmailnator
from platformcode import config, platformtools, logger
from core import scrapertools, httptools
-from lib import cloudscraper
-
def findhost(url):
return support.match(url, patron=r'Accedi').match
@@ -17,7 +15,6 @@ host = config.get_channel_url(findhost)
register_url = 'https://altaregistrazione.com'
headers = {'Referer': host, 'x-requested-with': 'XMLHttpRequest'}
-cf = cloudscraper.create_scraper()
@support.menu
def mainlist(item):
@@ -44,8 +41,8 @@ def mainlist(item):
def login():
- r = cf.get(host)
- Token = support.match(r.text, patron=r'name=\s*"_token"\s*value=\s*"([^"]+)').match
+ r = support.httptools.downloadpage(host, cloudscraper=True)
+ Token = support.match(r.data, patron=r'name=\s*"_token"\s*value=\s*"([^"]+)', cloudscraper=True).match
if 'id="logged"' in r.text:
logger.info('GiĆ loggato')
else:
@@ -55,7 +52,7 @@ def login():
'email': config.get_setting('username', channel='altadefinizionecommunity'),
'password':config.get_setting('password', channel='altadefinizionecommunity')}
- r = cf.post(host + '/login', json=post, headers={'referer': host})
+ r = support.httptools.downloadpage(host + '/login', post=post, headers={'referer': host}, cloudscraper=True)
if not r.status_code in [200, 302] or 'Email o Password non validi' in r.text:
platformtools.dialog_ok('AltadefinizioneCommunity', 'Username/password non validi')
return False
@@ -95,7 +92,7 @@ def registerOrLogin():
reg = platformtools.dialog_register(register_url, email=True, password=True, email_default=mailbox.address, password_default=randPsw)
if not reg:
return False
- regPost = httptools.downloadpage(register_url, post={'email': reg['email'], 'password': reg['password']})
+ regPost = httptools.downloadpage(register_url, post={'email': reg['email'], 'password': reg['password']}, cloudscraper=True)
if regPost.url == register_url:
error = scrapertools.htmlclean(scrapertools.find_single_match(regPost.data, 'Impossibile proseguire.*?'))
@@ -111,7 +108,7 @@ def registerOrLogin():
if mail:
checkUrl = scrapertools.find_single_match(mail.body, ']+>Verifica').replace(r'\/', '/')
logger.debug('CheckURL: ' + checkUrl)
- httptools.downloadpage(checkUrl)
+ httptools.downloadpage(checkUrl, cloudscraper=True)
config.set_setting('username', mailbox.address, channel='altadefinizionecommunity')
config.set_setting('password', randPsw, channel='altadefinizionecommunity')
platformtools.dialog_ok('AltadefinizioneCommunity',
@@ -136,13 +133,13 @@ def peliculas(item):
support.info(item)
if '/load-more-film' not in item.url and '/search' not in item.url: # generi o altri menu, converto
import ast
- ajax = support.match(item.url, patron='ajax_data\s*=\s*"?\s*([^;]+)').match
+ ajax = support.match(item.url, patron='ajax_data\s*=\s*"?\s*([^;]+)', cloudscraper=True).match
item.url = host + '/load-more-film?' + support.urlencode(ast.literal_eval(ajax)) + '&page=1'
if not '/search' in item.url:
- json = support.httptools.downloadpage(item.url, headers=headers).json
+ json = support.httptools.downloadpage(item.url, headers=headers, cloudscraper=True).json
data = "\n".join(json['data'])
else:
- data = support.httptools.downloadpage(item.url, headers=headers).data
+ data = support.httptools.downloadpage(item.url, headers=headers, cloudscraper=True).data
patron = r'wrapFilm">\s*\s*(?P[0-9]{4})\s*]+>[^<]+\s*(?P[^<]+).*?
]+>\s*