The branch, frodo has been updated
       via  eaac63d26560f5efe1a04cfa7644348b68a76220 (commit)
      from  2b92701b50b03025b1ca446bbb3e5615dc9fee7d (commit)

- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=eaac63d26560f5efe1a04cfa7644348b68a76220

commit eaac63d26560f5efe1a04cfa7644348b68a76220
Author: amet <[email protected]>
Date:   Tue Jun 18 23:30:50 2013 +0400

    [script.xbmc.subtitles] -v3.9.9
    
    3.9.9
    - Add SerialZone.cz support,Ondrej Bima
    - [fix] search on titulky.com,Ondrej Bima
    - [fix] onFocus logic, cosmetics. ronie
    - [fix] subdivx service, EnricGodes

diff --git a/script.xbmc.subtitles/addon.xml b/script.xbmc.subtitles/addon.xml
index 47e7ca6..e04c381 100644
--- a/script.xbmc.subtitles/addon.xml
+++ b/script.xbmc.subtitles/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="script.xbmc.subtitles"
        name="XBMC Subtitles"
-       version="3.9.8"
+       version="3.9.9"
        provider-name="amet, mr_blobby">
   <requires>
     <import addon="xbmc.python" version="2.1.0"/>
diff --git a/script.xbmc.subtitles/changelog.txt 
b/script.xbmc.subtitles/changelog.txt
index 1e6c637..4d720fe 100644
--- a/script.xbmc.subtitles/changelog.txt
+++ b/script.xbmc.subtitles/changelog.txt
@@ -1,3 +1,9 @@
+3.9.9
+- Add SerialZone.cz support,Ondrej Bima
+- [fix] search on titulky.com,Ondrej Bima
+- [fix] onFocus logic, cosmetics. ronie
+- [fix] subdivx service, EnricGodes
+
 3.9.8
 - [fix] Modified Torec plugin directory structure, Mor Sela
 - [fix] Modified how Subscene handles packed files to remove unnecessary 3s 
sleep, IcE
diff --git a/script.xbmc.subtitles/resources/lib/gui.py 
b/script.xbmc.subtitles/resources/lib/gui.py
index 3706a5c..5de5bab 100644
--- a/script.xbmc.subtitles/resources/lib/gui.py
+++ b/script.xbmc.subtitles/resources/lib/gui.py
@@ -45,6 +45,7 @@ class GUI( xbmcgui.WindowXMLDialog ):
     self.rar             = False
     self.stack           = False
     self.autoDownload    = False
+    self.focused         = False
     use_subs_folder      = __addon__.getSetting( "use_subs_folder" ) == "true" 
          # use 'Subs' subfolder for storing subtitles
     movieFullPath        = 
urllib.unquote(xbmc.Player().getPlayingFile().decode('utf-8'))# Full path of a 
playing file
     useMovieFolderForSubs= __addon__.getSetting( "subfolder" ) == "true"       
          # True for movie folder
@@ -149,7 +150,6 @@ class GUI( xbmcgui.WindowXMLDialog ):
 
       self.service_list = service_list
       self.next = list(service_list)
-      self.controlId = -1
 
       log( __name__ ,"Addon Version: [%s]"         % __version__)
       log( __name__ ,"Manual Search : [%s]"        % self.mansearch)
@@ -502,17 +502,15 @@ class GUI( xbmcgui.WindowXMLDialog ):
 
   def onFocus( self, controlId ):
     if controlId == 150:
-      try:
-        select_index = self.service_list.index(self.service)
-      except IndexError:
-        select_index = 0
-      self.getControl( SERVICES_LIST ).selectItem(select_index)
-    self.controlId = controlId
-    try:
-      if controlId == 8999:
-        self.setFocusId( 150 )
-    except:
-      pass
+      if not self.focused:
+        try:
+          select_index = self.service_list.index(self.service)
+        except IndexError:
+          select_index = 0
+        self.getControl( SERVICES_LIST ).selectItem(select_index)
+        self.focused = True
+    else:
+      self.focused = False
 
   def onAction( self, action ):
     if ( action.getId() in CANCEL_DIALOG):
