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

Reply via email to