Ejemplo n.º 1
0
 def __init__(self,gui):
     self.gui = gui
     self.name = 'DailyMotion'
     self.engine_type = "video"
     self.options_dic = {}
     self.current_page = 1
     self.main_start_page = 1
     self.thread_stop=False
     self.has_browser_mode = False
     self.browser=Browser(gui)
     ## options labels
     self.order_label = _("Order by: ")
     self.filters_label = _("Filters: ")
     self.search_url = 'https://api.dailymotion.com/videos?%ssort=%s&page=%s&limit=25&search=%s&fields=embed_url,thumbnail_medium_url,title,views_total,duration'
     
     self.start_engine()
Ejemplo n.º 2
0
 def __init__(self,gui):
     self.gui = gui
     self.name ="DrTuber"
     self.engine_type = "video"
     self.current_page = 1
     self.main_start_page = 1
     self.thread_stop=False
     self.adult_content=True
     self.search_url = SEARCH_URL
     self.initialized=False
     self.has_browser_mode = False
     ## options labels
     self.browser = mechanize.Browser()
     self.browser.addheaders = []
     self.scrapper=Browser(gui)
     self.start_engine()
Ejemplo n.º 3
0
 def __init__(self, gui):
     self.gui = gui
     self.name = "PornHub"
     self.engine_type = "video"
     self.current_page = 1
     self.main_start_page = 1
     self.thread_stop = False
     self.adult_content = True
     self.has_browser_mode = False
     self.scrapper = Browser(gui)
     self.search_url = "http://www.pornhub.com/video/search?search=%s&o=%s&page=%s"
     self.category_url = "http://www.empflix.com/channels/new-%s-%s.html"
     ## options labels
     self.order_label = _("Order by: ")
     self.cat_label = _("Category: ")
     self.start_engine()
Ejemplo n.º 4
0
 def __init__(self,gui):
     self.gui = gui
     self.name ="YouPorn"
     self.engine_type = "video"
     self.current_page = 1
     self.main_start_page = 1
     self.thread_stop=False
     self.adult_content=True
     self.search_url = "http://www.youporn.com/search/%s?query=%s&type=%s&page=%s"
     self.initialized=False
     self.has_browser_mode = False
     ## options labels
     self.order_label = _("Order by: ")
     self.browser = mechanize.Browser()
     self.browser.addheaders = []
     self.scrapper=Browser(gui)
     self.start_engine()
Ejemplo n.º 5
0
class DailyMotion(object):
    def __init__(self,gui):
        self.gui = gui
        self.name = 'DailyMotion'
        self.engine_type = "video"
        self.options_dic = {}
        self.current_page = 1
        self.main_start_page = 1
        self.thread_stop=False
        self.has_browser_mode = False
        self.browser=Browser(gui)
        ## options labels
        self.order_label = _("Order by: ")
        self.filters_label = _("Filters: ")
        self.search_url = 'https://api.dailymotion.com/videos?%ssort=%s&page=%s&limit=25&search=%s&fields=embed_url,thumbnail_medium_url,title,views_total,duration'
        
        self.start_engine()
    
    def start_engine(self):
        self.gui.engine_list[self.name] = ''
    
    def load_gui(self):
        self.order_list = {self.order_label:{_("Most recent"):"recent",_("Most viewed"):"visited",_("Most rated"):"rated",_("Most relevant"):"relevance"}}
        self.orderby = create_comboBox(self.gui, self.order_list)
        self.filters_list = {self.filters_label:{"":"",_("HD"):"hd"}}
        self.filters = create_comboBox(self.gui, self.filters_list)
        self.orderby.setIndexFromString(_("Most relevant"))
        
    def get_search_url(self,query,page):
        choice = self.orderby.getSelected()
        orderby = self.order_list[self.order_label][choice]
        choice = self.filters.getSelected()
        f=''
        if choice != "":
            filters = self.filters_list[self.filters_label][choice]
            f = 'filters=%s&' % filters
        return self.search_url % (f,orderby,page,urllib.quote(query))
    
    def play(self,link):
        try:
            data = self.browser.load_uri(link)
            #j_data = data.read().split('info =')[1].split(';')[0]
            #js = json.loads(j_data)
            #print js
            #try:
                #link = js['stream_h264_url']
            #except:
                #try:
                    #link = js['stream_h264_ld_url']
                #except:
                    #return self.gui.start_play('')
            #self.gui.media_link = link
            #return self.gui.start_play(link)
        except:
            return
        
    def filter(self,data,user_search):
        js = json.load(data)
        l = js['list']
        for dic in l:
            if self.thread_stop == True:
                break
            title = dic['title']
            link = dic['embed_url']+'&cache=0'
            img_link = dic['thumbnail_medium_url']
            duration = dic['duration']
            calc = divmod(int(duration),60)
            seconds = int(calc[1])
            if seconds < 10:
                seconds = "0%d" % seconds
            duration = "%d:%s" % (calc[0],seconds)
            total = dic['views_total']
            img = download_photo(img_link)
            markup = _("\n<small><b>views:</b> %s        <b>Duration:</b> %s</small>") % (total, duration)
            GObject.idle_add(self.gui.add_sound, title, link, img, None, self.name, markup)
        if js['has_more'] != 'true':
            self.print_info(_("%s: No more results for %s...") % (self.name,user_search))
            time.sleep(5)
        self.thread_stop=True
        
    
    def print_info(self,msg):
        GObject.idle_add(self.gui.info_label.set_text,msg)