diff --git a/script.xbmc.subtitles/resources/lib/services/Subdivx/service.py 
b/script.xbmc.subtitles/resources/lib/services/Subdivx/service.py
index 7a99d46..aa64e87 100644
--- a/script.xbmc.subtitles/resources/lib/services/Subdivx/service.py
+++ b/script.xbmc.subtitles/resources/lib/services/Subdivx/service.py
@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
-
 # Subdivx.com subtitles, based on a mod of Undertext subtitles
+# Adaptation: [email protected] | Please use email address for your 
comments
+
 import os, sys, re, xbmc, xbmcgui, string, time, urllib, urllib2
 from utilities import log
 _ = sys.modules[ "__main__" ].__language__
@@ -15,16 +16,14 @@ debug_pretext = "subdivx"
 
 
 #Subtitle pattern example:
-"""
-<div id="menu_titulo_buscador"><a class="titulo_menu_izq" 
href="http://www.subdivx.com/X6XMjEzMzIyX-iron-man-2-2010.html";>Iron Man 2 
(2010)</a></div>
-<img src="img/calif5.gif" class="detalle_calif">
-</div><div id="buscador_detalle">
-<div id="buscador_detalle_sub">Para la versión 
Iron.Man.2.2010.480p.BRRip.XviD.AC3-EVO, sacados de acá. 
¡Disfruten!</div><div id="buscador_detalle_sub_datos"><b>Downloads:</b> 4673 
<b>Cds:</b> 1 <b>Comentarios:</b> <a rel="nofollow" 
href="popcoment.php?idsub=MjEzMzIy" onclick="return hs.htmlExpand(this, { 
objectType: 'iframe' } )">14</a> <b>Formato:</b> SubRip <b>Subido por:</b> <a 
class="link1" href="http://www.subdivx.com/X9X303157";>TrueSword</a> <img 
src="http://www.subdivx.com/pais/2.gif"; width="16" height="12"> <b>el</b> 
06/09/2010  <a rel="nofollow" target="new" 
href="http://www.subdivx.com/bajar.php?id=213322&u=6";><img src="bajar_sub.gif" 
border="0"></a></div></div>
-<div id="menu_detalle_buscador">
-"""
+#<div id="menu_titulo_buscador"><a class="titulo_menu_izq" 
href="http://www.subdivx.com/X6XMjEzMzIyX-iron-man-2-2010.html";>Iron Man 2 
(2010)</a></div>
+#<img src="img/calif5.gif" class="detalle_calif">
+#</div><div id="buscador_detalle">
+#<div id="buscador_detalle_sub">Para la versión 
Iron.Man.2.2010.480p.BRRip.XviD.AC3-EVO, sacados de acá. 
¡Disfruten!</div><div id="buscador_detalle_sub_datos"><b>Downloads:</b> 4673 
<b>Cds:</b> 1 <b>Comentarios:</b> <a rel="nofollow" 
href="popcoment.php?idsub=MjEzMzIy" onclick="return hs.htmlExpand(this, { 
objectType: 'iframe' } )">14</a> <b>Formato:</b> SubRip <b>Subido por:</b> <a 
class="link1" href="http://www.subdivx.com/X9X303157";>TrueSword</a> <img 
src="http://www.subdivx.com/pais/2.gif"; width="16" height="12"> <b>el</b> 
06/09/2010  </a></div></div>
+#<div id="menu_detalle_buscador">
 
