The branch, frodo has been updated
via 6f66594215d696fdbcfe794daed43bde4f93c339 (commit)
from f70fcafb3ac071819dc58c69cd28b8b48f4b03c9 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=6f66594215d696fdbcfe794daed43bde4f93c339
commit 6f66594215d696fdbcfe794daed43bde4f93c339
Author: amet <[email protected]>
Date: Sun Jul 7 17:25:00 2013 +0400
[script.xbmc.subtitles] -v 3.9.10
3.9.10
- [fix] serialzone.cz typo,Ondrej Bima
- [fix] extract other than zip archives,Ondrej Bima
- [add] edna.cz support,Ondrej Bima
- [fix] Handle bierdopje's HTTP error 429 (too many requests),mr-blobby
- [fix] edna.cz handle redirect as result of show search,Ondrej Bima
- [fix] Ondertitel service,marknl
diff --git a/script.xbmc.subtitles/addon.xml b/script.xbmc.subtitles/addon.xml
index e04c381..5c27e10 100644
--- a/script.xbmc.subtitles/addon.xml
+++ b/script.xbmc.subtitles/addon.xml
@@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.xbmc.subtitles"
name="XBMC Subtitles"
- version="3.9.9"
+ version="3.9.10"
provider-name="amet, mr_blobby">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
<import addon="script.module.beautifulsoup" version="3.0.8"/>
<import addon="script.module.mechanize" version="0.2.5"/>
+ <import addon="script.module.requests" version="1.1.0" />
</requires>
<extension point="xbmc.python.subtitles"
library="default.py" />
diff --git a/script.xbmc.subtitles/changelog.txt
b/script.xbmc.subtitles/changelog.txt
index 4d720fe..6fd13c2 100644
--- a/script.xbmc.subtitles/changelog.txt
+++ b/script.xbmc.subtitles/changelog.txt
@@ -1,3 +1,11 @@
+3.9.10
+- [fix] serialzone.cz typo,Ondrej Bima
+- [fix] extract other than zip archives,Ondrej Bima
+- [add] edna.cz support,Ondrej Bima
+- [fix] Handle bierdopje's HTTP error 429 (too many requests),mr-blobby
+- [fix] edna.cz handle redirect as result of show search,Ondrej Bima
+- [fix] Ondertitel service,marknl
+
3.9.9
- Add SerialZone.cz support,Ondrej Bima
- [fix] search on titulky.com,Ondrej Bima
diff --git a/script.xbmc.subtitles/resources/lib/gui.py
b/script.xbmc.subtitles/resources/lib/gui.py
index 5de5bab..cad7fd7 100644
--- a/script.xbmc.subtitles/resources/lib/gui.py
+++ b/script.xbmc.subtitles/resources/lib/gui.py
@@ -289,18 +289,24 @@ class GUI( xbmcgui.WindowXMLDialog ):
self.getControl( STATUS_LABEL ).setLabel( _( 763 ) )
else:
self.getControl( STATUS_LABEL ).setLabel( _( 649 ) )
- zip_subs = os.path.join( self.tmp_sub_dir, "zipsubs.zip")
- zipped, language, file =
self.Service.download_subtitles(self.subtitles_list,
+ compressed_subs = os.path.join( self.tmp_sub_dir, "compressed_subs.ext")
+ compressed, language, file =
self.Service.download_subtitles(self.subtitles_list,
pos,
- zip_subs,
+ compressed_subs,
self.tmp_sub_dir,
self.sub_folder,
self.session_id
)
sub_lang = str(languageTranslate(language,0,2))
- if zipped :
- self.Extract_Subtitles(zip_subs,sub_lang, gui)
+ if compressed:
+ # backward compatibility
+ if (file == ""):
+ file = "zip"
+ suffixed_compressed_subs = re.sub("\.ext$",".%s" % file,compressed_subs)
+ os.rename(compressed_subs,suffixed_compressed_subs)
+ log(__name__,"Extracting %s" % suffixed_compressed_subs)
+ self.Extract_Subtitles(suffixed_compressed_subs,sub_lang, gui)
else:
sub_ext = os.path.splitext( file )[1]
if self.temp:
@@ -419,7 +425,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
os.path.splitext( zip_entry )[1] )
else:
file_name = u"%s%s" % ( name, os.path.splitext( zip_entry )[1] )
- log( __name__ ,"Sub in Zip [%s], File Name [%s]" % (zip_entry,
+ log( __name__ ,"Sub in Archive [%s], File Name [%s]" % (zip_entry,
file_name,))
ret_zip_entry =
xbmc.validatePath(os.path.join(self.tmp_sub_dir,zip_entry)).decode("utf-8")
ret_file_name =
xbmc.validatePath(os.path.join(self.sub_folder,file_name)).decode("utf-8")
diff --git a/script.xbmc.subtitles/resources/lib/services/Bierdopje/service.py
b/script.xbmc.subtitles/resources/lib/services/Bierdopje/service.py
index 977a829..0d4b868 100644
--- a/script.xbmc.subtitles/resources/lib/services/Bierdopje/service.py
+++ b/script.xbmc.subtitles/resources/lib/services/Bierdopje/service.py
@@ -13,12 +13,14 @@ apikey = "369C2ED4261DE9C3"
showids_filename = os.path.join( __profile__ ,"bierdopje_show_ids.txt" )
sleeptime = 0.6
releases_types = ['web-dl', '480p', '720p', '1080p', 'h264', 'x264', 'xvid',
'aac20', 'hdtv', 'dvdrip', 'ac3', 'bluray', 'dd51', 'divx', 'proper', 'repack',
'pdtv', 'rerip', 'dts']
+overloaded = False
#====================================================================================================================
# Functions
#====================================================================================================================
def apicall(command, paramslist):
+ global overloaded
time.sleep(sleeptime)
url = apiurl + apikey + "/" + command
for param in paramslist:
@@ -32,11 +34,15 @@ def apicall(command, paramslist):
if hasattr(e, 'reason'):
log( __name__ ," failed to reach Bierdopje site, reason: '%s'." %
e.reason )
okdialog = xbmcgui.Dialog()
- ok = okdialog.ok("Error", "Failed to reach Bierdopje." % e.reason)
+ ok = okdialog.ok("Error", "Failed to reach Bierdopje: '%s'." %
e.reason)
elif hasattr(e, 'code'):
- log( __name__ ," Bierdopje site couldn't fulfill the request, HTTP
code: '%s'." % e.code )
- okdialog = xbmcgui.Dialog()
- ok = okdialog.ok("Error", "Bierdopje couldn't fulfill the
request." % e.code)
+ if e.code == 429: # HTTP Error 429 means: "Too Many Requests"
+ log( __name__ ," Bierdopje is overloaded (HTTP error 429: Too
many requests). Reply from bierdopje:\n%s" % e.read() )
+ overloaded = True
+ else:
+ log( __name__ ," Bierdopje site couldn't fulfill the request,
HTTP code: '%s'." % e.code )
+ okdialog = xbmcgui.Dialog()
+ ok = okdialog.ok("Error", "Bierdopje couldn't fulfill the
request, HTTP code: '%s'." % e.code)
else:
log( __name__ ," unkown error while contacting Bierdopje site")
okdialog = xbmcgui.Dialog()
@@ -78,7 +84,10 @@ def getshowid(showname):
if showid is None:
tvdbid = getShowId()
if tvdbid:
- response = apicall("GetShowByTVDBID",[tvdbid])
+ if not overloaded:
+ response = apicall("GetShowByTVDBID",[tvdbid])
+ if overloaded:
+ return None
if response is not None:
showid = gettextelements(response,"response/showid")
if len(showid) == 1:
@@ -86,7 +95,10 @@ def getshowid(showname):
showids[showname] = str(showid[0])
file(showids_filename,'w').write(repr(showids))
return str(showid[0])
- response = apicall("GetShowByName",[showname])
+ if not overloaded:
+ response = apicall("GetShowByName",[showname])
+ if overloaded:
+ return None
if response is not None:
showid = gettextelements(response,"response/showid")
if len(showid) == 1:
@@ -95,7 +107,10 @@ def getshowid(showname):
file(showids_filename,'w').write(repr(showids))
return str(showid[0])
if (showid is None) and ("'" in showname):
- response = apicall("GetShowByName",[string.replace(showname,"'","''")])
+ if not overloaded:
+ response =
apicall("GetShowByName",[string.replace(showname,"'","''")])
+ if overloaded:
+ return None
if response is not None:
showid = gettextelements(response,"response/showid")
if len(showid) == 1:
@@ -154,7 +169,10 @@ def isexactmatch(subsfile, videofile):
def getallsubs(showid, file_original_path, tvshow, season, episode,
languageshort, languagelong, subtitles_list):
not_sync_list = []
- response = apicall("GetAllSubsFor",[showid, str(season), str(episode),
languageshort])
+ if not overloaded:
+ response = apicall("GetAllSubsFor",[showid, str(season), str(episode),
languageshort])
+ if overloaded:
+ response = None
if response is not None:
filenames =
gettextelements(response,"response/results/result/filename")
downloadlinks =
gettextelements(response,"response/results/result/downloadlink")
@@ -200,6 +218,8 @@ def search_subtitles( file_original_path, title, tvshow,
year, season, episode,
msg = "Won't work, Bierdopje is only for Dutch and English
subtitles."
else:
msg = "Won't work, Bierdopje is only for tv shows."
+ if overloaded:
+ msg = _(755)
return subtitles_list, "", msg #standard output
def download_subtitles (subtitles_list, pos, zip_subs, tmp_sub_dir,
sub_folder, session_id): #standard input
diff --git a/script.xbmc.subtitles/resources/lib/services/Ondertitel/service.py
b/script.xbmc.subtitles/resources/lib/services/Ondertitel/service.py
index 8e853ac..5f37b48 100644
--- a/script.xbmc.subtitles/resources/lib/services/Ondertitel/service.py
+++ b/script.xbmc.subtitles/resources/lib/services/Ondertitel/service.py
@@ -1,6 +1,6 @@
# -*- coding: UTF-8 -*-
-import os, sys, re, xbmc, xbmcgui, string, urllib, urllib2
+import os, sys, re, xbmc, xbmcgui, string, urllib, requests
from utilities import log
_ = sys.modules[ "__main__" ].__language__
@@ -9,21 +9,28 @@ main_url = "http://ondertitel.com/"
debug_pretext = ""
releases_types = ['web-dl', '480p', '720p', '1080p', 'h264', 'x264', 'xvid',
'aac20', 'hdtv', 'dvdrip', 'ac3', 'bluray', 'dd51', 'divx', 'proper', 'repack',
'pdtv', 'rerip', 'dts']
+FETCH_NORMAL = 0
+FETCH_COOKIE = 1
+FETCH_SUBTITLE = 2
+
#====================================================================================================================
# Regular expression patterns
#====================================================================================================================
# subtitle pattern example:
"""
-<a href="/ondertitels/info/(500)-Days-of-Summer/44032.html" title="ondertitel
(500) Days of Summer" style="color: #000;">(500) Days of Summer</a></strong>
<img src="/images/nederlandse_vlag.jpg" height="11" width="18"></div> <div
style="float:left;"><a href="http://www.imdb.com/title/tt1022603/"
target="_blank"><img src="/images/imdb_logo.gif" border="0"></a> </div><br
clear="both"></div>
- <div style="width:
490px; overflow:hidden; overflow:hidden"><font style="font-size: 11px; color:
#444445;"><i>500.Days.of.Summer.2009.720p.BluRay.DTS.x264-WiKi</i></font><br></div>
+<a href="/ondertitels/info/Dead-Man-Down/62137.html" style="color: #161616;"
class="recent" id="<div class='div_ondertit_afbeeling'><img
src='http://ondertitel.com/movie_images/ondertitelcom_84723_902.jpg' alt=''
height='178'><div class='div_ondertit_afbeeling_p'>Poster:
<strong>demario</strong></div></div>">Dead Man Down</a></strong> <img
src="/images/nederlandse_vlag.jpg" height="11">
+ </div>
+ </div>
+ <div class="div_ondertitel_r_pos">
+ <a
href="http://www.imdb.com/title/tt2101341/?ref_=sr_1" target="_blank"><img
src="/images/imdb_logo.gif" border="0"></a> <img
src="/images/good_rate_small.png" height="17"> <font
class="font_color_g">1</font>
+ </div>
+ <br clear="both">
+
+ <div class="div_ondertitel_vers">
+ <i
class="i_font">Dead.Man.Down.2013.DVDRip.XVID.AC3.HQ.Hive-CM8 1 CD</i>
"""
-### Old pattern.
-#subtitle_pattern = "<a href=\"(/ondertitels/info/[^/\n\r\t]+/\d+?\.html)\"
title=\"[^/\n\r\t]+\" style=\"color: #000;\">[^\n\r\t]*?[\n\r\t]+\
-#<div style=\"width: 490px; overflow:hidden; overflow:hidden\"><font
style=\"font-size: 11px; color:
#444445;\"><i>([^\n\r\t<]+?)</i></font><br></div>"
-
-### HTML in the search results changed. This pattern fix it. ###
-subtitle_pattern = "<a href=\"(/ondertitels/info/.+?.html)\" style=\"color:
#161616;\">.+?[\r\n\t].+?<i>(.+?)</i></font></div>"
+subtitle_pattern = "<a href=\"(/ondertitels/info/.+?)\".+?<i
class=\"i_font\">(.+?)<\/i>"
# group(1) = link, group(2) = filename
@@ -37,116 +44,112 @@ downloadlink_pattern = "<a
href=\"/(getdownload\.php\?id=\d{1,10}&userfile=[^\n\
#====================================================================================================================
# Functions
#====================================================================================================================
-
def getallsubs(content, title, moviefile, subtitles_list):
- for matches in re.finditer(subtitle_pattern, content, re.IGNORECASE |
re.DOTALL):
- link = matches.group(1)
- filename = matches.group(2)
- log( __name__ ,"%s Subtitles found: %s (link=%s)" % (debug_pretext,
filename, link))
- if isexactmatch(filename, moviefile):
- sync = True
- rating = 10
- else:
- rating = getrating(filename, moviefile)
- sync = False
- subtitles_list.append({'rating': str(rating), 'no_files': 1,
'movie': title, 'filename': filename, 'sync': sync, 'link': link,
'language_flag': 'flags/nl.gif', 'language_name': 'Dutch'})
+ for matches in re.finditer(subtitle_pattern, content, re.IGNORECASE |
re.DOTALL):
+ link = matches.group(1)
+ filename = matches.group(2)
+ log( __name__ ,"%s Subtitles found: %s (link=%s)" %
(debug_pretext, filename, link))
+ if isexactmatch(filename, moviefile):
+ sync = True
+ rating = 10
+ else:
+ rating = getrating(filename, moviefile)
+ sync = False
+ subtitles_list.append({'rating': str(rating), 'no_files': 1,
'movie': title, 'filename': filename, 'sync': sync, 'link': link,
'language_flag': 'flags/nl.gif', 'language_name': 'Dutch'})
def getrating(subsfile, videofile):
- rating = 0
- videofile = "".join(string.split(videofile, '.')[:-1])
- videofile = string.lower(videofile)
- subsfile = string.lower(subsfile)
- videofile = string.replace(videofile, '.', '')
- subsfile = string.replace(subsfile, '.', '')
- for release_type in releases_types:
- if (release_type in videofile) and (release_type in subsfile): rating
+= 1
- if string.split(videofile, '-')[-1] == string.split(subsfile, '-')[-1] :
rating += 1
- if rating > 0:
- rating = rating * 2 - 1
- if rating > 9: rating = 9
- return rating
+ rating = 0
+ videofile = string.replace(string.lower("".join(string.split(videofile,
'.')[:-1])), '.', '')
+ subsfile = string.replace(string.lower(subsfile), '.', '')
+ for release_type in releases_types:
+ if (release_type in videofile) and (release_type in subsfile):
+ rating += 1
+ if string.split(videofile, '-')[-1] == string.split(subsfile, '-')[-1]:
+ rating += 1
+ if rating > 0:
+ rating = rating * 2 - 1
+ if rating > 9:
+ rating = 9
+ return rating
def isexactmatch(subsfile, videofile):
- videofile = "".join(string.split(videofile, '.')[:-1])
- videofile = string.lower(videofile)
- videofile = string.replace(videofile, ' ', '.')
- videofile = string.replace(videofile, '.', '')
- subsfile = string.replace(subsfile, '.', '')
- subsfile = string.lower(subsfile)
- log( __name__ ," comparing subtitle file with videofile
(sync?):\nsubtitlesfile = '%s'\nvideofile = '%s'" % (subsfile, videofile)
)
- if string.find(subsfile, videofile) > -1:
- log( __name__ ," found matching subtitle file, marking it as 'sync':
'%s'" % (subsfile) )
- return True
- else:
- return False
+ videofile =
string.replace(string.replace(string.lower("".join(string.split(videofile,
'.')[:-1])), ' ', '.'), '.', '')
+ subsfile = string.replace(string.lower(subsfile), '.', '')
+ log( __name__ ," comparing subtitle file with videofile
(sync?):\nsubtitlesfile = '%s'\nvideofile = '%s'" % (subsfile, videofile)
)
+ if string.find(subsfile, videofile) > -1:
+ log( __name__ ," found matching subtitle file, marking it as
'sync': '%s'" % (subsfile) )
+ return True
+ else:
+ return False
def getdownloadlink(content):
- link = None
- i = 0
- for matches in re.finditer(downloadlink_pattern, content, re.IGNORECASE |
re.DOTALL):
- link = matches.group(1)
- i = i + 1
- if i == 1:
- return link
- else:
- return None
-
-
-def geturl(url):
- log( __name__ ,"%s Getting url:%s" % (debug_pretext, url))
- try:
- response = urllib2.urlopen(url)
- content = response.read()
- return_url = response.geturl()
- except:
- log( __name__ ,"%s Failed to get url:%s" % (debug_pretext, url))
- content = None
- return_url = None
- return(content, return_url)
-
-
-def search_subtitles( file_original_path, title, tvshow, year, season,
episode, set_temp, rar, lang1, lang2, lang3, stack ): #standard input
- subtitles_list = []
- msg = ""
- log( __name__ ,"%s Title = %s" % (debug_pretext, title))
- if len(tvshow) == 0: # only process movies
- url = main_url + "zoeken.php?type=1&trefwoord=" +
urllib.quote_plus(title)
- Dutch = False
- if (string.lower(lang1) == "dutch") or (string.lower(lang2) ==
"dutch") or (string.lower(lang3) == "dutch"):
- Dutch = True
- content, response_url = geturl(url)
- if content is not None:
- log( __name__ ,"%s Getting subs ..." % debug_pretext)
- moviefile = os.path.basename(file_original_path)
- getallsubs(content, title, moviefile, subtitles_list)
- subtitles_list.sort(key=lambda x: [ x['sync'], x['rating']],
reverse = True)
- else:
- log( __name__ ,"%s Dutch language is not selected" %
(debug_pretext))
- msg = "Won't work, Ondertitel is only for Dutch subtitles."
- else:
- log( __name__ ,"%s Tv show detected: %s" % (debug_pretext, tvshow))
- msg = "Won't work, Ondertitel is only for movies."
- return subtitles_list, "", msg #standard output
-
+ link = None
+ i = 0
+ for matches in re.finditer(downloadlink_pattern, content, re.IGNORECASE
| re.DOTALL):
+ link = matches.group(1)
+ i = i + 1
+ if i == 1:
+ return link
+ else:
+ return None
+
+def geturl(url, action=FETCH_NORMAL, cookiedata=''):
+ log( __name__ ,"%s Getting url:%s" % (debug_pretext, url))
+ try:
+ if action == FETCH_SUBTITLE:
+ r = requests.get(url, cookies=cookiedata)
+ return r.content
+ elif action == FETCH_COOKIE:
+ r = requests.get(url)
+ return (r.text, r)
+ else:
+ r = requests.get(url)
+ return r.text
+ except:
+ log( __name__ ,"%s Failed to get url:%s" % (debug_pretext, url))
+ return None
+
+def search_subtitles(file_original_path, title, tvshow, year, season, episode,
set_temp, rar, lang1, lang2, lang3, stack): #standard input
+ subtitles_list = []
+ msg = ""
+ log( __name__ ,"%s Title = %s" % (debug_pretext, title))
+ if len(tvshow) == 0: # only process movies
+ url = main_url + "zoeken.php?type=1&trefwoord=" +
urllib.quote_plus(title)
+ Dutch = False
+ if (string.lower(lang1) == "dutch") or (string.lower(lang2) ==
"dutch") or (string.lower(lang3) == "dutch"):
+ Dutch = True
+ content = geturl(url, FETCH_NORMAL)
+ if content is not None:
+ log( __name__ ,"%s Getting subs ..." %
debug_pretext)
+ moviefile = os.path.basename(file_original_path)
+ getallsubs(content, title, moviefile,
subtitles_list)
+ subtitles_list.sort(key=lambda x: [ x['sync'],
x['rating']], reverse = True)
+ else:
+ log( __name__ ,"%s Dutch language is not selected" %
(debug_pretext))
+ msg = "Won't work, Ondertitel is only for Dutch
subtitles."
+ else:
+ log( __name__ ,"%s Tv show detected: %s" % (debug_pretext,
tvshow))
+ msg = "Won't work, Ondertitel is only for movies."
+ return subtitles_list, "", msg #standard output
def download_subtitles (subtitles_list, pos, zip_subs, tmp_sub_dir,
sub_folder, session_id): #standard input
- url = main_url + subtitles_list[pos][ "link" ]
- local_tmp_file = zip_subs
- content, response_url = geturl(url)
- downloadlink = getdownloadlink(content)
- if downloadlink is not None:
- try:
- url = main_url + downloadlink
- url = string.replace(url," ","+")
- log( __name__ ,"%s Fetching subtitles using url %s" %
(debug_pretext, url))
- content, response_url = geturl(url)
- if content is not None:
- log( __name__ ,"%s Saving subtitles to '%s'" % (debug_pretext,
local_tmp_file))
- local_file_handle = open(local_tmp_file, "w" + "b")
- local_file_handle.write(content)
- local_file_handle.close()
- except:
- log( __name__ ,"%s Failed to save subtitles to '%s'" %
(debug_pretext, local_tmp_file))
- log( __name__ ,"%s Subtitles saved to '%s'" % (debug_pretext,
local_tmp_file))
- language = subtitles_list[pos][ "language_name" ]
- return True, language, "" #standard output
+ url = main_url + subtitles_list[pos][ "link" ]
+ local_tmp_file = zip_subs
+ content, cookie = geturl(url, FETCH_COOKIE)
+ downloadlink = getdownloadlink(content)
+ if downloadlink is not None:
+ try:
+ url = main_url + downloadlink
+ url = string.replace(url," ","+")
+ log( __name__ ,"%s Fetching subtitles using url %s -
and cookie: %s" % (debug_pretext, url, cookie.cookies))
+ content = geturl(url, FETCH_SUBTITLE, cookie.cookies)
+ if content is not None:
+ log( __name__ ,"%s Saving subtitles to '%s'" %
(debug_pretext, local_tmp_file))
+ local_file_handle = open(local_tmp_file, "w" +
"b")
+ local_file_handle.write(content)
+ local_file_handle.close()
+ except:
+ log( __name__ ,"%s Failed to save subtitles to '%s'" %
(debug_pretext, local_tmp_file))
+ log( __name__ ,"%s Subtitles saved to '%s'" % (debug_pretext,
local_tmp_file))
+ language = subtitles_list[pos][ "language_name" ]
+ return True, language, "" #standard output
diff --git a/script.xbmc.subtitles/resources/lib/services/SerialZone/service.py
b/script.xbmc.subtitles/resources/lib/services/SerialZone/service.py
index 6991388..a686068 100644
--- a/script.xbmc.subtitles/resources/lib/services/SerialZone/service.py
+++ b/script.xbmc.subtitles/resources/lib/services/SerialZone/service.py
@@ -41,7 +41,7 @@ def search_subtitles( file_original_path, title, tvshow,
year, season, episode,
try:
file_size, file_hash = hashFile(file_original_path, rar)
except:
- file_size. file_hash = -1, None
+ file_size, file_hash = -1, None
log(__name__, "File size: " + str(file_size))
found_season_subtitles = cli.list_show_subtitles(tvshow_url,season)
diff --git a/script.xbmc.subtitles/resources/settings.xml
b/script.xbmc.subtitles/resources/settings.xml
index e3319f2..ba31727 100644
--- a/script.xbmc.subtitles/resources/settings.xml
+++ b/script.xbmc.subtitles/resources/settings.xml
@@ -14,6 +14,8 @@
<setting id="Divxplanet" type="bool" label="Divxplanet.com (English and
Turkish subs only)" default="false"/>
+ <setting id="Edna" type="bool" label="Edna.cz (Czech and Slovak subs
only)" default="false"/>
+
<setting id="euTorrents" type="bool" label="eutorrents.me"
default="false"/>
<setting id="euTuser" type="text" visible= "eq(-1,true)"
enable="eq(-1,true)" label="30148" default=""/>
<setting id="euTpass" type="text" option = "hidden" visible=
"eq(-2,true)" enable="eq(-2,true)" label="30149" default=""/>
-----------------------------------------------------------------------
Summary of changes:
script.xbmc.subtitles/addon.xml | 3 +-
script.xbmc.subtitles/changelog.txt | 8 +
script.xbmc.subtitles/resources/lib/gui.py | 18 +-
.../resources/lib/services/Bierdopje/service.py | 36 +++-
.../resources/lib/services/Edna}/__init__.py | 0
.../resources/lib/services/Edna/logo.png | Bin 0 -> 8132 bytes
.../resources/lib/services/Edna/service.py | 155 +++++++++++++
.../resources/lib/services/Ondertitel/service.py | 229 ++++++++++----------
.../resources/lib/services/SerialZone/service.py | 2 +-
script.xbmc.subtitles/resources/settings.xml | 2 +
10 files changed, 324 insertions(+), 129 deletions(-)
copy {script.cu.lrclyrics/resources/lib/culrcscrapers =>
script.xbmc.subtitles/resources/lib/services/Edna}/__init__.py (100%)
create mode 100644 script.xbmc.subtitles/resources/lib/services/Edna/logo.png
create mode 100644 script.xbmc.subtitles/resources/lib/services/Edna/service.py
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons