def content(url, searched=False):

    try:
        c = client.request(url)
        r = re.findall('<div class="item"\s+style="width:.+?">(.*?)/span>',
                       c,
                       flags=re.DOTALL)
    except Exception as e:
        if (not searched):
            log_utils.log(
                'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)),
                log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()
        else:
            pass
    dirlst = []
    for i in r:
        try:
            name = re.findall('alt="(.*?)"', i, flags=re.DOTALL)[0]
            url2 = re.findall('<a href="(.*?)"', i, flags=re.DOTALL)[0]
            if not base_domain in url: url = base_domain + url
            icon = re.findall('<img src="(.*?)"', i, flags=re.DOTALL)[0]
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': name,
                'url': url2,
                'mode': player_mode,
                'icon': icon,
                'fanart': fanarts,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item. %s:: Error: %s' %
                (base_name.title(), str(e)), log_utils.LOGERROR)
    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:
        search_pattern = '''<a\s*href=['"]([^'"]+)['"]\s*class="next"'''
        parse = base_domain
        helper.scraper().get_next_page(content_mode, url, search_pattern,
                                       filename, parse)
Example #2
0
def content(url, searched=False):

    r = client.request(url)
    r = dom_parser2.parse_dom(r, 'div', {'id': re.compile('video_\d+')})
    r = [(dom_parser2.parse_dom(i, 'a', req=['href', 'title']),
          dom_parser2.parse_dom(i, 'img', req=['src'])) for i in r if i]
    r = [(urlparse.urljoin(base_domain, i[0][0].attrs['href']),
          i[0][0].attrs['title'], i[1][0].attrs['src']) for i in r if i]

    dirlst = []

    for i in r:
        try:
            name = kodi.sortX(i[1].encode('utf-8'))
            if searched:
                description = 'Result provided by %s' % base_name.title()
            else:
                description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': name,
                'url': content_url,
                'mode': player_mode,
                'icon': i[2],
                'fanart': fanarts,
                'description': description,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item %s in %s:: Error: %s' %
                (i[0].title(), base_name.title(), str(e)), log_utils.LOGERROR)

    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:
        search_pattern = '''href=['"]([^'"]+)"\s*class="no-page">Next'''
        parse = base_domain

        helper.scraper().get_next_page(content_mode, url, search_pattern,
                                       filename, parse)
Example #3
0
def content(url,searched=False):

    try:
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'div', {'id': re.compile('video_\d+')})
        r = [(dom_parser2.parse_dom(i, 'a', req=['href','title']), \
            dom_parser2.parse_dom(i, 'span', {'class': 'duration'}), \
            dom_parser2.parse_dom(i, 'img', req='data-src'), \
            dom_parser2.parse_dom(i, 'span', {'class': 'video-hd-mark'})) \
            for i in r if i]
        r = [(urlparse.urljoin(base_domain,i[0][0].attrs['href']), i[0][0].attrs['title'],  i[1][0].content, i[2][0].attrs['data-src'], i[3][0].content if i[3] else 'SD') for i in r]
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass
    
    dirlst = []
        
    for i in r:
        try:
            name = '%s - [ %s - %s ]' % (kodi.sortX(i[1].encode('utf-8')).title(),kodi.sortX(i[2].encode('utf-8')),kodi.sortX(i[4].encode('utf-8')))
            if searched: description = 'Result provided by %s' % base_name.title()
            else: description = name
            icon = re.sub('(\.THUMBNUM\.)','.1.',i[3])
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))
    
    if not searched:
        
        try:
            search_pattern = '''href=['"]([^'"]+)"\s*class="no-page\s*next-page">Next'''
            parse = base_domain        
            helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
        except Exception as e: 
            log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
def content(url,searched=False):

    try:
        headers = {'User-Agent' : 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'}
        c = requests.get(url,headers=headers).text
        soup = BeautifulSoup(c,'html.parser')
        r = soup.find_all('div', class_={'list__item'})
        #dialog.ok("R",str(r))
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass
        
    dirlst = []
    for i in r:
        try:
            name = i.a['title']
            media_url = i.a['href']
            icon = i.img['src']
            if searched: description = 'Result provided by %s' % base_name.title()
            else: description = name
            if not 'http' in icon: icon='http:'+icon
            if not base_domain in media_url: media_url =  base_domain + media_url
            fanarts = translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': media_url, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    if dirlst: buildDirectory(dirlst, stopend=False, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))

    if not searched:
        
        try:
            pattern = r'''((?:http|https)(?:\:\/\/)(?:www)(?:\/\/|\.)(perfectgirls.net)\/(category\/)([0-9+]\/)(.+?\/))([0-9]+)'''
            r = re.search(pattern,url)
            base = r.group(1)
            search_pattern = '''<a\s*class=['"]btn_wrapper__btn['"]\s*href=['"]([^'"]+)['"]>Next'''
            parse = base         
            helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
        except Exception as e: 
            log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #5
0
def content(url,searched=False):

    try:
        #url = url.replace('-','+')
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'div', {'class': ['item','newest']})
        #r = dom_parser2.parse_dom(r, 'li')
        r = [(dom_parser2.parse_dom(i, 'a', req=['href','title']), \
            dom_parser2.parse_dom(i, 'img', req='src'), \
            dom_parser2.parse_dom(i.content, 'span')) \
            for i in r if i]
        r = [(urlparse.urljoin(base_domain,i[0][1].attrs['href']),i[0][1].attrs['title'],i[2][0].content,i[1][0].attrs['src']) for i in r if i]
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass
        
    dirlst = []
        
    for i in r:
        try:
            name = '%s - [ %s ]' % (kodi.sortX(i[1].encode('utf-8')).title(),kodi.sortX(i[2].encode('utf-8')))
            if searched: description = 'Result provided by %s' % base_name.title()
            else: description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.wankbank.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': i[3], 'fanart': fanarts, 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))
    
    if not searched:
        
        try:
            search_pattern = '''<link\s*rel=['"]next['"]\s*href=['"]([^'"]+)['"]'''
            parse = base_domain        
            helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
        except Exception as e: 
            log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #6