-subtitle_pattern =  
"<div\sid=\"buscador_detalle_sub\">(.+?)</div><div\sid=\"buscador_detalle_sub_datos\"><b>Downloads:</b>(.+?)<b>Cds:</b>(.+?)<b>Comentarios:</b>\s.+?\s<b>Formato:</b>.+?<b>Subido\spor:</b>\s<a\sclass=\"link1\"\shref=.+?</a>\s<.+?>.*?<a\srel=\"nofollow\"\starget=\"new\"\shref=\"http://www.subdivx.com/bajar.php\?id=(.+?)&u=(.+?)\">"
-# group(1) = user comments, may content filename, group(2)= downloads used for 
ratings, group(3) = #files, group(4) = id, group(5) = server
+subtitle_pattern =  
"<a\sclass=\"titulo_menu_izq\"\shref=\"http://www.subdivx.com/(.+?).html\">.+?<div\sid=\"buscador_detalle_sub\">(.*?)</div>.+?<b>Downloads:</b>(.+?)<b>Cds:</b>.+?</div></div>"
+# group(1) = id to fetch the subs files, group(2) = user comments, may content 
filename, group(3)= downloads used for ratings
 
 
 
@@ -42,15 +41,15 @@ def getallsubs(searchstring, languageshort, languagelong, 
file_original_path, su
     log( __name__ ,u"%s Getting '%s' subs ..." % (debug_pretext, 
languageshort))
     while re.search(subtitle_pattern, content, re.IGNORECASE | re.DOTALL | 
re.MULTILINE | re.UNICODE):
         for matches in re.finditer(subtitle_pattern, content, re.IGNORECASE | 
re.DOTALL | re.MULTILINE | re.UNICODE):
-            id = matches.group(4)
-            no_files = matches.group(3)
-            server = matches.group(5)
-            downloads = int(re.sub(r',','',matches.group(2))) / 1000
+            id = matches.group(1)
+            downloads = int(re.sub(r',','',matches.group(3))) / 1000
             if (downloads > 10):
                 downloads=10
-            filename = string.strip(matches.group(1))
+            filename = string.strip(matches.group(2))
             #Remove new lines on the commentaries
             filename = re.sub('\n',' ',filename)
+            #Remove Google Ads on the commentaries
+            filename = re.sub(r'<script.+?script>','', filename, re.IGNORECASE 
| re.DOTALL | re.MULTILINE | re.UNICODE)
             #Remove HTML tags on the commentaries
             filename = re.sub(r'<[^<]+?>','', filename)
             #Find filename on the comentaries to show sync label
@@ -64,10 +63,16 @@ def getallsubs(searchstring, languageshort, languagelong, 
file_original_path, su
                 pass
             #Find filename on the commentaries and put it in front
             title_first_word = re.split('[\W]+', searchstring)
-            version = re.search(title_first_word[0],filename, re.IGNORECASE | 
re.DOTALL | re.MULTILINE | re.UNICODE)
-            if version != None:
-                filename = filename[version.start():] + " " + filename[: 
version.start()]
-            subtitles_list.append({'rating': str(downloads), 'no_files': 
no_files, 'filename': filename, 'sync': sync, 'id' : id, 'server' : server, 
'language_flag': 'flags/' + languageshort + '.gif', 'language_name': 
languagelong})
+            comments_list = re.split('\s', filename)
+            n = 0
+            version = None
+            while n<len(comments_list) and version == None:
+                version = re.search(title_first_word[0],comments_list[n], 
re.IGNORECASE | re.DOTALL | re.MULTILINE | re.UNICODE)
+                n=n+1
+            if version:
+                filename = comments_list[n-1] + " | " + filename
+            #End search filename
+            subtitles_list.append({'rating': str(downloads), 'filename': 
filename, 'sync': sync, 'id' : id, 'language_flag': 'flags/' + languageshort + 
'.gif', 'language_name': languagelong})
         page = page + 1
         url = main_url + "index.php?accion=5&masdesc=&oxdown=1&pg=" + 
str(page) + "&buscar=" + urllib.quote_plus(searchstring)
         content = geturl(url)
@@ -82,8 +87,6 @@ def getallsubs(searchstring, languageshort, languagelong, 
file_original_path, su
 
 
 
-
-
 def geturl(url):
     class MyOpener(urllib.FancyURLopener):
         version = ''
@@ -120,20 +123,20 @@ def search_subtitles( file_original_path, title, tvshow, 
year, season, episode,
     return subtitles_list, "", msg #standard output
 
 
+
 def download_subtitles (subtitles_list, pos, zip_subs, tmp_sub_dir, 
sub_folder, session_id): #standard input
     id = subtitles_list[pos][ "id" ]
-    server = subtitles_list[pos][ "server" ]
+    url = main_url + str(id) #get the page with the subtitle link, ie 
http://www.subdivx.com/X6XMjE2NDM1X-iron-man-2-2010
+    content = geturl(url)
+    match=re.compile('bajar.php\?id=(.*?)&u=(.*?)\"',re.IGNORECASE | re.DOTALL 
| re.MULTILINE | re.UNICODE).findall(content)
+
     language = subtitles_list[pos][ "language_name" ]
-    if string.lower(language) == "spanish":
-        url = main_url + "bajar.php?id=" + id + "&u=" + server
-    log( __name__ ,u"%s Fetching subtitles using url %s" % (debug_pretext, 
url))
+    url = main_url + "bajar.php?id=" + match[0][0] + "&u=" + match[0][1]
     content = geturl(url)
     if content is not None:
         header = content[:4]
         if header == 'Rar!':
-            log( __name__ ,u"%s subdivx: el contenido es RAR" % 
(debug_pretext)) #EGO
             local_tmp_file = os.path.join(tmp_sub_dir, "subdivx.rar")
-            log( __name__ ,u"%s subdivx: local_tmp_file %s" % (debug_pretext, 
local_tmp_file)) #EGO
             packed = True
         elif header == 'PK':
             local_tmp_file = os.path.join(tmp_sub_dir, "subdivx.zip")
@@ -144,7 +147,6 @@ def download_subtitles (subtitles_list, pos, zip_subs, 
tmp_sub_dir, sub_folder,
             packed = False
         log( __name__ ,u"%s Saving subtitles to '%s'" % (debug_pretext, 
local_tmp_file))
         try:
-            log( __name__ ,u"%s subdivx: escribo en %s" % (debug_pretext, 
local_tmp_file)) #EGO
             local_file_handle = open(local_tmp_file, "wb")
             local_file_handle.write(content)
             local_file_handle.close()
diff --git a/script.xbmc.subtitles/resources/lib/services/Titulky/service.py 
b/script.xbmc.subtitles/resources/lib/services/Titulky/service.py
index 053e221..45d9a45 100644
--- a/script.xbmc.subtitles/resources/lib/services/Titulky/service.py
+++ b/script.xbmc.subtitles/resources/lib/services/Titulky/service.py
@@ -165,10 +165,10 @@ class TitulkyClient(object):
                                        item['sync'] = sync_found.group('data')
                                item['tvshow'] = 
re.search('((.+?)</td>){2}[^>]+>(?P<data>[^<]+)',row.group(1),re.IGNORECASE | 
re.DOTALL ).group('data')
                                item['year'] = 
re.search('((.+?)</td>){3}[^>]+>(?P<data>[^<]+)',row.group(1),re.IGNORECASE | 
re.DOTALL ).group('data')
-                               item['downloads'] = 
re.search('((.+?)</td>){5}[^>]+>(?P<data>[^<]+)',row.group(1),re.IGNORECASE | 
re.DOTALL ).group('data')
-                               item['lang'] = 
re.search('((.+?)</td>){6}[^>]+><img 
alt=\"(?P<data>\w{2})\"',row.group(1),re.IGNORECASE | re.DOTALL ).group('data')
-                               item['numberOfDiscs'] = 
re.search('((.+?)</td>){7}[^>]+>(?P<data>[^<]+)',row.group(1),re.IGNORECASE | 
re.DOTALL ).group('data')
-                               item['size'] = 
re.search('((.+?)</td>){8}[^>]+>(?P<data>[\d\.]+)',row.group(1),re.IGNORECASE | 
re.DOTALL ).group('data')
+                               item['downloads'] = 
re.search('((.+?)</td>){4}[^>]+>(?P<data>[^<]+)',row.group(1),re.IGNORECASE | 
re.DOTALL ).group('data')
+                               item['lang'] = 
re.search('((.+?)</td>){5}[^>]+><img 
alt=\"(?P<data>\w{2})\"',row.group(1),re.IGNORECASE | re.DOTALL ).group('data')
+                               item['numberOfDiscs'] = 
re.search('((.+?)</td>){6}[^>]+>(?P<data>[^<]+)',row.group(1),re.IGNORECASE | 
re.DOTALL ).group('data')
+                               item['size'] = 
re.search('((.+?)</td>){7}[^>]+>(?P<data>[\d\.]+)',row.group(1),re.IGNORECASE | 
re.DOTALL ).group('data')
                        except:
                                log(__name__,'Exception when parsing subtitle, 
all I got is  %s' % str(item))
                                continue
diff --git a/script.xbmc.subtitles/resources/settings.xml 
b/script.xbmc.subtitles/resources/settings.xml
index 8cdb764..e3319f2 100644
--- a/script.xbmc.subtitles/resources/settings.xml
+++ b/script.xbmc.subtitles/resources/settings.xml
@@ -57,6 +57,7 @@
 
       <setting id="RegieLive" type="bool" label="Subtitrari.RegieLive.ro" 
default="false"/>
 
+      <setting id="SerialZone" type="bool" label="SerialZone.cz (Czech and 
Slovak subs only)" default="false"/>
       <setting id="Shooter" type="bool" label="Shooter.cn (Chinese and English 
subs only)" default="false"/>
       <setting id="Sratim" type="bool" label="Sratim.co.il" default="false"/>
       <setting id="SubClub" type="bool" label="SubClub.eu" default="false"/>
diff --git 
a/script.xbmc.subtitles/resources/skins/Default/720p/script-XBMC-Subtitles-main.xml
 
b/script.xbmc.subtitles/resources/skins/Default/720p/script-XBMC-Subtitles-main.xml
index b4742d0..d3dc1bf 100644
--- 
a/script.xbmc.subtitles/resources/skins/Default/720p/script-XBMC-Subtitles-main.xml
+++ 
b/script.xbmc.subtitles/resources/skins/Default/720p/script-XBMC-Subtitles-main.xml
@@ -22,6 +22,7 @@
                                <font>-</font>
                                <texturenofocus>-</texturenofocus>
                                <texturefocus>-</texturefocus>
+                               <onfocus>SetFocus(150)</onfocus>
                                <visible>true</visible>
                        </control>
                        <control type="image">

-----------------------------------------------------------------------

Summary of changes:
 script.xbmc.subtitles/addon.xml                    |    2 +-
 script.xbmc.subtitles/changelog.txt                |    6 +
 script.xbmc.subtitles/resources/lib/gui.py         |   22 +--
 .../resources/lib/services/SerialZone}/__init__.py |    0
 .../resources/lib/services/SerialZone/logo.png     |  Bin 0 -> 4427 bytes
 .../resources/lib/services/SerialZone/service.py   |  183 ++++++++++++++++++++
 .../resources/lib/services/Subdivx/service.py      |   58 ++++---
 .../resources/lib/services/Titulky/service.py      |    8 +-
 script.xbmc.subtitles/resources/settings.xml       |    1 +
 .../Default/720p/script-XBMC-Subtitles-main.xml    |    1 +
 10 files changed, 236 insertions(+), 45 deletions(-)
 copy {script.cu.lrclyrics/resources/lib/culrcscrapers => 
script.xbmc.subtitles/resources/lib/services/SerialZone}/__init__.py (100%)
 create mode 100644 
script.xbmc.subtitles/resources/lib/services/SerialZone/logo.png
 create mode 100644 
script.xbmc.subtitles/resources/lib/services/SerialZone/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