Просмотр исходного кода

Merge pull request #21 from host505/master

Misplaced debrid-only scraper
pull/23/head
I-A-C 1 год назад
Родитель
Сommit
525bdde208
Аккаунт пользователя с таким Email не найден

+ 1
- 1
lib/default.py Просмотреть файл

@@ -83,7 +83,7 @@ if mode == "Defaults":
'cartoonhd','cmovies','coolmoviezone','cooltv','darewatch','divxcrawler','dltube','einthusan',
'filmxy','flenix','flixanity','fmovies','freefmovies','freeputlockers','furk','genvideos','gogoanime',
'gowatchseries','hackimdb','hdpopcorns','icefilms','icouchtuner','iwatchflixxyz','kattv','l23movies','library',
'm4ufree','megahd','movie4uch','moviesplanet','myputlock','myvideolink','mywatchseries','odb','openloadmovie','ororo',
'm4ufree','megahd','movie4uch','moviesplanet','myputlock','mywatchseries','odb','openloadmovie','ororo',
'plocker','popcorn','primewire','projectfree','pron','putlocker','rajahoki88','reddit','seehd','series9','seriesfree',
'seriesonline','sezonlukdizi','showbox','solarmoviez','streamlord','tvbox','videoscraper',
'vodly','watch32','watchonline','watchseries','xmovies','xwatchseries','ymovies']

+ 0
- 161
lib/lambdascrapers/sources_ lambdascrapers/en/myvideolink.py Просмотреть файл

@@ -1,161 +0,0 @@
# -*- coding: UTF-8 -*-
#######################################################################
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# @tantrumdev wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return. - Muad'Dib
# ----------------------------------------------------------------------------
#######################################################################
# -Cleaned and Checked on 10-10-2018 by JewBMX in Yoda.


import re,urllib,urlparse

from resources.lib.modules import cleantitle
from resources.lib.modules import client
from resources.lib.modules import debrid

class source:
def __init__(self):
self.priority = 1
self.language = ['en']
self.domains = ['iwantmyshow.tk','myvideolinks.net']
self.base_link = 'http://iwantmyshow.tk'
self.search_link = '/?s=%s'


def movie(self, imdb, title, localtitle, aliases, year):
try:
url = {'imdb': imdb, 'title': title, 'year': year}
url = urllib.urlencode(url)
return url
except:
return


def sources(self, url, hostDict, hostprDict):
try:
sources = []

if url == None: return sources

if debrid.status() == False: raise Exception()

data = urlparse.parse_qs(url)
data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])

title = data['tvshowtitle'] if 'tvshowtitle' in data else data['title']

hdlr = 'S%02dE%02d' % (int(data['season']), int(data['episode'])) if 'tvshowtitle' in data else data['year']

query = '%s S%02dE%02d' % (data['tvshowtitle'], int(data['season']), int(data['episode'])) if 'tvshowtitle' in data else '%s %s' % (data['title'], data['year'])
query = re.sub('(\\\|/| -|:|;|\*|\?|"|\'|<|>|\|)', ' ', query)

s = client.request(self.base_link)
s = re.findall('\'(http.+?)\'', s) + re.findall('\"(http.+?)\"', s)
s = [i for i in s if urlparse.urlparse(self.base_link).netloc in i and len(i.strip('/').split('/')) > 3]
s = s[0] if s else urlparse.urljoin(self.base_link, 'posts')
s = s.strip('/')

url = s + self.search_link % urllib.quote_plus(query)

r = client.request(url)

r = client.parseDOM(r, 'h2', attrs = {'class': 'post-title'})
r = zip(client.parseDOM(r, 'a', ret='href'), client.parseDOM(r, 'a', ret='title'))
r = [(i[0], i[1], re.sub('(\.|\(|\[|\s)(\d{4}|3D)(\.|\)|\]|\s|)(.+|)', '', i[1]), re.findall('[\.|\(|\[|\s](\d{4}|)([\.|\)|\]|\s|].+)', i[1])) for i in r]
r = [(i[0], i[1], i[2], i[3][0][0], i[3][0][1]) for i in r if i[3]]
r = [(i[0], i[1], i[2], i[3], re.split('\.|\(|\)|\[|\]|\s|\-', i[4])) for i in r]
r = [i for i in r if cleantitle.get(title) == cleantitle.get(i[2]) and data['year'] == i[3]]
r = [i for i in r if not any(x in i[4] for x in ['HDCAM', 'CAM', 'DVDR', 'DVDRip', 'DVDSCR', 'HDTS', 'TS', '3D'])]
r = [i for i in r if '1080p' in i[4]][:1] + [i for i in r if '720p' in i[4]][:1]

posts = [(i[1], i[0]) for i in r]

hostDict = hostprDict + hostDict

items = []

for post in posts:
try:
t = post[0]

u = client.request(post[1])
u = re.findall('\'(http.+?)\'', u) + re.findall('\"(http.+?)\"', u)
u = [i for i in u if not '/embed/' in i]
u = [i for i in u if not 'youtube' in i]

items += [(t, i) for i in u]
except:
pass

for item in items:
try:
name = item[0]
name = client.replaceHTMLCodes(name)

t = re.sub('(\.|\(|\[|\s)(\d{4}|S\d*E\d*|S\d*|3D)(\.|\)|\]|\s|)(.+|)', '', name)

if not cleantitle.get(t) == cleantitle.get(title): raise Exception()

