Skip to content

Commit 380351a

Browse files
committed
fix build
1 parent 79e0971 commit 380351a

File tree

6 files changed

+162
-164
lines changed

6 files changed

+162
-164
lines changed

configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ plugin/seekers/SerialZone/Makefile
2727
plugin/seekers/Subdl/Makefile
2828
plugin/seekers/Subscene/Makefile
2929
plugin/seekers/Subscenebest/Makefile
30-
plugin/seekers/Subssource/Makefile
30+
plugin/seekers/Subsource/Makefile
3131
plugin/seekers/SubtitlesGR/Makefile
3232
plugin/seekers/Subsyts/Makefile
3333
plugin/seekers/Subtitlecat/Makefile

plugin/seek.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,22 @@
2828

2929
try:
3030
from .seekers import SubtitlesDownloadError, SubtitlesSearchError, \
31-
SubtitlesErrors, SubtitlesmoraSeeker, NovalermoraSeeker, TitulkyComSeeker, EdnaSeeker, SerialZoneSeeker, ElsubtitleSeeker, IndexsubtitleSeeker, MoviesubtitlesSeeker, Moviesubtitles2Seeker, MySubsSeeker, \
32-
OpenSubtitlesSeeker, PodnapisiSeeker, SubsceneSeeker, SubdlSeeker, SubsytsSeeker, SubtitlecatSeeker, SubtitlesGRSeeker, SubtitlistSeeker, \
33-
ItasaSeeker, TitloviSeeker, OpenSubtitlesMoraSeeker, PrijevodiOnlineSeeker, SubscenebestSeeker
31+
SubtitlesErrors, SubtitlesmoraSeeker, NovalermoraSeeker, ElsubtitleSeeker, OpenSubtitles2Seeker, TitulkyComSeeker, \
32+
OpenSubtitlesSeeker, OpenSubtitlesMoraSeeker, PodnapisiSeeker, SubscenebestSeeker, SubdlSeeker, \
33+
TitloviSeeker, PrijevodiOnlineSeeker, MySubsSeeker, SubsourceSeeker, \
34+
ItasaSeeker, SubsceneSeeker, SubsytsSeeker, SubtitlecatSeeker, SubtitlesGRSeeker, SubtitlistSeeker, \
35+
EdnaSeeker, SerialZoneSeeker, IndexsubtitleSeeker, MoviesubtitlesSeeker, Moviesubtitles2Seeker
3436
from .seekers.seeker import BaseSeeker
3537
from .seekers.utilities import languageTranslate, langToCountry, \
3638
getCompressedFileType, detectSearchParams
3739
from .utils import SimpleLogger, toString
3840
except (ValueError, ImportError):
3941
from seekers import SubtitlesDownloadError, SubtitlesSearchError, \
40-
SubtitlesErrors, SubtitlesmoraSeeker, NovalermoraSeeker, TitulkyComSeeker, EdnaSeeker, SerialZoneSeeker, ElsubtitleSeeker, IndexsubtitleSeeker, MoviesubtitlesSeeker, Moviesubtitles2Seeker, MySubsSeeker, \
41-
OpenSubtitlesSeeker, PodnapisiSeeker, SubsceneSeeker, SubdlSeeker, SubsytsSeeker, SubtitlecatSeeker, SubtitlesGRSeeker, SubtitlistSeeker, \
42-
ItasaSeeker, TitloviSeeker, OpenSubtitlesMoraSeeker, PrijevodiOnlineSeeker, SubscenebestSeeker
42+
SubtitlesErrors, SubtitlesmoraSeeker, NovalermoraSeeker, ElsubtitleSeeker, OpenSubtitles2Seeker, TitulkyComSeeker, \
43+
OpenSubtitlesMoraSeeker, OpenSubtitlesSeeker, PodnapisiSeeker, SubscenebestSeeker, SubdlSeeker, \
44+
TitloviSeeker, PrijevodiOnlineSeeker, MySubsSeeker, SubsourceSeeker, \
45+
ItasaSeeker, SubsceneSeeker, SubsytsSeeker, SubtitlecatSeeker, SubtitlesGRSeeker, SubtitlistSeeker, \
46+
EdnaSeeker, SerialZoneSeeker, IndexsubtitleSeeker, MoviesubtitlesSeeker, Moviesubtitles2Seeker
4347
from seekers.seeker import BaseSeeker
4448
from seekers.utilities import languageTranslate, langToCountry, \
4549
getCompressedFileType, detectSearchParams

