def showitms(self, cItem): page = cItem.get('page', 1) url0 = cItem['url'] url = url0 if page != 0: if url0.endswith('.php'): url = url0 + '/?page=' + str(page) + '/' else: url = url0 + 'page/' + str(page) + '/' #sts, data = self.cm.getPage(url) sts, data = self.getPage(url) if sts: lst_data = re.findall( 'class="block">.*?href="(.*?)".*?src="(.*?)".*?<p>(.*?)<.*?class="title">(.*?)<', data, re.S) for (url1, image, desc, titre) in lst_data: image = self.std_url(image) desc0, titre = self.uniform_titre(titre) self.addVideo({ 'import': cItem['import'], 'good_for_fav': True, 'category': 'host2', 'url': url1, 'desc': desc0, 'title': titre, 'icon': image, 'mode': '31', 'EPG': True, 'hst': 'tshost' }) if page != 0: self.addDir({ 'import': cItem['import'], 'category': 'host2', 'url': url0, 'title': tscolor('\c0090??20') + _('Next page'), 'page': page + 1, 'desc': 'Page Suivante', 'icon': cItem['icon'], 'mode': '30' })
def showmenu(self, cItem): self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': 'En Cours', 'url': self.MAIN_URL + '/episodes/', 'icon': cItem['icon'], 'mode': '31', 'sub_mode': 2 }) self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': 'FILMS Animes', 'url': self.MAIN_URL + '/films/', 'icon': cItem['icon'], 'mode': '31' }) self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': 'ANIMES VF/Vostfr', 'url': self.MAIN_URL + '/serie/', 'icon': cItem['icon'], 'mode': '31' }) self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': tscolor('\c0000????') + 'Par Genres|Années', 'icon': cItem['icon'], 'mode': '21' }) self.addDir({ 'import': cItem['import'], 'category': 'search', 'title': _('Search'), 'search_item': True, 'page': 1, 'hst': 'tshost', 'icon': cItem['icon'] })
def showmenu1(self,cItem): gnr2=cItem['sub_mode'] url=self.MAIN_URL+'/%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D8%A9/' img=cItem['icon'] if gnr2=='filter': Cimaclub_filter=[{'category':'host2', 'title': 'الاحدث' , 'url':self.MAIN_URL+'/wp-content/themes/Cimaclub/filter/recent.php', 'desc':'', 'icon':img, 'mode':'30', 'page':1}, {'category':'host2', 'title': 'المثبت' , 'url':self.MAIN_URL+'/wp-content/themes/Cimaclub/filter/pin.php' , 'desc':'', 'icon':img, 'mode':'30', 'page':0}, {'category':'host2', 'title': 'الاكثر مشاهدة', 'url':self.MAIN_URL+'/most-views/' , 'desc':'', 'icon':img, 'mode':'30', 'page':1}, {'category':'host2', 'title': 'الأعلى تقييماً', 'url':self.MAIN_URL+'/top-imdb/' , 'desc':'', 'icon':img, 'mode':'30', 'page':1}, ] self.listsTab(Cimaclub_filter, {'name':'categories','import':cItem['import']}) else: sts, data = self.getPage(url) if sts: lst_data = re.findall('<ul class="sub-menu">(.*?)</ul>',data, re.S) if lst_data: if gnr2=='film': data1= lst_data[0] elif gnr2=='serie': self.addDir({'category' :'host2', 'url':self.MAIN_URL+'/category/%d9%85%d8%b3%d9%84%d8%b3%d9%84%d8%a7%d8%aa-%d8%b9%d8%b1%d8%a8%d9%8a/%d8%b1%d9%85%d8%b6%d8%a7%d9%86-2019/', 'title':'رمضان 2019', 'desc':'رمضان 2019', 'icon':img, 'mode':'30','page':1,'import':cItem['import']}) data1= lst_data[1] elif gnr2=='other': data1= lst_data[2] lst_data1 = re.findall('<li.*?href="(.*?)">(.*?)<',data1, re.S) for (url1,titre1) in lst_data1: self.addDir({'import':cItem['import'],'category' :'host2', 'url':url1, 'title':titre1, 'desc':titre1, 'icon':img, 'mode':'30', 'page':1}) if gnr2=='film': lst_data0 = re.findall('FooterMenu">(.*?)</ul>',data, re.S) if lst_data0: lst_data01 = re.findall('<li.*?href="(.*?)">(.*?)<',lst_data0[0], re.S) for (url11,titre11) in lst_data01: if ('الرئيسية' not in titre11) and ('الطلبات' not in titre11) and ('سلاسل' not in titre11): self.addDir({'import':cItem['import'],'category' :'host2', 'url':url11, 'title':titre11, 'desc':titre11, 'icon':img, 'mode':'30', 'page':1}) self.addMarker({'title':tscolor('\c0000??00')+'Films by genre','icon':'','desc':''}) lst_data2 = re.findall('tax="genre">.*?<ul(.*?)</ul>',data, re.S) if lst_data2: lst_data3 = re.findall('<li.*?href="(.*?)">(.*?)</li>',lst_data2[0], re.S) for (url3,titre3) in lst_data3: if url3=='#':url3=self.MAIN_URL self.addDir({'import':cItem['import'],'category' :'host2', 'url':url3, 'title':ph.clean_html(titre3), 'desc':ph.clean_html(titre3), 'icon':img, 'mode':'30','page':1})
def showmenu0(self, cItem): self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': 'أفلام', 'icon': cItem['icon'], 'mode': '20', 'sub_mode': 0 }) self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': 'مسلسلات', 'icon': cItem['icon'], 'mode': '20', 'sub_mode': 1 }) self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': 'تلفزيون', 'icon': cItem['icon'], 'mode': '20', 'sub_mode': 2 }) self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': 'المميزة', 'icon': cItem['icon'], 'url': self.MAIN_URL, 'mode': '21' }) self.addDir({ 'import': cItem['import'], 'category': 'search', 'title': tscolor('\c00????30') + _('Search'), 'search_item': True, 'page': 1, 'hst': 'tshost', 'icon': cItem['icon'] })
def showelms(self, cItem): urlo = cItem['url'] img_ = cItem['icon'] sts, data = self.getPage(urlo) if sts: films_list = re.findall( 'class="se-q">.*?title">(.*?)<div.*?<ul(.*?)</ul>', data, re.S) if films_list: for elm in films_list: self.addMarker({ 'title': tscolor('\c00????00') + ph.clean_html(elm[0]), 'category': 'host2', 'icon': img_ }) films_list1 = re.findall( '<li>.*?href="(.*?)".*?src="(.*?)".*?numerando">(.*?)<', elm[1], re.S) for (url, image, titre) in films_list1: self.addVideo({ 'import': cItem['import'], 'good_for_fav': True, 'category': 'host2', 'url': url, 'title': ph.clean_html(titre), 'desc': cItem['desc'], 'icon': image, 'hst': 'tshost' }) else: self.addVideo({ 'import': cItem['import'], 'good_for_fav': True, 'category': 'host2', 'url': urlo, 'title': cItem['title'], 'desc': cItem['desc'], 'icon': cItem['icon'], 'hst': 'tshost' })
def showitms(self, cItem): url1 = cItem['url'] page = cItem.get('page', 1) if '/page/1/' in url1: url1 = url1.replace('/page/1/', '/page/' + str(page) + '/') else: url1 = url1 + 'page/' + str(page) + '/' sts, data = self.getPage(url1) if sts: films_list = re.findall( 'ml-item">.*?href="(.*?)".*?title="(.*?)".*?original="(.*?)".*?imdb">(.*?)<.*?desc">(.*?)<div.*?Genre:.*?(<.*?)</div>', data, re.S) for (url, titre, image, imdb, desc, genre) in films_list: desc_ = '' if 'N/A' not in imdb: desc_ = tscolor('\c0000??00') + imdb + '\n' desc_ = desc_ + tscolor('\c0000??00') + ' Genre: ' + tscolor( '\c00????00') + ph.clean_html(genre) + '\n' desc = desc_ + tscolor('\c0000??00') + ' Story: ' + tscolor( '\c00????00') + ph.clean_html(desc) + '\n' self.addDir({ 'import': cItem['import'], 'good_for_fav': True, 'EPG': True, 'category': 'host2', 'url': url, 'title': ph.clean_html(titre), 'desc': desc, 'icon': self.MAIN_URL + image, 'hst': 'tshost', 'mode': '31' }) self.addDir({ 'import': cItem['import'], 'title': tscolor('\c0000??00') + 'Page ' + str(page + 1), 'page': page + 1, 'category': 'host2', 'url': cItem['url'], 'icon': cItem['icon'], 'mode': '30' })
def get_results(self, import_str, str_ch, page, name, file_): printDBG('0001') _temp = __import__(import_str, globals(), locals(), ['TSIPHost'], -1) host_ = _temp.TSIPHost() host_.currList = [] host_.SearchResult(str_ch, page, extra='') lst = host_.currList printDBG('0002') import_str = 'from ' + import_str + ' import ' lst.insert( 0, { 'title': tscolor('\c00????00') + ' ----> ' + name + ' <----', 'category': 'mark' }) printDBG('0003') for elm in lst: elm['import'] = import_str #elm['title']=name+'|'+elm['title'] self.list.append(elm) printDBG('0004')
def showitms_films(self, cItem): url1 = cItem['link'] page = cItem['page'] sts, data = self.getPage(url1 + 'page/' + str(page) + '/') if sts: Liste_els = re.findall('</h2>(.*?)(class="pagination"|<footer>)', data, re.S) if Liste_els: films_list = re.findall( 'class="block">.*?<a href="(.*?)".*?background-image:url\((.*?)\).*?"boxtitle">(.*?)<.*?"boxdetil">(.*?)<\/div>', Liste_els[0][0], re.S) for (url, image, titre, desc) in films_list: titre = titre.replace('مشاهدة فيلم ', '') self.addVideo({ 'import': cItem['import'], 'good_for_fav': True, 'category': 'video', 'url': url, 'title': titre, 'desc': desc, 'icon': image, 'hst': 'tshost', 'EPG': True }) self.addDir({ 'import': cItem['import'], 'title': tscolor('\c0000??00') + 'Page ' + str(page + 1), 'page': page + 1, 'category': 'host2', 'link': url1, 'icon': image, 'mode': '30' })
def showitms_series(self, cItem): url1 = cItem['link'] page = cItem['page'] sts, data = self.getPage(url1 + '?PageID=' + str(page)) if sts: Liste_els = re.findall('</h2>(.*?)(class="pagination"|<footer>)', data, re.S) if Liste_els: films_list = re.findall( 'class="block">.*?<a href="(.*?)".*?background-image:url\((.*?)\).*?"boxtitle">(.*?)<', Liste_els[0][0], re.S) for (url, image, titre) in films_list: titre = titre.replace('مشاهدة مسلسل ', '') titre = titre.replace('مشاهدة برنامج ', '') titre = titre.replace('مشاهدة', '') self.addDir({ 'import': cItem['import'], 'good_for_fav': True, 'category': 'host2', 'url': url, 'title': titre, 'desc': '', 'icon': image, 'mode': '32' }) self.addDir({ 'import': cItem['import'], 'title': tscolor('\c0000??00') + 'Page ' + str(page + 1), 'page': page + 1, 'category': 'host2', 'link': url1, 'icon': cItem['icon'], 'mode': '31' })
def showitms(self,cItem): url=cItem.get('url', '') page = cItem.get('page', 1) if page>1: if '/series/' in url: url = url+'/page/'+str(page)+'/' else: url = url+'?page='+str(page)+'/' sts, data = self.getPage(url) if sts: if True:# ('/episodes/' in url) or ('/category/' in url): #pat = '<li class="EpisodeBlock.*?href="(.*?)".*?Title">(.*?)<.*?bg="(.*?)"' #pat = '<li class="EpisodeBlock.*?href="(.*?)".*?Title">(.*?)<.*?url\((.*?)\)' pat = 'class="block-post.*?href="(.*?)".*?title="(.*?)".*?url\((.*?)\)' lst_data=re.findall(pat, data, re.S) for (url1,titre,image) in lst_data: titre = ph.clean_html(titre) image=self.std_url(image) if 'post.php?url=' in url1: url_tmp = url1.split('post.php?url=')[-1].replace('%3D','=') #try: url1 = base64.b64decode(url_tmp) #except: # printDBG('error base64:url1='+url_tmp) if '/series/' in url1: self.addDir({'import':cItem['import'],'category' : 'host2','title':titre,'url':url1,'desc':'','icon':image,'hst':'tshost','good_for_fav':True,'mode':'30'}) else: self.addVideo({'import':cItem['import'],'category' : 'host2','title':titre,'url':url1,'desc':'','icon':image,'hst':'tshost','good_for_fav':True}) #if '/series/' not in url: self.addDir({'import':cItem['import'],'category' : 'host2','title':tscolor('\c00????00')+_("Next page"),'url':cItem['url'],'page':page+1,'mode':'30'}) else: pat = 'class="SerieBox".*?href="(.*?)".*?bg="(.*?)".*?>(.*?)</a>' pat = 'class="SerieBox".*?href="(.*?)".*?url\((.*?)\).*?>(.*?)</a>' lst_data=re.findall(pat, data, re.S) for (url1,image,titre) in lst_data: image=self.std_url(image) titre = ph.clean_html(titre) if '/packs/' in url: self.addVideo({'import':cItem['import'],'category' : 'host2','title':titre,'url':url1,'desc':'','icon':image,'hst':'tshost','good_for_fav':True}) else: self.addDir({'import':cItem['import'],'category' : 'host2','title':titre,'url':url1,'desc':'','icon':image,'hst':'tshost','good_for_fav':True,'mode':'30'})
def showmenu30(self, cItem): uRL = cItem['url'] data_ = re.findall('(.*)/', uRL, re.S) if data_: URL = data_[0] + '/collection' sts, data = self.getPage(URL) if sts: data_ = re.findall( 'name-surat">.*?href="(.*?)".*?data-recitation="(.*?)".*?data-name="(.*?)".*?data-riwaya="(.*?)"', data, re.S) for (url, desc, name, riwaya) in data_: if name != '': self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': name + ' - ' + riwaya, 'desc': tscolor('\c00????00') + ' تلاوة' + desc, 'url': self.MAIN_URL + url, 'icon': cItem['icon'], 'mode': '31' })
def SearchResult(self, str_ch, page, extra): url_ = self.MAIN_URL + '/page/' + str(page) + '/?s=' + str_ch sts, data = self.getPage(url_) if sts: Liste_films_data = re.findall( '"result-item">.*?href="(.*?)".*?src="(.*?)".*?alt="(.*?)".*?">(.*?)<(.*?)</article>', data, re.S) for (url, image, name_eng, type_, inf) in Liste_films_data: type_ = self.cleanHtmlStr(type_).strip() desc = '' lst_inf = re.findall('rating">(.*?)</', inf, re.S) if lst_inf: desc = desc + tscolor('\c00????00') + 'Rating: ' + tscolor( '\c00??????') + ph.clean_html(lst_inf[0]) + '\n' lst_inf = re.findall('year">(.*?)</', inf, re.S) if lst_inf: desc = desc + tscolor('\c00????00') + 'Year: ' + tscolor( '\c00??????') + ph.clean_html(lst_inf[0]) + '\n' lst_inf = re.findall('contenido">(.*?)</div', inf, re.S) if lst_inf: desc = desc + tscolor('\c00????00') + 'Story: ' + tscolor( '\c00??????') + ph.clean_html(lst_inf[0]) + '\n' if type_ == 'Movie': params = { 'import': extra, 'good_for_fav': True, 'category': 'video', 'url': url, 'title': name_eng, 'desc': desc, 'icon': image, 'hst': 'tshost' } self.addVideo(params) else: params = { 'import': extra, 'good_for_fav': True, 'category': 'host2', 'Url': url, 'title': name_eng, 'desc': desc, 'icon': image, 'sub_mode': 'serie_ep', 'page': 1, 'mode': '30' } self.addDir(params)
def thx(self, cItem): self.addMarker({ 'title': 'Special thank to ' + tscolor('\c0000??00') + ' samsamsam ' + tscolor('\c00??????') + ' the Main developer & all Developer Team', 'desc': '' }) self.addMarker({ 'title': 'Special thank to ' + tscolor('\c0000????') + ' mamrot ' + tscolor('\c00??????') + ' & ' + tscolor('\c0000????') + ' mosz_nowy ' + tscolor('\c00??????') + ' (update script)', 'desc': '' })
def showelms(self, cItem): url1 = cItem['url'] sts, data = self.getPage(url1) if sts: data_list = re.findall('"season-headline">(.*?)<(.*?)</ul>', data, re.S) for (seas_titre, data1) in data_list: self.addMarker({ 'title': tscolor('\c0000????') + seas_titre, 'desc': '', 'icon': cItem['icon'] }) data_list1 = re.findall( '<li>(.*?)</a>.*?href="(.*?)".*?src="(.*?)".*?>(.*?)</li>', data1, re.S) for (titre, url, image, desc) in data_list1: url = self.MAIN_URL + '/' + url titre = ph.clean_html(titre) titre = titre.replace('Ep isode', 'Episode') self.addVideo({ 'import': cItem['import'], 'category': 'host2', 'url': url, 'title': titre, 'desc': ph.clean_html(desc), 'icon': image, 'hst': 'tshost', 'good_for_fav': True }) else: self.addVideo({ 'import': cItem['import'], 'category': 'host2', 'url': url1, 'title': cItem['title'], 'desc': cItem['desc'], 'icon': cItem['icon'], 'hst': 'tshost', 'good_for_fav': True })
def SearchResult(self, str_ch, page, extra): url_ = 'https://www.okanime.com/search?utf8=%E2%9C%93&%5Bsearch%5D=' + str_ch sts, data = self.getPage(url_) if sts: films_list = re.findall( 'class=\'col-md-15.*?href="(.*?)".*?src="(.*?)".*?class="rating.*?>(.*?)</div>.*?title\'>(.*?)<', data, re.S) for (url, image, rate, titre) in films_list: if not url.startswith('http'): url = self.MAIN_URL + url if not image.startswith('http'): image = self.MAIN_URL + image desc = 'Rating: ' + tscolor('\c00????00') + ph.clean_html(rate) self.addDir({ 'import': extra, 'good_for_fav': True, 'category': 'host2', 'url': url, 'title': titre, 'desc': desc, 'icon': image, 'hst': 'tshost', 'mode': '31' })
def showmenu16(self, cItem): page = cItem.get('page', 1) uRL = cItem['url'] Url0 = uRL + '/page:' + str(page) sts, data = self.getPage(Url0) if sts: i = 0 data_ = re.findall( 'name-surat">.*?href="(.*?)".*?data-recitation="(.*?)".*?data-name="(.*?)".*?reciters">(.*?)<.*?<span>(.*?)</span>', data, re.S) for (url, desc, name, desc2, riwaya) in data_: if name != '': i = i + 1 self.addDir({ 'import': cItem['import'], 'category': 'host2', 'title': name + ' - ' + ph.clean_html(riwaya) + ' - ' + desc2, 'desc': tscolor('\c00????00') + ' تلاوة' + desc, 'url': self.MAIN_URL + url, 'icon': cItem['icon'], 'mode': '22' }) if i > 14: self.addDir({ 'import': cItem['import'], 'category': 'host2', 'icon': cItem['icon'], 'title': 'Next', 'url': uRL, 'page': page + 1, 'mode': '16' })
def showitms1(self,cItem): page=cItem.get('page',1) url0=cItem['url'] url=url0 if page!=0: url=url0+'?page='+str(page) #sts, data = self.cm.getPage(url) sts, data = self.getPage(url) if sts: lst_data=re.findall('media-block" data-post="(.*?)".*?href="(.*?)".*?src="(.*?)".*?class="info">(.*?)<h3>(.*?)</h3>', data, re.S) for (data_post,url1,image,desc0,name_eng) in lst_data: #name_eng=name_eng.replace(' اون لاين','') #name_eng=name_eng.replace('مسلسل ','') #name_eng=name_eng.replace('فيلم ','') desc00,name_eng = self.uniform_titre(name_eng) if '://'in image: image = image.split('://')[0]+'://'+urllib.quote(image.split('://')[1]) else: image = cItem['image'] desc=desc00+ph.clean_html(desc0)#self.get_desc(desc0,desc1) self.addDir({'import':cItem['import'],'good_for_fav':True,'category':'host2', 'url':url1,'data_post':data_post, 'title':ph.clean_html(name_eng), 'desc':desc, 'icon':image, 'mode':'31','EPG':True,'hst':'tshost'} ) if page!=0: self.addDir({'import':cItem['import'],'category':'host2', 'url':url0, 'title':tscolor('\c0000??00')+'Page Suivante', 'page':page+1, 'desc':'Page Suivante', 'icon':cItem['icon'], 'mode':'30'})
def showitms(self, cItem): url = cItem['url'] page = cItem.get('page', 1) url_ = url + 'page/' + str(page) + '/' sts, data = self.getPage(url_) if sts: films_list = re.findall( 'movie big">(.*?)<h2.*?title">(.*?)<.*?href="(.*?)">.*?src="(.*?)"', data, re.S) for (desc1, titre, url, image) in films_list: desc = ph.clean_html(desc1) titre = titre.replace('Watch Online', '') self.addVideo({ 'import': cItem['import'], 'good_for_fav': True, 'EPG': True, 'category': 'host2', 'url': url, 'title': ph.clean_html(titre), 'desc': desc, 'icon': image, 'hst': 'tshost' }) self.addDir({ 'import': cItem['import'], 'title': tscolor('\c0000??00') + 'Page ' + str(page + 1), 'page': page + 1, 'category': 'host2', 'url': cItem['url'], 'icon': cItem['icon'], 'mode': '30' })
def showitms(self, cItem): url = cItem['url'] page = cItem.get('page', 1) url_ = url + '?page=' + str(page) sts, data = self.getPage(url_) if sts: films_list = re.findall( 'video-block ">.*?href="(.*?)".*?src="(.*?)".*?alt="(.*?)".*?meta">(.*?)</div', data, re.S) for (url, image, titre, desc1) in films_list: desc = ph.clean_html(desc1) url = self.MAIN_URL + url self.addVideo({ 'import': cItem['import'], 'good_for_fav': True, 'EPG': True, 'category': 'host2', 'url': url, 'title': ph.clean_html(titre), 'desc': desc, 'icon': image, 'hst': 'tshost' }) self.addDir({ 'import': cItem['import'], 'title': tscolor('\c0000??00') + 'Page ' + str(page + 1), 'page': page + 1, 'category': 'host2', 'url': cItem['url'], 'icon': cItem['icon'], 'mode': '30' })
def get_info(self, data): inf = '' lst_dat = re.findall('class="details">(.*?)</ul>', data, re.S) for (xx) in lst_dat: lst_dat0 = re.findall('<li>(.*?):(.*?)</li>', xx, re.S) for (x1, x2) in lst_dat0: if 'حلقات' in x1: inf = inf + tscolor('\c00????00') + 'Episodes: ' + tscolor( '\c00??????') + ph.clean_html(x2.replace('الحلقة', '')) + ' | ' if 'لمدة' in x1: inf = inf + tscolor('\c00????00') + 'Duration: ' + tscolor( '\c00??????') + ph.clean_html(x2) + ' | ' lst_dat = re.findall('class="genres">(.*?)</div>', data, re.S) if lst_dat: inf = inf + '\n' + tscolor('\c00????00') + 'Genre: ' + tscolor( '\c00??????') + ph.clean_html(lst_dat[0]) lst_dat = re.findall('class="txt">(.*?)<br />', data, re.S) if lst_dat: inf = inf + '\n' + tscolor('\c00????00') + 'Story: ' + tscolor( '\c0000????') + ph.clean_html(lst_dat[0]) return inf
def showmenu0(self, cItem): hst = 'host2' self.Arablionz_TAB = [ { 'category': hst, 'title': tscolor('\c00????00') + 'By Filter', 'mode': '20', 'count': 1, 'data': 'none', 'code': self.MAIN_URL + '/getposts?' }, { 'category': hst, 'sub_mode': 'film', 'title': 'Films', 'mode': '21' }, { 'category': hst, 'sub_mode': 'serie', 'title': 'Series', 'mode': '21' }, #{'category':hst, 'sub_mode':'music','title': 'اغاني وكليبات', 'mode':'21'}, #{'category':hst, 'sub_mode':'other','title': 'برامج تليفزيونية', 'mode':'30','url':self.MAIN_URL+'/category/%D8%A8%D8%B1%D8%A7%D9%85%D8%AC-%D8%AA%D9%84%D9%8A%D9%81%D8%B2%D9%8A%D9%88%D9%86%D9%8A%D8%A9/','page':1}, #{'category':hst, 'sub_mode':'other','title': 'رياضة و مصارعه', 'mode':'30','url':self.MAIN_URL+'/category/%D8%B9%D8%B1%D9%88%D8%B6-%D8%A7%D9%84%D9%85%D8%B5%D8%A7%D8%B1%D8%B9%D8%A9/','page':1}, { 'category': 'search', 'title': _('Search'), 'search_item': True, 'page': 1, 'hst': 'tshost' }, ] self.listsTab(self.Arablionz_TAB, { 'import': cItem['import'], 'icon': cItem['icon'] })
def showitms(self,cItem): sub_mode=cItem.get('sub_mode', '0') page = cItem.get('page', 1) if (sub_mode=='0')or(sub_mode=='2') : if sub_mode=='0': url0='https://3sk.co/p'+str(page)+'.html' else: url0='https://3sk.co/pdep42-p'+str(page)+'.html' sts, data = self.getPage(url0) if sts: lst_data=re.findall('<div class="article">.*?href=\'(.*?)\'>(.*?)<.*?src=\'(.*?)\'.*?details">(.*?)</div>', data, re.S) for (url1,name_eng,image,desc) in lst_data: if not image.startswith('http'): image='https://3sk.co/'+image if not url1.startswith('http'): url1='https://3sk.co/'+url1 self.addVideo({'import':cItem['import'],'category' : 'host2','title':ph.clean_html(name_eng.strip()),'url':url1,'desc':ph.clean_html(desc.strip()),'icon':image,'hst':'tshost','good_for_fav':True}) self.addDir({'import':cItem['import'],'category' : 'host2','title':'Page Suivante','url':'','page':page+1,'mode':'30','sub_mode':sub_mode}) elif (sub_mode=='1') : url0='https://3sk.co/vb/' sts, data = self.getPage(url0) if sts: lst_data=re.findall('<div class="col-xs-12 catTitle">(.*?)/h2>(.*?)<div class="row">', data, re.S) for (name_cat,data2) in lst_data: self.addMarker({'title':tscolor('\c00????00')+ph.clean_html(name_cat),'icon':cItem['icon']}) lst_data2=re.findall('"itemIMG">.*?href="(.*?)".*?src="(.*?)".*?<h3>(.*?)</h3>', data2, re.S) for (url1,image,name_eng) in lst_data2: if not image.startswith('http'): image='https://3sk.co/'+image if not url1.startswith('http'): url1='https://3sk.co/'+url1 self.addDir({'import':cItem['import'],'category' : 'host2','title':ph.clean_html(name_eng.strip()),'url':url1,'icon':image,'mode':'20','good_for_fav':True}) elif (sub_mode=='3') : url0='https://3sk.co/vb/forumdisplay.php?f=8' sts, data = self.getPage(url0) if sts: lst_data=re.findall('<h3>.*?href="(.*?)">(.*?)<', data, re.S) for (url_,name_) in lst_data: if not url_.startswith('http'): url_='https://3sk.co/vb/'+url_ self.addDir({'import':cItem['import'],'category' : 'host2','title':name_,'url':url_.replace('&','&'),'icon':cItem['icon'],'mode':'20','good_for_fav':True})
def SearchResult(self,str_ch,page,extra): self.addMarker({'title':tscolor('\c0000????')+'Movies & TV:','icon':''}) url = self.MAIN_URL+'/movies/'+str(page)+'?keywords='+str_ch+'&filter=media' sts, data = self.getPage(url,self.defaultParams) if sts: data = json_loads(data) for elm in data: desc = self.get_inf(elm) trailer = elm.get('trailer','') type_ = elm.get('type',1) imdb_id_ = elm.get('imdb_id','') titre = elm['title'] if type_==6: mode_='22' else: mode_='31' if type_==2: titre = elm['title']+' '+tscolor('\c0000????')+'(TV SHOWS)' elif type_==5: titre = elm['title']+' '+tscolor('\c0000????')+'(Music Charts)' elif type_==3: titre = elm['title']+' '+tscolor('\c0000????')+'(Anime)' elif type_==1: titre = elm['title']+' '+tscolor('\c0000????')+'(Film)' elif type_==6: titre = elm['title']+' '+tscolor('\c0000????')+'(Collection)' self.addDir({'import':extra,'good_for_fav':True,'EPG':True,'category' : 'host2','trailer':trailer,'year':elm.get('year',''),'url': elm['imdb_id'],'title':titre,'desc':desc,'icon':elm['images']['poster'],'hst':'tshost','mode':mode_}) self.addMarker({'title':tscolor('\c0000????')+'Persons:','icon':''}) url = 'https://api.themoviedb.org/3/search/person?page='+str(page)+'&api_key='+base64.b64decode(self.api_key)+'&query='+str_ch sts, data = self.getPage(url,self.defaultParams) if sts: data = json_loads(data) for elm in data['results']: #desc = self.get_inf(elm) name_ = elm['name'] id_ = elm['id'] image = elm.get('profile_path','') url_ = 'https://api.themoviedb.org/3/person/'+str(id_)+'/external_ids?api_key='+base64.b64decode(self.api_key) printDBG('eeee'+name_) if not image: image='' if image!='': image='http://image.tmdb.org/t/p/w200'+image self.addDir({'import':extra,'good_for_fav':True,'EPG':True,'category' : 'host2','url': url_,'title':name_,'desc':'','icon':image,'hst':'tshost','mode':'24'})
def getinfo(): version_f='/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tsiplayer/libs/tsmedia/version' if not os.path.exists(version_f): version_f='/usr/lib/enigma2/python/Plugins/Extensions/TSmedia/version' if os.path.exists(version_f): with open(version_f) as f: lines = f.readlines() version = lines[0].split(':')[1].strip() info_={} info_['name']='TSMedia' info_['version']='2.0 20/10/2020'+' | '+tscolor('\c0000????')+version+ ' (TSMedia)' info_['dev']='mfaraj57 + TSmedia Team' info_['cat_id']='903' info_['desc']='TSMedia Enigma2 Addon' info_['icon']='https://i.ibb.co/tH06msx/img1.png' else: info_={} info_['name']='TSMedia' info_['version']='Not Installed' info_['dev']='mfaraj57 + TSmedia Team' info_['cat_id']='99' info_['desc']='TSMedia Enigma2 Addon' info_['icon']='https://i.ibb.co/tH06msx/img1.png' return info_
def SearchResult(self, str_ch, page, extra): url_ = self.MAIN_URL + '/search/' + str_ch + '/page-' + str( page) + '.html' sts, data = self.getPage(url_) if sts: films_list = re.findall( 'ml-item">.*?href="(.*?)".*?title="(.*?)".*?class="mli-.*?">(.*?)</.*?original="(.*?)"', data, re.S) for (url, titre, desc, image) in films_list: titre = titre + tscolor('\c0000??00') + ' ' + ph.clean_html( desc) self.addDir({ 'import': extra, 'good_for_fav': True, 'EPG': True, 'category': 'host2', 'url': url, 'title': titre, 'desc': ph.clean_html(desc), 'icon': image, 'hst': 'tshost', 'mode': '31' })
def PrintExTs(self, e): exc_type, exc_obj, exc_tb = sys.exc_info() fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1] inf_ = str(fname) + ' (' + str(exc_tb.tb_lineno) + ')\n' + str( type(e).__name__) + ' (' + str(e) + ')\n' frm = inspect.trace()[-1] mod = inspect.getmodule(frm[0]) (filename, line_number, function_name, lines, index) = inspect.getframeinfo(frm[0]) filename = filename.replace( '/usr/lib/enigma2/python/Plugins/Extensions/', '>> ') inf_ = inf_ + 'FileName: ' + str(filename) + ' (' + str( line_number) + ')\n' inf_ = inf_ + 'Function: ' + str(function_name) + '\n' try: inf_ = inf_ + 'Line: ' + str(lines[index]).strip() except: pass self.addMarker({ 'title': tscolor('\c00????00') + '----> Erreur <----', 'icon': '', 'desc': inf_ })
def tsiplayer_get_addons_host(self, cItem): folder = '/usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tsiplayer/addons/' import_ = 'from Plugins.Extensions.IPTVPlayer.tsiplayer.addons.' color_ = tscolor('\c00????99') cat_id = cItem.get('cat_id', '') lst = [] if os.path.exists(folder): lst = os.listdir(folder) lst.sort() for (file_) in lst: if (file_.endswith('.py')) and ((file_.startswith('host_')) or ((file_.startswith('hide_')))): path_ = folder + '/' + file_ import_str = import_ + file_.replace('.py', ' import ') sys.argv = '' try: exec(import_str + 'getinfo') info = getinfo() except Exception as e: info = {} info[ 'warning'] = ' >>>>>>> Problem in this host <<<<<<<' info['desc'] = str(e) info['name'] = file_ info['version'] = '' info['dev'] = '' try: exec(import_str + 'getHosts') hsts = getHosts() except Exception as e: hsts = [] for (cat_id_, elm_) in hsts: if cat_id == cat_id_: elm_['title'] = color_ + elm_['title'] self.addDir(elm_)
def showitms(self, cItem): url = cItem['url'] page = cItem.get('page', 1) url = url + '/page/' + str(page) + '/' sts, data = self.getPage(url) if sts: lst_data = re.findall( 'postDiv">.*?href="(.*?)".*?-src="(.*?)"(.*?)h1">(.*?)<', data, re.S) for (url1, image, desc1, titre) in lst_data: titre = titre.replace('–', '-') desc0, titre = self.uniform_titre(titre) desc = desc0 mode = '31' if 'movies_collections' in url1: mode = '30' self.addDir({ 'import': cItem['import'], 'good_for_fav': True, 'EPG': True, 'hst': 'tshost', 'category': 'host2', 'url': url1, 'title': titre, 'desc': desc, 'icon': image, 'mode': mode }) self.addDir({ 'import': cItem['import'], 'category': 'host2', 'url': cItem['url'], 'title': tscolor('\c0000??00') + 'Page Suivante', 'page': page + 1, 'desc': 'Page Suivante', 'icon': cItem['icon'], 'mode': '30' })
def showitms(self,cItem): url = cItem['url'] page = cItem.get('page',1) if page > 1: url = url +'page/'+str(page)+'/' sts, data = self.getPage(url) if sts: if '/actors/' in url: Liste_els = re.findall('class="ActorsItems">(.*?)(</ul|<ul)' , data, re.S) if Liste_els: Liste_els = re.findall('<li.*?href="(.*?)".*?title="(.*?)".*?url\((.*?)\).*?>(.*?)</a>' , Liste_els[0][0], re.S) for (url,titre,image,desc) in Liste_els: titre = ph.clean_html(titre) desc = ph.clean_html(desc.replace('</div>','\\n').replace('</i>','\\n')).strip() #desc = tscolor('\c00????00')+'Genre: '+ tscolor('\c00??????') +ph.clean_html(genre)+'\n'+tscolor('\c00????00')+'Views: '+tscolor('\c00??????')+ph.clean_html(view)+' | '+ tscolor('\c00????00')+'Cat: '+tscolor('\c00??????')+ph.clean_html(cat) self.addDir({'import':cItem['import'],'good_for_fav':True,'category' : 'host2','url': url,'title':titre,'desc':desc,'icon':image,'mode':'30','hst':'tshost'}) else: pat = 'class="MovieBlock">.*?href="(.*?)".*?image:url\((.*?)\).*?BoxInfo">(.*?)</div>.*?class="Views">(.*?)</div>.*?class="Category">(.*?)</div>(.*?)</li>' Liste_els = re.findall('<ul class="Slides">(.*?)</ul', data, re.S) if Liste_els and page ==1: films_list = re.findall(pat, Liste_els[0], re.S) if films_list: self.addMarker({'title':tscolor('\c00????00')+'Featured:'}) for (url,image,genre,view,cat,titre) in films_list: titre = ph.clean_html(titre) desc0,titre = self.uniform_titre(titre) desc = desc0+tscolor('\c00????00')+'Genre: '+ tscolor('\c00??????') +ph.clean_html(genre)+'\n'+tscolor('\c00????00')+'Views: '+tscolor('\c00??????')+ph.clean_html(view)+' | '+ tscolor('\c00????00')+'Cat: '+tscolor('\c00??????')+ph.clean_html(cat) self.addDir({'import':cItem['import'],'good_for_fav':True,'category' : 'host2','url': url,'title':titre,'desc':desc,'icon':image,'mode':'31','EPG':True,'hst':'tshost'}) self.addMarker({'title':tscolor('\c00????00')+'List:'}) Liste_els = re.findall('<ul class="Cima4uBlocks"(.*?)</ul', data, re.S) if Liste_els: films_list = re.findall(pat, Liste_els[0], re.S) if films_list: for (url,image,genre,view,cat,titre) in films_list: titre = ph.clean_html(titre) desc0,titre = self.uniform_titre(titre) desc = desc0+tscolor('\c00????00')+'Genre: '+ tscolor('\c00??????') +ph.clean_html(genre)+'\n'+tscolor('\c00????00')+'Views: '+tscolor('\c00??????')+ph.clean_html(view)+' | '+ tscolor('\c00????00')+'Cat: '+tscolor('\c00??????')+ph.clean_html(cat) self.addDir({'import':cItem['import'],'good_for_fav':True,'category' : 'host2','url': url,'title':titre,'desc':desc,'icon':image,'mode':'31','EPG':True,'hst':'tshost'}) self.addDir({'import':cItem['import'],'title':tscolor('\c0000??00')+'Page '+str(page+1),'page':page+1,'category' : 'host2','url':cItem['url'],'icon':cItem['icon'],'mode':'30'} )
def showmenu0(self, cItem): hst = 'host2' img_ = cItem['icon'] Cat_TAB = [ { 'category': hst, 'title': 'الأفلام', 'mode': '20', 'sub_mode': 0 }, { 'category': hst, 'title': 'المسلسلات', 'mode': '20', 'sub_mode': 1 }, { 'category': hst, 'title': 'تصنيف آخر ', 'mode': '20', 'sub_mode': 2 }, { 'category': 'search', 'name': 'search', 'title': _('Search'), 'search_item': True, 'hst': 'tshost' }, { 'category': hst, 'title': tscolor('\c00????00') + 'Mobile Version', 'mode': '40' }, ] self.listsTab(Cat_TAB, {'import': cItem['import'], 'icon': img_})