0
def content(url, searched=False):

    try:
        c = client.request(url)
        soup = BeautifulSoup(c, 'html.parser')
        r = soup.find_all('div', class_={'item'})
    except Exception as e:
        if (not searched):
            log_utils.log(
                'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)),
                log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()
        else:
            pass
    dirlst = []
    for i in r:
        try:
            name = i.img['alt']
            url2 = i.a['href']
            icon = i.img['src']
            if not base_domain in url: url = base_domain + url
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': name,
                'url': url2,
                'mode': player_mode,
                'icon': icon,
                'fanart': fanarts,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item. %s:: Error: %s' %
                (base_name.title(), str(e)), log_utils.LOGERROR)
    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:
        search_pattern = '''<a\s*href=['"]([^'"]+)['"]\s*class="next"'''
        parse = base_domain
        helper.scraper().get_next_page(content_mode, url, search_pattern,
                                       filename, parse)
Example #7
0
def content(url,searched=False):

    try:
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'div', {'class': 'content-index'})
        r = [(dom_parser2.parse_dom(i, 'a', req=['href','title']), \
              dom_parser2.parse_dom(i, 'span', {'class': 'left'}), \
              dom_parser2.parse_dom(i, 'img', req='data-src')) \
              for i in r if i]
        r = [(i[0][0].attrs['href'], i[0][0].attrs['title'], \
              i[1][0].content.split('<')[0], i[2][0].attrs['data-src']) for i in r]
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass
    
    dirlst = []
        
    for i in r:
        try:
            name = kodi.sortX(i[1].encode('utf-8')).title()
            name = name.title() + ' - [ %s ]' % i[2]
            if searched: description = 'Result provided by %s' % base_name.title()
            else: description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': i[3], 'fanart': fanarts, 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))
    
    if not searched:
        
        try:
            parse = re.findall('''<li\s*class=['"]current['"]><a href=['"]([^'"]+)['"]>''',c)[0]
            search_pattern = '''<a\s*href=['"]([^'"]+)['"]\s*class=['"]next['"]>NEXT</a>'''
            helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
        except Exception as e: 
            log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #8
0
def menu():
    
    url           = urlparse.urljoin(base_domain,'0')
    content_type  = 'dir'
    title_pattern = '''<strong>([^<]+)'''
    url_pattern   = '''href="([^"]+)'''
    icon_pattern  = None
    d_p1          = 'li'
    d_p2          = 'class'
    d_p3          = ''
    parse         = '%s|SPLIT|url' % base_domain
    cache_time    = 4
    
    helper.scraper().get_list(content_mode,content_type,url,title_pattern,url_pattern,icon_pattern,filename,d_p1,d_p2,d_p3,parse,cache_time)
Example #9
0
def content(url,searched=False):

    try:
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'div', {'class': ['brick','zoe-grid']})
        r = [(dom_parser2.parse_dom(i, 'a', req=['class','href']), \
              dom_parser2.parse_dom(i, 'p', {'class': ['r_year','text-muted']}), \
              dom_parser2.parse_dom(i, 'img', req='data-src'), \
              dom_parser2.parse_dom(i, 'p', {'class': 'description'})) \
            for i in r if i]
        r = [(i[0][-1].attrs['href'], i[0][-1].content, i[1][0].content if i[1] else 'Unknown', \
              i[2][0].attrs['data-src'], i[3][0].content if i[3] else 'Unknown') for i in r if i]
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass
        
    dirlst = []
    
    for i in r:
        try:
            name = kodi.sortX(i[1].encode('utf-8'))
            name = name.title() + ' - [ %s ]' % i[2]
            if searched: description = 'Result provided by %s' % base_name.title()
            else: description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': i[3], 'fanart': fanarts, 'description': i[4], 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[0].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))
    
    if not searched:
        search_pattern = '''<link\s*rel=['"]next['"]\s*href=['"]([^'"]+)'''
        parse = base_domain
        
        helper.scraper().get_next_page(content_mode,url,search_pattern,filename)
Example #10
0
def content(url,searched=False):

    try:
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'a')
        r = [i for i in r if '<div class="info_r">' in i.content]
        r = [(i.attrs['href'], \
              dom_parser2.parse_dom(i, 'strong', {'class': 'title'}), \
              dom_parser2.parse_dom(i, 'span', {'class': 'dur'}), \
              dom_parser2.parse_dom(i, 'img', req='src')) \
            for i in r if i]
        r = [(i[0], i[1][0].content, i[2][0].content, i[3][0].attrs['src']) for i in r]
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass
        
    dirlst = []
    
    for i in r:
        try:
            name = kodi.sortX(i[1].encode('utf-8'))
            name = name.title() + ' - [ %s ]' % i[2]
            if searched: description = 'Result provided by %s' % base_name.title()
            else: description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.wankbank.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': i[3], 'fanart': fanarts, 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[0].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))
    
    if not searched:
        search_pattern = '''<a\s*href=['"]([^'"]+)['"]\s*title=['"]Next\s*Page['"]>Next<\/a>'''
        parse = base_domain
        
        helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