plugin/seekers/Subdl/service.py

+25-30
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,16 @@
33
from __future__ import print_function
44

55

6-
from six.moves.urllib.request import FancyURLopener
7-
from six.moves.urllib.parse import quote_plus, urlencode
8-
import requests
6+
import os
7+
import os.path
98
import re
9+
import requests
1010
import warnings
1111
from requests.packages.urllib3.exceptions import InsecureRequestWarning
1212
warnings.simplefilter('ignore', InsecureRequestWarning)
13-
import os
14-
import os.path
15-
from six.moves.urllib.request import Request, urlopen
1613
from .SubdlUtilities import get_language_info
17-
from ..utilities import languageTranslate, log, getFileSize
14+
from ..utilities import log
1815

19-
import re
2016
from ..seeker import SubtitlesDownloadError, SubtitlesErrors
2117

2218
HDR = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0',
@@ -32,7 +28,7 @@
3228
s = requests.Session()
3329

3430

35-
main_url = "https://www.subdl.com"
31+
main_url = "https://subdl.com"
3632
debug_pretext = "subdl.com"
3733

3834

@@ -43,24 +39,20 @@
4339
'Ukranian': 'Ukrainian',
4440
'Farsi/Persian': 'Persian'
4541
}
42+
headers = {'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0'}
4643

4744

4845
def get_url(url, referer=None):
4946
if referer is None:
5047
headers = {'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0'}
5148
else:
5249
headers = {'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0', 'Referer': referer}
53-
req = Request(url, None, headers)
54-
response = urlopen(req)
55-
content = response.read().decode('utf-8')
56-
response.close()
57-
content = content.replace('\n', '')
50+
content = requests.get(url, None, headers).text
5851
return content
5952

6053

