def __init__(self, url_val=args.value, form_data=None): self.html = '' self.soup = None self.links = [] self.has_next_page = False from resources.lib.metadata.loose_metahandlers import meta self.meta = meta from resources.lib.common.nethelpers import net, cookies self.net, self.cookies = net, cookies if not url_val: return assert (args.srctype == 'web') url = url_val if 'http' in url_val else (helper.domain_url() + url_val) self.html, e = self.net.get_html(url, self.cookies, helper.domain_url(), form_data) self.html = helper.handle_html_errors(self.html, e) helper.log_debug('HTML is %sempty' % ('' if self.html == '' else 'not ')) if helper.debug_dump_html(): helper.log_debug('HTML DUMP: %s' % self.html) self.html = self._filter_html(self.html) self.soup = BeautifulSoup(self.html, "html.parser") if self.html != '' else None
def is_in_bookmark_list(self, id=args.value): url = helper.domain_url() + 'CheckBookmarkStatus' html, e = self.net.get_html(url, self.cookies, helper.domain_url(), {'animeId': id}) helper.handle_html_errors(html, e) if html == '': return None elif html == 'null': return False else: return True
def _login(self, username, password): url = helper.domain_url() + 'Login' form_data = {'username': username, 'password': password} html, e = self.net.get_html(url, self.cookies, helper.domain_url(), form_data) html = helper.handle_html_errors(html, e) logged_in = len(html) > 0 if logged_in: helper.set_setting('username', username) return logged_in
def __init__(self, url=''): WebPage.__init__(self) VideoPlayer.__init__(self, url) self.net, self.cookies = net, cookies self.id = args.value.split('id=')[-1] self.form_data = {} self.form_data = {'eID': self.id} self.html = '' self.html, e = self.net.get_html( helper.domain_url() + '/Mobile/GetEpisode', self.cookies, helper.domain_url(), self.form_data) self.html = helper.handle_html_errors(self.html, e)
def _perform_bookmark_operation(self, add): helper.start('Account._perform_bookmark_operation: %s' % ('add' if add else 'remove')) helper.show_busy_notification() bookmark_id = args.value url = '%sBookmark/%s/%s' % (helper.domain_url(), bookmark_id, 'add' if add else 'remove') html, e = self.net.get_html(url, self.cookies, helper.domain_url(), {'no-op': 0}) html = helper.handle_html_errors(html, e) helper.close_busy_notification() if html != '': helper.refresh_page() msg = 'Successfully %s the bookmark list' % ('added to' if add else 'removed from') helper.show_small_popup(msg=msg) helper.end('Account._perform_bookmark_operation')
def __init__(self, url_val=args.value, form_data=None): self.html = '' self.soup = None self.links = [] self.has_next_page = False from resources.lib.common.nethelpers import net, cookies self.net, self.cookies = net, cookies user_agent = 'Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19' #scraper = cfscrape.get_tokens(helper.domain_url(),user_agent = user_agent)#cfscrape.create_scraper() #import cookielib #ck = cookielib.Cookie(version=0, name='reqkey', value='rk1', port=None, port_specified=False, #domain='helper.domain()', domain_specified=False, domain_initial_dot=False, #path='/', path_specified=True, secure=False, expires=None, discard=False, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False) ##self.net._cj.clear(helper.domain(),'/','reqkey') #self.net._cj.set_cookie(ck) #self.net.save_cookies(self.cookies) #helper.show_error_dialog(['',str(scraper[0]['cf_clearance'])]) if not url_val: return url_val = self.__fix_up_url(url_val) url = url_val if 'http' in url_val else (helper.domain_url() + url_val) #helper.show_error_dialog(['',str(url)]) #self.net._fetch(url, form_data) self.html, e = self.net.get_html(url, self.cookies, helper.domain_url(), form_data) #helper.show_error_dialog(['',str(self.html.encode('utf-8'))]) self.html = helper.handle_html_errors(self.html, e) helper.log_debug('HTML is %sempty' % ('' if self.html == '' else 'not ')) self.html = self._filter_html(self.html) self.soup = BeautifulSoup(self.html, "html.parser") if self.html != '' else None
def determine_quality(self): helper.start('QualityPlayer.determine_quality') #helper.show_error_dialog(['',str(self.html)]) #self.link = self.html.split('|||')[0] target = self.html.split('|||')[0] target = target.replace('www.rapidvideo.com/e/', 'www.rapidvideo.com/?v=') params_url, e = self.net.get_html('%s&q=360p' % target, self.cookies, helper.domain_url()) quali = re.findall(r'&q=(.*?)"', params_url) quali = quali[::-1] quali_choser = helper.present_selection_dialog( 'Choose the quality from the options below', quali) if (quali_choser != -1): params_url, e = self.net.get_html( '%s&q=%s' % (target, quali[quali_choser]), self.cookies, helper.domain_url()) target = re.search( '<source\ssrc=\"([^\"]+)\"\s.+title=\"([^\"]+)\"\s.+?>', params_url).group(1) #',\ssrc: \"([^\"]+?)\"' #helper.show_error_dialog(['',str(target)]) helper.resolve_url(target) target = '' #links = self.__get_quality_links() #if len(links) == 0: # return #if helper.get_setting('preset-quality') == 'Individually select': # quality_options = [item[0] for item in links] # idx = helper.present_selection_dialog('Choose the quality from the options below', quality_options) # if idx != -1: # self.link = links[idx][1] #else: # self.link = self.__get_best_link_for_preset_quality(links) helper.log_debug('the chosen link: %s' % self.link) helper.end('QualityPlayer.determine_quality')
def search(self): helper.start('search') search_string = helper.get_user_input('Search for show title') if search_string: url = helper.domain_url() + 'AdvanceSearch' form_data = { 'animeName': search_string, 'genres': '0', 'status': '' } helper.log_debug( 'Searching for show using url %s and form data %s' % (url, str(form_data))) from resources.lib.list_types.media_container_list import MediaContainerList self._show_list(MediaContainerList(url, form_data)) helper.end('search')