Example #11
0
def content(url,searched=False):
    import xbmcgui
    dialog	= xbmcgui.Dialog()
    try:
        c = client.request(url)
        r = re.findall('<ul id="videoCategory"(.*?)</ul>',c,flags=re.DOTALL)[0]
        b = re.findall('<div class="img fade fadeUp videoPreviewBg">(.*?)</div>',r,flags=re.DOTALL)
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass
    
    dirlst = []
        
    for i in b:
        try:
            name = re.findall('title="(.*?)"',i,flags=re.DOTALL)[0]
            if searched: description = 'Result provided by %s' % base_name.title()
            else: description = name
            content_url = re.findall('<a href="(.*?)"',i,flags=re.DOTALL)[0]
            if not base_domain in content_url: content_url = base_domain + content_url
            icon = re.findall('data-thumb_url\s+=\s+"(.*?)"',i,flags=re.DOTALL)[0]
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))
    
    if not searched:
        
        try:
            search_pattern = '''\<link\s*rel\=['"]next['"]\s*href\=['"]([^'"]+)'''
            parse = base_domain        
            helper.scraper().get_next_page(content_mode,url,search_pattern,filename)
        except Exception as e: 
            log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #12
0
def content(url,searched=False):


	try:
		c = client.request(url)
		soup = BeautifulSoup(c, 'html5lib')
		r = soup.find_all('div', class_={'thumb'})
		if ( not r ) and ( not searched ):
			log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
			kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
	except Exception as e:
		if ( not searched ):
			log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
			kodi.notify(msg='Fatal Error', duration=4000, sound=True)
			quit()
		else: pass

	dirlst = []
		
	for i in r:
		try:
			name = i.h3.text.strip()
			icon = i.img['data-src']
			url2 = i.a['href']
			if not base_domain in url2: url2 = base_domain+url2
			if not base_domain in icon: icon = base_domain+icon
			fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
			dirlst.append({'name': name, 'url': url2, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'description': name, 'folder': False})
		except Exception as e:
			log_utils.log('Error: %s' % str(e), log_utils.LOGERROR)

	if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
	else:
		if (not searched):
			kodi.notify(msg='No Content Found')
			quit()
		
	if searched: return str(len(r))

	if not searched:
		
		try:
			search_pattern = '''href=['"]([^'"]+)['"]>Next'''
			parse = base_domain        
			helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
		except Exception as e: 
			log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #13
0
def content(url,searched=False):
	if not base_domain in url: url = base_domain + url
	try:
		headers = {'User-Agent': 'Google Chrome Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
		c = client.request(url, headers = headers)
		r = re.findall('<div class="video-item">(.*?)</select>',c, flags=re.DOTALL)
		if ( not r ) and ( not searched ):
			log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
			kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
	except Exception as e:
		if ( not searched ):
			log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
			kodi.notify(msg='Fatal Error', duration=4000, sound=True)
			quit()    
		else: pass 

	dirlst = []
		
	for i in r:
		try:
			name = re.findall("""<a href='.+?'>(.*?)</a>""",i, flags=re.DOTALL)[0]
			url2 = re.findall('href="(.*?)"',i, flags=re.DOTALL)[0]
			if not base_domain in url2: url2 = base_domain + url2
			icon = re.findall('data-original="(.*?)"',i, flags=re.DOTALL)[0]
			if not 'https' in icon: icon = 'https:' + icon
			fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
			dirlst.append({'name': name, 'url': url2, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'folder': False})
		except Exception as e:
			log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)

	if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
	else:
		if (not searched):
			kodi.notify(msg='No Content Found')
			quit()
		
	if searched: return str(len(r))

	if not searched:
		
		try:
			search_pattern = '''\s*href\=['"]([^'"]+)['"]\>Next'''
			parse = base_domain        
			helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
		except Exception as e: 
			log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #14
0
def content(url,searched=False):

    try:
        scraper = cfscrape.create_scraper()
        c = scraper.get(url).content
        r = dom_parser2.parse_dom(c, 'div', {'class': 'video'})
        r = [(dom_parser2.parse_dom(i, 'a'),\
            dom_parser2.parse_dom(i, 'img', req=['src','width','height'])) \
            for i in r if i]
        r = [(i[0][0].attrs['href'],i[0][0].attrs['title'],i[1][0].attrs['src']) for i in r if i]
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass

    dirlst = []
    
    for i in r:
        try:
            name = i[1].title()
            if searched: description = 'Result provided by %s' % base_name.title()
            else: description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': i[2], 'fanart': i[2], 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))
    
    if not searched:
        search_pattern = '''rel\=['"]next['"]\s*href=['"]([^'"]+)\s*'''
        
        helper.scraper().get_next_page(content_mode,url,search_pattern,filename)