6154
def get_url2(url, referer=None):
62-
# from io import BytesIO
63-
# from zipfile import ZipFile
55+
from urllib.request import urlopen, Request
6456
req = Request(url)
6557
response = urlopen(req)
6658
content = response.read().decode('utf-8')
@@ -87,7 +79,7 @@ def search_subtitles(file_original_path, title, tvshow, year, season, episode, s
8779
elif len(tvshow) > 0: # TVShow
8880
searchstring = "%s S%#02dE%#02d" % (tvshow, int(season), int(episode))
8981
else:
90-
searchstring = title
82+
searchstring = title.replace(' ', '%20').lower()
9183
log(__name__, "%s Search string = %s" % (debug_pretext, searchstring))
9284
get_subtitles_list(searchstring, title, language_info2, language_info1, subtitles_list)
9385
return subtitles_list, "", msg # standard output
@@ -99,23 +91,23 @@ def download_subtitles(subtitles_list, pos, zip_subs, tmp_sub_dir, sub_folder, s
9991
id = subtitles_list[pos]["id"]
10092
url = 'https://dl.subdl.com/subtitle/%s' % (id)
10193
downloadlink = 'https://dl.subdl.com/subtitle/%s' % (id)
102-
#print(downloadlink)
94+
print(downloadlink)
10395
if downloadlink:
10496
log(__name__, "%s Downloadlink: %s " % (debug_pretext, downloadlink))
10597
viewstate = 0
10698
previouspage = 0
10799
subtitleid = 0
108100
typeid = "zip"
109101
filmid = 0
110-
#postparams = { '__EVENTTARGET': 's$lc$bcr$downloadLink', '__EVENTARGUMENT': '' , '__VIEWSTATE': viewstate, '__PREVIOUSPAGE': previouspage, 'subtitleId': subtitleid, 'typeId': typeid, 'filmId': filmid}
111-
postparams = urlencode({'__EVENTTARGET': 's$lc$bcr$downloadLink', '__EVENTARGUMENT': '', '__VIEWSTATE': viewstate, '__PREVIOUSPAGE': previouspage, 'subtitleId': subtitleid, 'typeId': typeid, 'filmId': filmid})
102+
postparams = {'__EVENTTARGET': 's$lc$bcr$downloadLink', '__EVENTARGUMENT': '', '__VIEWSTATE': viewstate, '__PREVIOUSPAGE': previouspage, 'subtitleId': subtitleid, 'typeId': typeid, 'filmId': filmid}
103+
#postparams = urllib3.request.urlencode({ '__EVENTTARGET': 's$lc$bcr$downloadLink', '__EVENTARGUMENT': '' , '__VIEWSTATE': viewstate, '__PREVIOUSPAGE': previouspage, 'subtitleId': subtitleid, 'typeId': typeid, 'filmId': filmid})
112104
#class MyOpener(urllib.FancyURLopener):
113105
#version = 'User-Agent=Mozilla/5.0 (Windows NT 6.1; rv:109.0) Gecko/20100101 Firefox/115.0'
114106
#my_urlopener = MyOpener()
115107
#my_urlopener.addheader('Referer', url)
116108
log(__name__, "%s Fetching subtitles using url '%s' with referer header '%s' and post parameters '%s'" % (debug_pretext, downloadlink, url, postparams))
117109
#response = my_urlopener.open(downloadlink, postparams)
118-
response = s.get(downloadlink, data=postparams, headers=HDR, verify=False, allow_redirects=True)
110+
response = requests.get(downloadlink, data=postparams, headers=HDR, verify=False, allow_redirects=True)
119111
#print(response.content)
120112
local_tmp_file = zip_subs
121113
try:
@@ -155,33 +147,36 @@ def download_subtitles(subtitles_list, pos, zip_subs, tmp_sub_dir, sub_folder, s
155147

156148
def get_subtitles_list(searchstring, title, languageshort, languagelong, subtitles_list):
157149
s = languagelong.lower()
158-
url = '%s/search?query=%s' % (main_url, quote_plus(searchstring))
150+
url = '%s/search/%s' % (main_url, searchstring)
151+
print(("url", url))
159152

160153
try:
161154
log(__name__, "%s Getting url: %s" % (debug_pretext, url))
162-
content = get_url(url, referer=main_url)
163-
subtitles = re.compile('(href="/subtitle/.+?<span)').findall(content)
155+
content = requests.get(url, headers).text
156+
#print(("content", content))
157+
subtitles = re.compile('(href="/subtitle/.*?"><div)').findall(content)
158+
#print(subtitles)
164159
subtitles = " ".join(subtitles)
165-
regx = '<a.+href="(.+?)">' + title + r'\s?<'
160+
regx = 'href="(.*?)"><div'
166161
downloadlink = re.findall(regx, subtitles, re.M | re.I)[0]
167162
#print(downloadlink)
168163
link = '%s%s/%s' % (main_url, downloadlink, s)
169-
content = get_url(link, referer=main_url)
170-
print(content)
164+
content = requests.get(link, headers).text
165+
#print(("content", content))
171166
subtitles = re.compile('(language":"' + s + '".+?},)').findall(content)
172-
#print(subtitles)
167+
#print(("subtitles", subtitles))
173168
except:
174169
log(__name__, "%s Failed to get subtitles" % (debug_pretext))
175170
return
176171
for subtitle in subtitles:
177172
try:
178173
filename = re.compile('"title":"(.+?)"').findall(subtitle)[0]
179174
filename = filename.strip()
180-
#print(filename)
175+
print(filename)
181176

182177
try:
183178
id = re.compile('"link":"(.+?)"').findall(subtitle)[0]
184-
#print(id)
179+
print(id)
185180
except:
186181
pass
187182

plugin/seekers/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ def _(txt):
1313
from .seeker import SubtitlesDownloadError, SubtitlesSearchError, SubtitlesErrors
1414
from .xbmc_subtitles import TitulkyComSeeker, \
1515
OpenSubtitlesSeeker, OpenSubtitlesMoraSeeker, OpenSubtitles2Seeker, SubdlSeeker, PodnapisiSeeker, SubscenebestSeeker, SubtitlesmoraSeeker, \
16-
TitloviSeeker, EdnaSeeker, SerialZoneSeeker, ElsubtitleSeeker, IndexsubtitleSeeker, MoviesubtitlesSeeker, Moviesubtitles2Seeker, MySubsSeeker, \
17-
SubsceneSeeker, SubsytsSeeker, SubtitlecatSeeker, SubtitlesGRSeeker, SubtitlistSeeker, ItasaSeeker, SubsourceSeeker
16+
TitloviSeeker, PrijevodiOnlineSeeker, MySubsSeeker, SubsourceSeeker, NovalermoraSeeker, ElsubtitleSeeker, \
17+
EdnaSeeker, SerialZoneSeeker, IndexsubtitleSeeker, MoviesubtitlesSeeker, Moviesubtitles2Seeker, SubsceneSeeker, SubsytsSeeker, SubtitlecatSeeker, SubtitlesGRSeeker, SubtitlistSeeker, ItasaSeeker

plugin/seekers/utilities.py

+19-19
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,25 @@ def log(module, msg):
140140
ISO6392_LANGNAME = dict(map(lambda lang: (lang[3], lang[0]), LANGUAGES))
141141

142142

143+
144+
def languageTranslate(lang, lang_from, lang_to):
145+
if lang_from == 0 and lang_to == 2:
146+
if lang in LANGNAME_ISO6391:
147+
return LANGNAME_ISO6391[lang]
148+
elif lang_from == 0 and lang_to == 3:
149+
if lang in LANGNAME_ISO6392:
150+
return LANGNAME_ISO6392[lang]
151+
if lang_from == 2 and lang_to == 0:
152+
if lang in ISO6391_LANGNAME:
153+
return ISO6391_LANGNAME[lang]
154+
elif lang_from == 3 and lang_to == 0:
155+
if lang in ISO6392_LANGNAME:
156+
return ISO6392_LANGNAME[lang]
157+
else:
158+
for x in LANGUAGES:
159+
if lang == x[lang_from]:
160+
return x[lang_to]
161+
143162
def allLang():
144163
return ["en",
145164
"fr",
@@ -195,25 +214,6 @@ def allLang():
195214
"vi"]
196215

197216

198-
def languageTranslate(lang, lang_from, lang_to):
199-
if lang_from == 0 and lang_to == 2:
200-
if lang in LANGNAME_ISO6391:
201-
return LANGNAME_ISO6391[lang]
202-
elif lang_from == 0 and lang_to == 3:
203-
if lang in LANGNAME_ISO6392:
204-
return LANGNAME_ISO6392[lang]
205-
if lang_from == 2 and lang_to == 0:
206-
if lang in ISO6391_LANGNAME:
207-
return ISO6391_LANGNAME[lang]
208-
elif lang_from == 3 and lang_to == 0:
209-
if lang in ISO6392_LANGNAME:
210-
return ISO6392_LANGNAME[lang]
211-
else:
212-
for x in LANGUAGES:
213-
if lang == x[lang_from]:
214-
return x[lang_to]
215-
216-
217217
def regex_movie(title):
218218
# from periscope
219219
movie_regexes = ['(?P<movie>.*)[\.|\[|\(| ]{1}(?P<year>(?:(?:19|20)[0-9]{2}))(?P<teams>.*)']

0 commit comments

Comments
 (0)