From 673dc5c5406bf32145d06df1587d9eec0d83b471 Mon Sep 17 00:00:00 2001 From: mac12m99 <10120390+mac12m99@users.noreply.github.com> Date: Sun, 18 Apr 2021 20:15:31 +0200 Subject: [PATCH] Fix registrazione HDmario --- lib/fakeMail.py | 8 +++++++- platformcode/platformtools.py | 12 ++++++++++-- servers/hdmario.py | 20 ++++++++++++-------- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/lib/fakeMail.py b/lib/fakeMail.py index 57a20d09..bd033e8b 100644 --- a/lib/fakeMail.py +++ b/lib/fakeMail.py @@ -122,7 +122,13 @@ class Gmailnator(Mailbox): def readLast(self): inbox = self.inbox() if inbox: - self.user, id = support.match(inbox[0]['content'], patron='([^\/]+)\/messageid\/#([a-z0-9]+)').match + for m in inbox: + email = support.match(m['content'], patron='([^\/]+)\/messageid\/#([a-z0-9]+)').match + if email: + break + else: + return + self.user, id = email #subject<\/b>
2 minutes ago

body
html = httptools.downloadpage(self.baseUrl + 'mailbox/get_single_message/', post={'csrf_gmailnator_token': self.csrf, 'action': 'get_message', 'message_id': id, 'email': self.user}).data html = literal_eval('"""' + html + '"""') diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py index bdd61ae3..be976c9b 100644 --- a/platformcode/platformtools.py +++ b/platformcode/platformtools.py @@ -32,6 +32,8 @@ addon_icon = os.path.join( addon.getAddonInfo( "path" ),'resources', 'media', "l xbmc_player = xbmc.Player() +play_canceled = False + def dialog_ok(heading, message): dialog = xbmcgui.Dialog() @@ -135,22 +137,25 @@ def dialog_register(heading, user=False, email=False, password=False, user_defau height += 70 else: self.getControl(10003).setVisible(False) + if self.email: self.getControl(10004).setText(self.email_default) height += 70 else: self.getControl(10004).setVisible(False) + if self.password: self.getControl(10005).setText(self.password_default) height += 70 else: self.getControl(10005).setVisible(False) - if self.captcha_img: + if self.captcha_img: self.getControl(10007).setImage(self.captcha_img) height += 240 else: - self.getControl(10005).setVisible(False) + self.getControl(10006).setVisible(False) + self.getControl(10007).setVisible(False) height += 40 if height < 250: height = 250 self.getControl(10000).setHeight(height) @@ -914,6 +919,9 @@ def get_dialogo_opciones(item, default_action, strm, autoplay): video_urls, puedes, motivo = servertools.resolve_video_urls_for_playing( item.server, item.url, item.password, muestra_dialogo) + if play_canceled: + return opciones, [], 0, True + seleccion = 0 # If you can see the video, present the options if puedes: diff --git a/servers/hdmario.py b/servers/hdmario.py index 9debcf9b..1f795cce 100644 --- a/servers/hdmario.py +++ b/servers/hdmario.py @@ -36,9 +36,10 @@ def registerOrLogin(page_url): if login(): return True - if platformtools.dialog_yesno('HDmario', + action = platformtools.dialog_yesno('HDmario', 'Questo server necessita di un account, ne hai già uno oppure vuoi tentare una registrazione automatica?', - yeslabel='Accedi', nolabel='Tenta registrazione'): + yeslabel='Accedi', nolabel='Tenta registrazione', customlabel='Annulla') + if action == 1: # accedi from specials import setting from core.item import Item user_pre = config.get_setting('username', server='hdmario') @@ -51,24 +52,24 @@ def registerOrLogin(page_url): return registerOrLogin(page_url) else: return [] - else: + elif action == 0: # tenta registrazione import random import string logger.debug('Registrazione automatica in corso') mailbox = Gmailnator() randPsw = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(10)) - captcha = httptools.downloadpage(baseUrl + '/captchaInfo').json + # captcha = httptools.downloadpage(baseUrl + '/captchaInfo').json logger.debug('email: ' + mailbox.address) logger.debug('pass: ' + randPsw) - reg = platformtools.dialog_register(baseUrl + '/register/', email=True, password=True, email_default=mailbox.address, password_default=randPsw, captcha_img=captcha['captchaUrl']) + reg = platformtools.dialog_register(baseUrl + '/register/', email=True, password=True, email_default=mailbox.address, password_default=randPsw) if not reg: return False regPost = httptools.downloadpage(baseUrl + '/register/', post={'email': reg['email'], 'email_confirmation': reg['email'], 'password': reg['password'], - 'password_confirmation': reg['password'], - 'captchaUuid': captcha['captchaUuid'], - 'captcha': reg['captcha']}) + 'password_confirmation': reg['password']}) + # 'captchaUuid': captcha['captchaUuid'], + # 'captcha': reg['captcha']}) if '/register' in regPost.url: error = scrapertools.htmlclean(scrapertools.find_single_match(regPost.data, 'Impossibile proseguire.*?')) error = scrapertools.unescape(scrapertools.re.sub('\n\s+', ' ', error)) @@ -95,6 +96,8 @@ def registerOrLogin(page_url): platformtools.dialog_ok('HDmario', 'Hai modificato la mail quindi KoD non sarà in grado di effettuare la verifica in autonomia, apri la casella ' + reg['email'] + ' e clicca sul link. Premi ok quando fatto') logger.debug('Registrazione completata') + else: + return False return True @@ -122,6 +125,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= if '/unauthorized' in page.url or '/not-active' in page.url: httptools.set_cookies({'domain': 'hdmario.live'}, True) # clear cookies if not registerOrLogin(page_url): + platformtools.play_canceled = True return [] page = httptools.downloadpage(page_url) data = page.data