Ejemplo n.º 6
0
class YouPorn(object):
    def __init__(self,gui):
        self.gui = gui
        self.name ="YouPorn"
        self.engine_type = "video"
        self.current_page = 1
        self.main_start_page = 1
        self.thread_stop=False
        self.adult_content=True
        self.search_url = "http://www.youporn.com/search/%s?query=%s&type=%s&page=%s"
        self.initialized=False
        self.has_browser_mode = False
        ## options labels
        self.order_label = _("Order by: ")
        self.browser = mechanize.Browser()
        self.browser.addheaders = []
        self.scrapper=Browser(gui)
        self.start_engine()
    
    
    def start_engine(self):
        self.gui.engine_list[self.name] = ''
    
    def load_gui(self):
        ## create orderby combobox
        self.orderbyOpt = {self.order_label:{_("Most recent"):"time",_("Most viewed"):"views",
                           _("Most rated"):"rating",_("Duration"):"duration",
                           _("Most relevant"):"relevance",
            },
        }
        self.orderby = create_comboBox(self.gui, self.orderbyOpt)
        self.orderby.setIndexFromString(_("Most relevant"))
    
    def filter(self, data, query):
        flag_found = False
        title=""
        markup=""
        link=""
        for line in data.readlines():
            if self.thread_stop == True:
                break
            ## search link
            if 'href="/watch' in line:
                flag_found = True
                l = re.search('href=\"(.*?)\"',line).group(1)
                link = "http://www.youporn.com%s" % l
            elif 'class="flipbook' in line:
                title = re.search('alt=\"(.*?)\"',line).group(1)
                img_link = re.search('src=\"(.*?)\"',line).group(1)
                img = download_photo(img_link)
                GObject.idle_add(self.gui.add_sound, title, link, img, None, self.name)
            ## check for next page
            #elif 'id="navNext"' in line:
                #end_flag=False
            continue
            
        if not flag_found:
            self.print_info(_("%s: No results for %s...") % (self.name,query))
            time.sleep(5)
        self.thread_stop=True
    
    def get_search_url(self,query,page):
        if not self.initialized:
            self.browser.open(ENTER_URL)
            self.initialized = True
        choice = self.orderby.getSelected()
        orderby = self.orderbyOpt[self.order_label][choice]
        return SEARCH_URL % (orderby,query,page)
    
    def search(self, data, query, page):
        try:
            print data
            self.filter(data, query)
        except:
            self.print_info(_("%s: Connexion failed...") % self.name)
            time.sleep(5)
            self.thread_stop=True
            
    def play(self,link):
        self.scrapper.load_uri(link)
            
    def print_info(self,msg):
        GObject.idle_add(self.gui.info_label.set_text,msg)