def content(url,searched=False):

	try:
		ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
		headers = {'User-Agent': ua}
		c = requests.get(url, headers=headers).content
		soup = BeautifulSoup(c, 'html5lib')
		r = soup.find_all('li', class_={'TPostMv'})
		if ( not r ) and ( not searched ):
			log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
			kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
	except Exception as e:
		if ( not searched ):
			log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
			kodi.notify(msg='Fatal Error', duration=4000, sound=True)
			quit()    
		else: pass

	dirlst = []
		
	for i in r:
		try:
			name = i.find('div', class_={'Title'}).text
			url2 = i.a['href']
			icon = i.img['src']
			#fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
			dirlst.append({'name': name, 'url': url2, 'mode': player_mode, 'icon': icon, 'fanart': 'dd', 'folder': False})
		except Exception as e:
			log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)

	if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
	else:
		if (not searched):
			kodi.notify(msg='No Content Found')
			quit()
		
	if searched: return str(len(r))

	if not searched:
		
		try:
			search_pattern = '''<link rel=['"]next['"]\s*href=['"]([^'"]+)'''
			helper.scraper().get_next_page(content_mode,url,search_pattern,filename)
		except Exception as e: 
			log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #16
0
def content(url,searched=False):
    try:
        if url == '':
            url = urljoin(base_domain,'genres/p**n-movies/')
        link = requests.get(url,headers=headers).text
        soup = BeautifulSoup(link, 'html.parser')
        r = soup.find_all('article', class_={'item movies'})
        if ( not r ) and ( not searched ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        if ( not searched ):
            log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()    
        else: pass

    dirlst = []
        
    for i in r:
        try:
            title = i.img['alt']
            mediaurl = i.h3.a['href']
            icon = i.img['src']
            fanarts = translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': title, 'url': mediaurl, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'description': 'No Desc', 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)

    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()
        
    if searched: return str(len(r))

    if not searched:
        
        try:
            search_pattern = '''<link rel=['"]next['"]\s*href=['"]([^'"]+)'''
            helper.scraper().get_next_page(content_mode,url,search_pattern,filename)
        except Exception as e: 
            log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #17
0
def content(url,searched=False):
	if not base_domain in url: url = base_domain + url
	try:
		c = client.request(url)
		r = re.findall('<div class="preloadLine">(.*?)<span class="video_count">',c, flags=re.DOTALL)
		if ( not r ) and ( not searched ):
			log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
			kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
	except Exception as e:
		if ( not searched ):
			log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
			kodi.notify(msg='Fatal Error', duration=4000, sound=True)
			quit()    
		else: pass
		
	dirlst = []
	for i in r:
		try:
			name = re.findall('alt="(.*?)"',i, flags=re.DOTALL)[0]
			url2  = re.findall('<a.+?href="(.*?)"',i, flags=re.DOTALL)[0]
			if not base_domain in url2: url2 = base_domain + url2
			icon = re.findall('data-thumb_url\s* =\s*"(.*?)"',i, flags=re.DOTALL)[0]
			desc = re.findall('<span class="duration">(.*?)</span>',i, flags=re.DOTALL)[0].strip()
			fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
			dirlst.append({'name': name, 'url': url2, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'description': desc, 'folder': False})
		except Exception as e:
			log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)

	if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
	else:
		if (not searched):
			kodi.notify(msg='No Content Found')
			quit()
		
	if searched: return str(len(r))

	if not searched:
		
		try:
			search_pattern = '''<li id="wp_navNext".+?\s*<a\s*href=['"]([^'"]+)['"]\s*>'''
			parse = base_domain       
			helper.scraper().get_next_page(content_mode,url,search_pattern,filename)
		except Exception as e: 
			log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #18
