Example #1
0
    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
Example #2
0
 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
Example #3
0
    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
Example #4
0
    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)
Example #5
0
 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
Example #7
0
    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')
Example #8
0
 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')