Ejemplo n.º 7
0
class DrTuber(object):
    def __init__(self,gui):
        self.gui = gui
        self.name ="DrTuber"
        self.engine_type = "video"
        self.current_page = 1
        self.main_start_page = 1
        self.thread_stop=False
        self.adult_content=True
        self.search_url = SEARCH_URL
        self.initialized=False
        self.has_browser_mode = False
        ## options labels
        self.browser = mechanize.Browser()
        self.browser.addheaders = []
        self.scrapper=Browser(gui)
        self.start_engine()
    
    
    def start_engine(self):
        self.gui.engine_list[self.name] = ''
    
    def load_gui(self):
        pass
    
    def filter(self, data, query):
        flag_found = False
        title=""
        markup=""
        link=""
        for line in data.readlines():
            if self.thread_stop == True:
                break
            ## search link
            if '/media/videos/tmb' in line and 'jpg' in line:
                flag_found = True
                img_link = re.search('src=\"(.*?)\"',line).group(1)
                img = download_photo(img_link)
                #print img_link
            elif 'class="item_title"' in line:
                title = re.search('>(.*?)<',line).group(1)
                #print title
            elif 'href="/video/' in line:
                link = re.search('href=\"(.*?)\"',line).group(1)
                #print link
                try:
                    GObject.idle_add(self.gui.add_sound, title, link, img, None, self.name)
                except:
                    continue
            
        if not flag_found:
            self.print_info(_("%s: No results for %s...") % (self.name,query))
            time.sleep(5)
        self.thread_stop=True
    
    def get_search_url(self,query,page):
        #print SEARCH_URL % (query,page)
        return SEARCH_URL % (query,page)
    
    def search(self, data, query, page):
        try:
            print data
            self.filter(data, query)
        except:
            self.print_info(_("%s: Connexion failed...") % self.name)
            time.sleep(5)
            self.thread_stop=True
            
    def play(self,link):
        self.scrapper.load_uri(URL + link)

    def print_info(self,msg):
        GObject.idle_add(self.gui.info_label.set_text,msg)
Ejemplo n.º 8
0
class PornHub(object):
    def __init__(self, gui):
        self.gui = gui
        self.name = "PornHub"
        self.engine_type = "video"
        self.current_page = 1
        self.main_start_page = 1
        self.thread_stop = False
        self.adult_content = True
        self.has_browser_mode = False
        self.scrapper = Browser(gui)
        self.search_url = "http://www.pornhub.com/video/search?search=%s&o=%s&page=%s"
        self.category_url = "http://www.empflix.com/channels/new-%s-%s.html"
        ## options labels
        self.order_label = _("Order by: ")
        self.cat_label = _("Category: ")
        self.start_engine()

    def start_engine(self):
        self.gui.engine_list[self.name] = ""

    def load_gui(self):
        ## create orderby combobox
        self.orderbyOpt = {
            self.order_label: {_("Most recent"): "mr", _("Most viewed"): "mv", _("Top rated"): "tr", _("Longest"): "lg"}
        }
        self.orderby = create_comboBox(self.gui, self.orderbyOpt)
        self.orderby.setIndexFromString(_("Most recent"))

    def get_search_url(self, query, page):
        choice = self.orderby.getSelected()
        orderby = self.orderbyOpt[self.order_label][choice]
        return self.search_url % (urllib.quote_plus(query), orderby, page)

    def play(self, link):
        data = self.scrapper.load_uri(link)

    def filter(self, data, user_search):
        flag_found = False
        end_flag = True
        title = ""
        markup = ""
        link = ""
        for line in data.readlines():
            if self.thread_stop == True:
                break
            if 'class="img"' in line:
                flag_found = True
                link = line.split('"')[1]
            if 'class="rotating"' in line:
                title = re.search('alt="(.*?)"', line).group(1)
                img_link = re.search('data-smallthumb="(.*?)"', line).group(1)
                img = download_photo(img_link)
                GObject.idle_add(self.gui.add_sound, title, link, img, None, self.name)
                if "Our Friends" in line:
                    break
        if not flag_found:
            self.print_info(_("%s: No results for %s...") % (self.name, user_search))
            time.sleep(5)
        self.thread_stop = True

    def print_info(self, msg):
        GObject.idle_add(self.gui.info_label.set_text, msg)