0
def content(url,searched=False):

	try:
		c = client.request(url)
		r = re.findall('class="thumb_box">(.*?)</div>',c,flags=re.DOTALL)
		if ( not r ) and ( not searched ):
			log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
			kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
	except Exception as e:
		if ( not searched ):
			log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
			kodi.notify(msg='Fatal Error', duration=4000, sound=True)
			quit()    
		else: pass

	dirlst = []
		
	for i in r:
		try:
			title = re.findall('title="(.*?)"',i)[0]
			url = re.findall('<a href="(.*?)"',i)[0]
			icon = re.findall('data-thumb="(.*?)"',i)[0]
			fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
			dirlst.append({'name': title, 'url': url, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'folder': False})
		except: pass


	if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
	else:
		if (not searched):
			kodi.notify(msg='No Content Found')
			quit()
		
	if searched: return str(len(r))

	if not searched:
		
		try:
			search_pattern = '''<link\s*rel=['"]next['"]\s*href=['"]([^'"]+)'''
			parse = base_domain        
			helper.scraper().get_next_page(content_mode,url,search_pattern,filename)
		except Exception as e: 
			log_utils.log('Error getting next page for %s :: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
Example #19
0
def content(url,searched=False):

    r = client.request(url)
    r = dom_parser2.parse_dom(r, 'li')
    r = [(dom_parser2.parse_dom(i, 'div', {'class': 'title'}), \
        dom_parser2.parse_dom(i, 'img', req='src'), \
        dom_parser2.parse_dom(i, 'div', {'class': re.compile('thumbnail_label.+?')}), \
        dom_parser2.parse_dom(i, 'li', {'title': re.compile('.+?')}), \
        dom_parser2.parse_dom(i, 'li', {'class': 'location'}), \
        dom_parser2.parse_dom(i, 'li', {'class': 'cams'}) \
        ) for i in r if '<div class="title">' in i.content]

    r = [(dom_parser2.parse_dom(i[0], 'a'), \
        dom_parser2.parse_dom(i[0], 'span'), \
        i[2][0].content, \
        i[1][0].attrs['src'], \
        i[3][0].content if i[3] else 'Unknown', \
        i[4][0].content, \
        i[5][0].content, \
        ) for i in r]
    r = [(urlparse.urljoin(base_domain,i[0][0].attrs['href']), i[0][0].content, i[1][0].content,i[2],i[3],i[6],i[5],i[4]) for i in r]
    dirlst = []
    
    for i in r:
        try:
            name = '%s - [ %s ]' % (kodi.sortX(i[1].encode('utf-8')).title(),kodi.sortX(i[3].encode('utf-8')))
            description = 'Name: %s \nAge: %s \nLocation: %s \nStats: %s \n\nDescription: %s' % \
            (kodi.sortX(i[1].encode('utf-8')),i[2],kodi.sortX(i[6].encode('utf-8')),kodi.sortX(i[5].encode('utf-8')),kodi.sortX(i[7].encode('utf-8')))
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.wankbank.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': i[4], 'fanart': fanarts, 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = False, isDownloadable = False, chaturbate = True)
    else:
        kodi.notify(msg='No Content Found')
        quit()
        
    search_pattern = '''<li><a\s*href=['"]([^'"]+)['"]\s*class=['"]next endless_page_link['"]>next<\/a><\/li>'''
    parse = base_domain
    helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
Example #20
0
def content(url,searched=False):

	try:
		c = client.request(url)
		r = re.findall('<div\s+class="thumb\s+video\s+medium"(.*?)</a>',c,flags=re.DOTALL)
		if ( not r ) and ( not searched ):
			log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
			kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
	except Exception as e:
		if ( not searched ):
			log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
			kodi.notify(msg='Fatal Error', duration=4000, sound=True)
			quit()    
		else: pass

	dirlst = []

	for i in r:
		try:
			name = re.findall('alt="(.*?)"',i,flags=re.DOTALL)[0]
			icon = re.findall('<img class="static"\s+src="(.*?)"',i,flags=re.DOTALL)[0]
			url2 = re.findall('<a\s+href="(.*?)"',i,flags=re.DOTALL)[0]
			fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
			dirlst.append({'name': name, 'url': url2, 'mode': player_mode, 'icon': icon, 'fanart': fanarts,'folder': False})
		except Exception as e:
			log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)

	if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
	else:
		if (not searched):
			kodi.notify(msg='No Content Found')
			quit()
		
	if searched: return str(len(r))

	if not searched:
		search_pattern = '''a\s*href=['"]([^'"]+)['"]\s*class=['"]pop['"]\s*rel=['"]\d+['"]>NEXT'''
		parse = base_domain
		
		helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
Example #21
0
def content(url):

    try:
        if not url: url = 'https://xxxmoviestream.com/?filtre=date&cat=0'
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'li', {'class': ['border-radius-5','box-shadow']})
        r = [(dom_parser2.parse_dom(i, 'a', req=['href','title']), \
              dom_parser2.parse_dom(i, 'p'), \
              dom_parser2.parse_dom(i, 'img', req='src')) \
              for i in r if i]
        r = [(i[0][0].attrs['href'], i[0][0].attrs['title'], i[1][0].content, \
              i[2][0].attrs['src']) for i in r]
        if ( not r ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
    except Exception as e:
        log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
        kodi.notify(msg='Fatal Error', duration=4000, sound=True)
        quit()    

    dirlst = []
    
    for i in r:
        try:
            name = kodi.sortX(i[1].title())
            description = kodi.sortX(i[2])
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': content_url, 'mode': player_mode, 'icon': i[3], 'fanart': fanarts, 'description': description, 'folder': False})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
    else:
        kodi.notify(msg='No Content Found')
        quit()

    search_pattern = '''<a\s*href=['"]([^'"]+)['"]>Next'''
    helper.scraper().get_next_page(menu_mode,url,search_pattern,filename)
Example #22
0
def content(url,searched=False):

	try:
		c = client.request(url)
		match = re.findall ('<div class="6u">(.*?)</section>', c, flags=re.DOTALL)
	except Exception as e:
		if ( not searched ):
			log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
			kodi.notify(msg='Fatal Error', duration=4000, sound=True)
			quit()    
		else: pass
	dirlst = []
	for items in match:
		try:
			name = re.findall ('alt="(.*?)"', items, flags=re.DOTALL)[0]
			name = name.title()
			url2 = re.findall ('<a href="(.*?)"',items, flags=re.DOTALL)[0]
			icon = re.findall ('''<div onmouseleave=.*?"(.*?)"''',items, flags=re.DOTALL)[0]
			length = re.findall ('<span class="icon fa-clock-o meta-data">(.*?)</span>',items, flags=re.DOTALL)[0]
			if not 'https:' in url2: url2 = 'https://hqporner.com' + url2
			if not 'https:' in icon: icon = 'https:' + icon
			desc = '[COLOR yellow]Video Length :: [/COLOR]' + length
			fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.wankbank.artwork', 'resources/art/%s/fanart.jpg' % filename))
			dirlst.append({'name': name, 'url': url2, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'description': desc, 'folder': False})
		except Exception as e:
			log_utils.log('Error adding menu item. %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
	if dirlst: buildDirectory(dirlst, stopend=True, isVideo = True, isDownloadable = True)
	else:
		if (not searched):
			kodi.notify(msg='No Content Found')
			quit()
		
	if searched: return str(len(r))

	if not searched:
		search_pattern = '''<a\s*href=['"]([^'"]+)['"]\s*class=['"]button\s*mobile-pagi pagi-btn['"]>Next<\/a>'''
		parse = base_domain
		helper.scraper().get_next_page(content_mode,url,search_pattern,filename,parse)
Example #23
0
def pic_content(url):
    
    try:
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'div', {'class': 'thumb-container'})
        r = [(dom_parser2.parse_dom(i, 'a', req='href'), \
              dom_parser2.parse_dom(i, 'img', req=['src','alt'])) \
              for i in r if i]
        r = [(i[0][0].attrs['href'], i[1][0].attrs['alt'], i[1][0].attrs['src']) for i in r if i[0]]
        if ( not r ):
            log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True)
            quit()
    except Exception as e:
        log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR)
        kodi.notify(msg='Fatal Error', duration=4000, sound=True)
        quit()
        
    dirlst = []
    
    for i in r:
        try:
            name = kodi.sortX(i[1].encode('utf-8')).title()
            fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({'name': name, 'url': i[0], 'mode': pic_v_mode, 'icon': i[2], 'fanart': fanarts, 'folder': True})
        except Exception as e:
            log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR)
    
    if dirlst: 
        buildDirectory(dirlst, stopend=True, pictures=True)    
        search_pattern = '''<a\s*href=['"]([^'"]+)['"]\s*class=['"]pop['"]\s*rel=['"]\d+['"]>NEXT'''
        parse = base_domain
        helper.scraper().get_next_page(pic_con_mode,url,search_pattern,filename,parse,pictures=True)
    else:
        kodi.notify(msg='No Menu Items Found')
        quit()        