y = re.findall('[\.|\(|\[|\s](\d{4}|S\d*E\d*|S\d*)[\.|\)|\]|\s]', name)[-1].upper()

if not y == hdlr: raise Exception()

fmt = re.sub('(.+)(\.|\(|\[|\s)(\d{4}|S\d*E\d*|S\d*)(\.|\)|\]|\s)', '', name.upper())
fmt = re.split('\.|\(|\)|\[|\]|\s|\-', fmt)
fmt = [i.lower() for i in fmt]

if any(i.endswith(('subs', 'sub', 'dubbed', 'dub')) for i in fmt): raise Exception()
if any(i in ['extras'] for i in fmt): raise Exception()

if '1080p' in fmt: quality = '1080p'
elif '720p' in fmt: quality = 'HD'
else: quality = 'SD'
if any(i in ['dvdscr', 'r5', 'r6'] for i in fmt): quality = 'SCR'
elif any(i in ['camrip', 'tsrip', 'hdcam', 'hdts', 'dvdcam', 'dvdts', 'cam', 'telesync', 'ts'] for i in fmt): quality = 'CAM'

info = []

if '3d' in fmt: info.append('3D')

try:
size = re.findall('((?:\d+\.\d+|\d+\,\d+|\d+) (?:GB|GiB|MB|MiB))', item[2])[-1]
div = 1 if size.endswith(('GB', 'GiB')) else 1024
size = float(re.sub('[^0-9|/.|/,]', '', size))/div
size = '%.2f GB' % size
info.append(size)
except:
pass

if any(i in ['hevc', 'h265', 'x265'] for i in fmt): info.append('HEVC')

info = ' | '.join(info)

url = item[1]
if any(x in url for x in ['.rar', '.zip', '.iso']): raise Exception()
url = client.replaceHTMLCodes(url)
url = url.encode('utf-8')

host = re.findall('([\w]+[.][\w]+)$', urlparse.urlparse(url.strip().lower()).netloc)[0]
if not host in hostDict: raise Exception()
host = client.replaceHTMLCodes(host)
host = host.encode('utf-8')

sources.append({'source': host, 'quality': quality, 'language': 'en', 'url': url, 'info': info, 'direct': False, 'debridonly': True})
except:
pass

check = [i for i in sources if not i['quality'] == 'CAM']
if check: sources = check

return sources
except:
return sources


def resolve(self, url):
return url



+ 7
- 7
lib/lambdascrapers/sources_ lambdascrapers/en_DebridOnly/myvideolink.py Просмотреть файл

@@ -2,15 +2,13 @@
#######################################################################
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# @Daddy_Blamo wrote this file. As long as you retain this notice you
# @tantrumdev wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return. - Muad'Dib
# ----------------------------------------------------------------------------
#######################################################################
# -Cleaned and Checked on 10-10-2018 by JewBMX in Yoda.

# Addon Name: Placenta
# Addon id: plugin.video.placenta
# Addon Provider: Mr.Blamo

import re,urllib,urlparse

@@ -22,9 +20,9 @@ class source:
def __init__(self):
self.priority = 1
self.language = ['en']
self.domains = ['go.myvideolinks.net','newmyvideolink.xyz', 'beta.myvideolinks.xyz', 'videolinks.ga', 'myvideolinks.ga', 'ezfile.xyz', 'dl.myvideolinks.net']
self.base_link = 'http://iwantmyshow.net/'
self.search_link = '/post/'
self.domains = ['iwantmyshow.tk','myvideolinks.net']
self.base_link = 'http://iwantmyshow.tk'
self.search_link = '/?s=%s'


def movie(self, imdb, title, localtitle, aliases, year):
@@ -156,6 +154,8 @@ class source:
except:
return sources


def resolve(self, url):
return url



+ 1
- 2
resources/settings.xml Просмотреть файл

@@ -95,7 +95,6 @@
<setting id="provider.myputlock" type="bool" label="MYPUTLOCK" default="false" /> <!--Placenta-->
<setting id="provider.myputlocker" type="bool" label="MYPUTLOCKER" default="false" /> <!--Jewbmx-->
<setting id="provider.myseriesfree" type="bool" label="MYSERIESFREE" default="false" /> <!--Jewbmx-->
<setting id="provider.myvideolink" type="bool" label="MYVIDEOLINK" default="false" /> <!--Jewbmx-->
<setting id="provider.mywatchseries" type="bool" label="MYWATCHSERIES" default="false" />
<!-- <setting id="provider.mzmovies" type="bool" label="MZMOVIES" default="false" />--> <!--Yoda-->
<!-- <setting id="provider.onlinedizi" type="bool" label="ONLINEDIZI" default="false" />--> <!--Yoda-->
@@ -216,7 +215,7 @@
<setting id="provider.gomovies" type="bool" label="GOMOVIE" default="false" />
<!-- <setting id="provider.hevcfilm" type="bool" label="HEVCFILM" default="false" />--> <!--Yoda-->
<setting id="provider.moviesonline" type="bool" label="MOVIESONLINE" default="false" />
<setting id="provider.myvideolink" type="bool" label="MYVIDEOLINK" default="false" />
<setting id="provider.myvideolink" type="bool" label="MYVIDEOLINK" default="false" /> <!--Jewbmx-->
<setting id="provider.phazeddl" type="bool" label="PHAZEDLL" default="false" />
<setting id="provider.power" type="bool" label="POWER" default="false" />
<!-- <setting id="provider.releasebb" type="bool" label="RELEASEBB" default="false" />-->

Загрузка…
Отмена
Сохранить