Example #24
0
def content(url, searched=False):
    dialog.ok("URL", str(url))
    try:
        c = client.request(url)
        r = re.findall(
            '<div class="items\s+clearfix">(.*?)<div\s+class="spot-container">',
            c,
            flags=re.DOTALL)[0]
        pattern = r'''<a\s+href=['"]([^'"]+)['"].+?\s.+url\((.*?)\).+.\s+.+\s+.+\s+.+\s+.+\s+.+\s+.+.+?.\s+.+\s+.+>(.*?)<'''
        r = re.findall(pattern, r)
        if (not r) and (not searched):
            log_utils.log(
                'Scraping Error in %s:: Content of request: %s' %
                (base_name.title(), str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File',
                        duration=6000,
                        sound=True)
    except Exception as e:
        if (not searched):
            log_utils.log(
                'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)),
                log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()
        else:
            pass
    dirlst = []

    for url2, icon, name in r:
        try:
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': name,
                'url': url2,
                'mode': player_mode,
                'icon': icon,
                'fanart': fanarts,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item %s in %s:: Error: %s' %
                (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR)

    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:

        try:
            search_pattern = '''\<link\s*rel\=['"]next['"]\s*href\=['"]([^'"]+)'''
            parse = base_domain
            helper.scraper().get_next_page(content_mode, url, search_pattern,
                                           filename)
        except Exception as e:
            log_utils.log(
                'Error getting next page for %s :: Error: %s' %
                (base_name.title(), str(e)), log_utils.LOGERROR)
def content(url, searched=False):

    try:
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'div',
                                  {'class': re.compile('col\s*thumb_video')})
        r = [(dom_parser2.parse_dom(i, 'a', req=['href', 'title']),
              dom_parser2.parse_dom(i, 'img', req='data-original')) for i in r]
        r = [(urlparse.urljoin(base_domain, i[0][0].attrs['href']),
              i[0][0].attrs['title'], i[1][0].attrs['data-original'])
             for i in r if i[0] and i[1]]
        if (not r) and (not searched):
            log_utils.log(
                'Scraping Error in %s:: Content of request: %s' %
                (base_name.title(), str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File',
                        duration=6000,
                        sound=True)
    except Exception as e:
        if (not searched):
            log_utils.log(
                'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)),
                log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()
        else:
            pass

    dirlst = []

    for i in r:
        try:
            name = kodi.sortX(i[1].encode('utf-8'))
            if searched:
                description = 'Result provided by %s' % base_name.title()
            else:
                description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': name,
                'url': content_url,
                'mode': player_mode,
                'icon': i[2],
                'fanart': fanarts,
                'description': description,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item %s in %s:: Error: %s' %
                (i[0].title(), base_name.title(), str(e)), log_utils.LOGERROR)

    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:
        search_pattern = '''href=['"]([^'"]+)['"] id=['"]next'''
        helper.scraper().get_next_page(content_mode, url, search_pattern,
                                       filename)
Example #26
0
def content(url, searched=False):

    try:
        c = client.request(url)
        for_np = c
        r = dom_parser2.parse_dom(c, 'li', req='data-thumbIndexes')
        r = [(dom_parser2.parse_dom(i, 'a', {'class': 'title'}), \
            dom_parser2.parse_dom(i, 'time'), \
            i.content) \
            for i in r]
        r = [(urlparse.urljoin(base_domain, i[0][0].attrs['href']),
              i[0][0].content, i[1][0].content, i[2]) for i in r]
        if (not r) and (not searched):
            log_utils.log(
                'Scraping Error in %s:: Content of request: %s' %
                (base_name.title(), str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File',
                        duration=6000,
                        sound=True)
    except Exception as e:
        if (not searched):
            log_utils.log(
                'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)),
                log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()
        else:
            pass

    dirlst = []

    for i in r:
        try:
            name = '%s - [ %s ]' % (kodi.sortX(i[1].encode('utf-8')).title(),
                                    kodi.sortX(i[2].encode('utf-8')))
            if searched:
                description = 'Result provided by %s' % base_name.title()
            else:
                description = name
            try:
                pattern = r'''((?:http)([^'"]+)(?:jpg|png|webp))([^'"]*)'''
                icon = re.search(pattern, i[3])
                icon = icon.group(1)
            except:
                icon = xbmc.translatePath(
                    os.path.join(
                        'special://home/addons/script.xxxodus.artwork',
                        'resources/art/%s/icon.png' % filename))
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': name,
                'url': content_url,
                'mode': player_mode,
                'icon': icon,
                'fanart': fanarts,
                'description': description,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item %s in %s:: Error: %s' %
                (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR)

    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:

        try:
            search_pattern = '''\<a\s*href\=['"]([^']+)['"]\>Next'''

            pattern = r'''((?:http|https)(\:\/\/)(?:www\.)(pornhd\.com\/category\/)([^\/?]+))'''
            u = re.search(pattern, url)
            u = u.group(0)
            pattern = '''li\s*class\=\"next\s*\"\>\s*\<span class\=\"icon\s*jsFilter\s*js\-link\"\s*data-query\-key\=\"page"\s*data\-query\-value\=\"(\d+)\"\>'''
            np = re.findall(pattern, for_np)[0]
            url = u + '?page=%s|%s' % (np, 'GOT_URL')
            helper.scraper().get_next_page(content_mode, url, search_pattern,
                                           filename)
        except Exception as e:
            log_utils.log(
                'Error getting next page for %s :: Error: %s' %
                (base_name.title(), str(e)), log_utils.LOGERROR)
Example #27
0
def content(url, searched=False):

    try:
        c = client.request(url)
        r = dom_parser2.parse_dom(c, 'td', {'width': '25%'})
        r = [(dom_parser2.parse_dom(i, 'a', req='href'), \
              dom_parser2.parse_dom(i, 'img')) for i in r]
        r = [(i[0][0].attrs['href'].replace('/content.fcgi?',''), i[0][0].content, urlparse.urljoin(base_domain,i[1][0].attrs['src'])) for i in r \
              if 'http://www.girlfriendvideos.com' in i[0][0].attrs['href']]
        if (not r) and (not searched):
            log_utils.log(
                'Scraping Error in %s:: Content of request: %s' %
                (base_name.title(), str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File',
                        duration=6000,
                        sound=True)
    except Exception as e:
        if (not searched):
            log_utils.log(
                'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)),
                log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()
        else:
            pass

    dirlst = []

    for i in r:
        try:
            name = kodi.sortX(i[1].encode('utf-8')).title()
            if searched:
                description = 'Result provided by %s' % base_name.title()
            else:
                description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': name,
                'url': content_url,
                'mode': player_mode,
                'icon': i[2],
                'fanart': fanarts,
                'description': description,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item %s in %s:: Error: %s' %
                (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR)

    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:

        try:
            search_pattern = '''<a\s*href=['"]([^'"]+)['"]>Next\s*Page<\/a>'''
            parse = re.sub('\d+.php$', '', url)
            helper.scraper().get_next_page(content_mode, url, search_pattern,
                                           filename, parse)
        except Exception as e:
            log_utils.log(
                'Error getting next page for %s :: Error: %s' %
                (base_name.title(), str(e)), log_utils.LOGERROR)
Example #28
0
def content(url, searched=False):

    url = client.request(url, output='geturl')
    r = client.request(url)
    r = dom_parser2.parse_dom(r, 'div', {'class': 'list__item'})
    r = [(dom_parser2.parse_dom(i, 'a', req=['href','title']), \
        dom_parser2.parse_dom(i, 'time'), \
        dom_parser2.parse_dom(i, 'img', req='data-original')) for i in r if i]
    r = [(urlparse.urljoin(base_domain,i[0][0].attrs['href']), \
        i[0][0].attrs['title'], \
        i[1][0].content, \
        i[2][0].attrs['data-original']) for i in r if i]

    dirlst = []

    for i in r:
        try:
            name = '%s - [ %s ]' % (kodi.sortX(i[1].encode('utf-8')).title(),
                                    kodi.sortX(i[2].encode('utf-8')))
            if searched:
                description = 'Result provided by %s' % base_name.title()
            else:
                description = name
            content_url = i[0] + '|SPLIT|%s' % base_name
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': name,
                'url': content_url,
                'mode': player_mode,
                'icon': i[3],
                'fanart': fanarts,
                'description': description,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item %s in %s:: Error: %s' %
                (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR)

    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:

        try:
            pattern = r'''((?:http|https)(?:\:\/\/)(?:www)(?:\/\/|\.)(perfectgirls.net)\/(category\/)([0-9+]\/)(.+?\/))([0-9]+)'''
            r = re.search(pattern, url)
            base = r.group(1)
            search_pattern = '''<a\s*class=['"]btn_wrapper__btn['"]\s*href=['"]([^'"]+)['"]>Next'''
            parse = base
            helper.scraper().get_next_page(content_mode, url, search_pattern,
                                           filename, parse)
        except Exception as e:
            log_utils.log(
                'Error getting next page for %s :: Error: %s' %
                (base_name.title(), str(e)), log_utils.LOGERROR)
Example #29
0
def comics(url=None):

    reload = False
    try:
        if (not url): url = urlparse.urljoin(base_domain, 'comix/')
        c = client.request(url)
        try:
            r = dom_parser2.parse_dom(c, 'div', {'class': 'gallery'})
            r = dom_parser2.parse_dom(r, 'a', req='href')
            r = [i for i in r if 'login' not in i.attrs['href']]
            r = [(i.attrs['href'], \
                  dom_parser2.parse_dom(i, 'img', req='data-src'), \
                  dom_parser2.parse_dom(i, 'span', {'class': 'title-text'})) \
                for i in r if i]
            r = [(urlparse.urljoin(base_domain, i[0]), i[2][0].content,
                  i[1][0].attrs['data-src']) for i in r if i]
            reload = True
        except:
            r = dom_parser2.parse_dom(c, 'div', {'class': 'gallery'})
            r = dom_parser2.parse_dom(r, 'a', req='href')
            r = [i for i in r if 'login' not in i.attrs['href']]
            r = [(i.attrs['href'], \
                  dom_parser2.parse_dom(i, 'img', req='data-src')) \
                for i in r if i]
            r = [(urlparse.urljoin(base_domain,
                                   i[0]), i[1][0].attrs['data-src']) for i in r
                 if i]
            reload = False
        if (not r):
            log_utils.log(
                'Scraping Error in %s:: Content of request: %s' %
                (base_name.title(), str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File',
                        duration=6000,
                        sound=True)
            quit()
    except Exception as e:
        log_utils.log(
            'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)),
            log_utils.LOGERROR)
        kodi.notify(msg='Fatal Error', duration=4000, sound=True)
        quit()

    dirlst = []

    if reload:
        for i in r:
            try:
                name = kodi.sortX(i[1].encode('utf-8')).title()
                fanarts = xbmc.translatePath(
                    os.path.join(
                        'special://home/addons/script.xxxodus.artwork',
                        'resources/art/%s/fanart.jpg' % filename))
                dirlst.append({
                    'name': name,
                    'url': i[0],
                    'mode': comics_mode,
                    'icon': i[2],
                    'fanart': fanarts,
                    'folder': True
                })
            except Exception as e:
                log_utils.log(
                    'Error adding menu item %s in %s:: Error: %s' %
                    (i[1].title(), base_name.title(), str(e)),
                    log_utils.LOGERROR)
    else:
        num = 1
        for i in r:
            try:
                name = 'Page %s' % str(num)
                fanarts = xbmc.translatePath(
                    os.path.join(
                        'special://home/addons/script.xxxodus.artwork',
                        'resources/art/%s/fanart.jpg' % filename))
                dirlst.append({
                    'name': name,
                    'url': i[0],
                    'mode': pic_v_mode,
                    'icon': i[1],
                    'fanart': fanarts,
                    'folder': False
                })
            except Exception as e:
                log_utils.log(
                    'Error adding menu item %s in %s:: Error: %s' %
                    (i[1].title(), base_name.title(), str(e)),
                    log_utils.LOGERROR)
            num += 1

    if dirlst:
        buildDirectory(dirlst, stopend=True, pictures=True)
        search_pattern = '''<span\s*class=['"]next['"]>\s*<a\s*href=['"]([^'"]+)['"]>'''
        parse = base_domain
        helper.scraper().get_next_page(pic_men_mode,
                                       url,
                                       search_pattern,
                                       filename,
                                       parse,
                                       pictures=True)
    else:
        kodi.notify(msg='No Menu Items Found')
        quit()
Example #30
0
def content(url, searched=False):

    try:
        c = client.request(url)
        soup = BeautifulSoup(c, 'html5lib')
        content = soup.find('div', id={'vidresults'})
        if (not content) and (not searched):
            log_utils.log(
                'Scraping Error in %s:: Content of request: %s' %
                (base_name.title(), str(c)), log_utils.LOGERROR)
            kodi.notify(msg='Scraping Error: Info Added To Log File',
                        duration=6000,
                        sound=True)
    except Exception as e:
        if (not searched):
            log_utils.log(
                'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)),
                log_utils.LOGERROR)
            kodi.notify(msg='Fatal Error', duration=4000, sound=True)
            quit()
        else:
            pass

    dirlst = []

    for a in content.find_all('a'):
        try:
            title = a['title']
            url = a['href']
            if not base_domain in url: url = base_domain + url
            try:
                icon = a.img['src']
            except:
                icon = a.img['data-src']
            fanarts = xbmc.translatePath(
                os.path.join('special://home/addons/script.xxxodus.artwork',
                             'resources/art/%s/fanart.jpg' % filename))
            dirlst.append({
                'name': title,
                'url': url,
                'mode': player_mode,
                'icon': icon,
                'fanart': fanarts,
                'description': title,
                'folder': False
            })
        except Exception as e:
            log_utils.log(
                'Error adding menu item %s in %s:: Error: %s' %
                (i[0].title(), base_name.title(), str(e)), log_utils.LOGERROR)

    if dirlst:
        buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True)
    else:
        if (not searched):
            kodi.notify(msg='No Content Found')
            quit()

    if searched: return str(len(r))

    if not searched:
        search_pattern = '''href=['"]+([^'"]+)['"]\s+title=['"]Next'''
        parse = base_domain

        helper.scraper().get_next_page(content_mode, url, search_pattern,
                                       filename, parse)