The branch, dharma has been updated
via b505fb6a42f305bd39d5f5acfad9ad399231b374 (commit)
via de89e03b5521867fad48cd5f2ff5646a12a8ae47 (commit)
from d0dff08cf0dc2819af31d1ed3c36d6bb560e1b5d (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=b505fb6a42f305bd39d5f5acfad9ad399231b374
commit b505fb6a42f305bd39d5f5acfad9ad399231b374
Author: amet <[email protected]>
Date: Sun Jan 23 16:07:47 2011 +0400
[script.forum.browser] -v 0.8.2
Remove version requirement from addon.xml to stop import error
diff --git a/script.forum.browser/addon.xml b/script.forum.browser/addon.xml
index b65a900..4828daf 100644
--- a/script.forum.browser/addon.xml
+++ b/script.forum.browser/addon.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.forum.browser"
name="Forum Browser"
- version="0.8.1"
+ version="0.8.2"
provider-name="Rick Phillips (ruuk)">
<requires>
<import addon="xbmc.python" version="1.0"/>
<import addon="script.module.simplejson" version="2.0.9"/>
- <import addon="script.web.viewer" version="0.7.3"/>
+ <import addon="script.web.viewer" />
</requires>
<extension point="xbmc.python.script"
library="default.py">
diff --git a/script.forum.browser/changelog.txt
b/script.forum.browser/changelog.txt
index 25ffc89..c5fbf9e 100644
--- a/script.forum.browser/changelog.txt
+++ b/script.forum.browser/changelog.txt
@@ -1,6 +1,10 @@
Forum Browser Changelog
-Current Version : 0.8.1
+Current Version : 0.8.2
+
+*** 0.8.2 ***
+
+Remove version requirement from addon.xml to stop import error
*** 0.8.1 ***
diff --git a/script.forum.browser/default.py b/script.forum.browser/default.py
index 3c1ebab..9be714f 100644
--- a/script.forum.browser/default.py
+++ b/script.forum.browser/default.py
@@ -14,8 +14,8 @@ Read/Delete PM's in xbmc4xbox.org
__plugin__ = 'Forum Browser'
__author__ = 'ruuk (Rick Phillips)'
__url__ = 'http://code.google.com/p/forumbrowserxbmc/'
-__date__ = '12-12-2010'
-__version__ = '0.8.1'
+__date__ = '01-22-2011'
+__version__ = '0.8.2'
__addon__ = xbmcaddon.Addon(id='script.forum.browser')
__language__ = __addon__.getLocalizedString
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=de89e03b5521867fad48cd5f2ff5646a12a8ae47
commit de89e03b5521867fad48cd5f2ff5646a12a8ae47
Author: amet <[email protected]>
Date: Sun Jan 23 16:05:52 2011 +0400
[script.xbmc.subtitles] -v2.2.4
- fixed: Titulky service login, thx to Libor
diff --git a/script.xbmc.subtitles/addon.xml b/script.xbmc.subtitles/addon.xml
index 0755151..4a8afad 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="2.2.3"
+ version="2.2.4"
provider-name="Amet">
<requires>
<import addon="xbmc.python" version="1.0"/>
diff --git a/script.xbmc.subtitles/changelog.txt
b/script.xbmc.subtitles/changelog.txt
index 34252f0..a96596f 100644
--- a/script.xbmc.subtitles/changelog.txt
+++ b/script.xbmc.subtitles/changelog.txt
@@ -1,3 +1,6 @@
+2.2.4
+- fixed: Titulky service login, thx to Libor
+
2.2.3
- fixed: Bierdopje needs a single quote changed to two single quotes (Grey's
Anatomy -> Grey''s Anatomy) otherwise it couldn't find a show-id, thx mr_blobby
- fixed: Hungarian translation, thanks alanwww1.
diff --git a/script.xbmc.subtitles/default.py b/script.xbmc.subtitles/default.py
index 764aaea..c300fb1 100644
--- a/script.xbmc.subtitles/default.py
+++ b/script.xbmc.subtitles/default.py
@@ -19,13 +19,13 @@ sys.path.append (BASE_RESOURCE_PATH)
xbmc.output("### [%s] - Version: %s" %
(__scriptname__,__version__,),level=xbmc.LOGDEBUG )
if ( __name__ == "__main__" ):
- if not xbmc.getCondVisibility('Player.Paused') : xbmc.Player().pause()
#Pause if not paused
- import gui
- ui = gui.GUI( "script-XBMC-Subtitles-main.xml" , __cwd__ , "Default")
- ui.doModal()
- if xbmc.getCondVisibility('Player.Paused'): xbmc.Player().pause() # if
Paused, un-pause
- del ui
- sys.modules.clear()
+ if not xbmc.getCondVisibility('Player.Paused') : xbmc.Player().pause()
#Pause if not paused
+ import gui
+ ui = gui.GUI( "script-XBMC-Subtitles-main.xml" , __cwd__ , "Default")
+ ui.doModal()
+ if xbmc.getCondVisibility('Player.Paused'): xbmc.Player().pause() # if
Paused, un-pause
+ del ui
+ sys.modules.clear()
diff --git a/script.xbmc.subtitles/resources/language/Czech/strings.xml
b/script.xbmc.subtitles/resources/language/Czech/strings.xml
index 4c92314..594397d 100644
--- a/script.xbmc.subtitles/resources/language/Czech/strings.xml
+++ b/script.xbmc.subtitles/resources/language/Czech/strings.xml
@@ -24,7 +24,8 @@
<string id="757">Server vyžaduje opsat kontrolnà kód z obrázku</string>
<string id="758">Kontrolnà kód se objevà v oznamovacà oblasti</string>
<string id="759">Vložte kontrolnà kód</string>
- <string id="760">Available Services</string>
+ <string id="760">Dostupné služby</string>
+ <string id="761">Pro staženà tÄchto titulků je tÅeba
pÅihlášenÃ,[CR]nastavte prosÃm pÅihlaÅ¡ovacà údaje</string>
<!-- Script Settings -->
@@ -50,6 +51,8 @@
<string id="30125">Vypnout hledánà pomocà hashe</string>
<string id="30126">- Itasa jméno</string>
<string id="30127">- Itasa heslo</string>
+ <string id="30128">- Titulky jméno</string>
+ <string id="30129">- Titulky heslo</string>
<!-- Languages -->
diff --git a/script.xbmc.subtitles/resources/language/English/strings.xml
b/script.xbmc.subtitles/resources/language/English/strings.xml
index 00931cc..59de5a3 100644
--- a/script.xbmc.subtitles/resources/language/English/strings.xml
+++ b/script.xbmc.subtitles/resources/language/English/strings.xml
@@ -25,6 +25,7 @@
<string id="758">Please take look at notification area</string>
<string id="759">Enter code of image in notification area</string>
<string id="760">Available Services</string>
+ <string id="761">You must be logged in to download these
subtitles,[CR]verify your settings at the addon Configuration</string>
<!-- Script Settings -->
@@ -50,6 +51,8 @@
<string id="30125">Disable hash search</string>
<string id="30126">- Itasa Username</string>
<string id="30127">- Itasa Password</string>
+ <string id="30128">- Titulky Username</string>
+ <string id="30129">- Titulky Password</string>
<!-- Languages -->
diff --git a/script.xbmc.subtitles/resources/lib/services/Titulky/service.py
b/script.xbmc.subtitles/resources/lib/services/Titulky/service.py
index af46f26..95e8299 100644
--- a/script.xbmc.subtitles/resources/lib/services/Titulky/service.py
+++ b/script.xbmc.subtitles/resources/lib/services/Titulky/service.py
@@ -13,7 +13,7 @@ from utilities import toOpenSubtitles_two, log
_ = sys.modules[ "__main__" ].__language__
__scriptname__ = sys.modules[ "__main__" ].__scriptname__
__cwd__ = sys.modules[ "__main__" ].__cwd__
-
+__settings__ = sys.modules[ "__main__" ].__settings__
"""
<tr class="row2">
<td><a href="Pulp-Fiction-118518.htm" >Pulp
Fiction</a></td>
@@ -49,17 +49,6 @@ def search_subtitles( file_original_path, title, tvshow,
year, season, episode,
if br_index > -1:
title = title[:br_index]
title = title.strip()
-# print 'path '+file_original_path
-# print 'title '+title
-# print 'tvshow '+tvshow
-# print 'year '+year
-# print 'season '+season
-# print 'episode'+episode
-# print 'set_temp '+str(set_temp)
-# print 'rar '+str(rar)
-# print 'lang1 '+lang1
-# print 'lang2 '+lang2
-# print 'lang3 '+lang3
session_id = "0"
client = TitulkyClient()
subtitles_list = client.search_subtitles( file_original_path, title,
tvshow, year, season, episode, set_temp, rar, lang1, lang2, lang3 )
@@ -70,14 +59,18 @@ def search_subtitles( file_original_path, title, tvshow,
year, season, episode,
def download_subtitles (subtitles_list, pos, zip_subs, tmp_sub_dir,
sub_folder, session_id): #standard input
subtitle_id = subtitles_list[pos][ 'ID' ]
-# print pos
-# print zip_subs
-# print tmp_sub_dir
-# print sub_folder
-# print session_id
-# print subtitle_id
-
client = TitulkyClient()
+ username = __settings__.getSetting( "Titulkyuser" )
+ password = __settings__.getSetting( "Titulkypass" )
+ if password == '' or username == '':
+ log(__name__,'Credentials to Titulky.com not provided')
+ else:
+ if client.login(username,password) == False:
+ log(__name__,'Login to Titulky.com failed. Check your
username/password at the addon configuration')
+ dialog = xbmcgui.Dialog()
+ dialog.ok(__scriptname__,_( 756 ))
+ return True,subtitles_list[pos]['language_name'], ""
+ log(__name__,'Login successfull')
log(__name__,'Get page with subtitle (id=%s)'%(subtitle_id))
content = client.get_subtitle_page(subtitle_id)
control_img = client.get_control_image(content)
@@ -90,9 +83,9 @@ def download_subtitles (subtitles_list, pos, zip_subs,
tmp_sub_dir, sub_folder,
img_file.write(img)
img_file.close()
dialog = xbmcgui.Dialog()
- dialog.ok(__scriptname__,_( 757 ),_( 758 ))
+ dialog.ok(__scriptname__,_( 757 ),_( 758 ))
log(__name__,'Notifying user for 10s')
- xbmc.executebuiltin("XBMC.Notification(%s,%s,10000,%s)" %
(__scriptname__,'',os.path.join(tmp_sub_dir,'image.png')))
+ xbmc.executebuiltin("XBMC.Notification(%s,%s,10000,%s)" %
(__scriptname__,'',os.path.join(tmp_sub_dir,'image.png')))
kb = xbmc.Keyboard('',_( 759 ),False)
kb.doModal()
if kb.isConfirmed():
@@ -107,6 +100,12 @@ def download_subtitles (subtitles_list, pos, zip_subs,
tmp_sub_dir, sub_folder,
log(__name__,'Control text not confirmed, returning in
error')
return True,subtitles_list[pos]['language_name'], ""
wait_time = client.get_waittime(content)
+ cannot_download = client.get_cannot_download_error(content)
+ if not None == cannot_download:
+ log(__name__,'Subtitles cannot be downloaded, user needs to
login')
+ dialog = xbmcgui.Dialog()
+ dialog.ok(__scriptname__,_( 761 ))
+ return True,subtitles_list[pos]['language_name'], ""
link = client.get_link(content)
log(__name__,'Got the link, wait %i seconds before download' %
(wait_time))
delay = wait_time
@@ -116,6 +115,7 @@ def download_subtitles (subtitles_list, pos, zip_subs,
tmp_sub_dir, sub_folder,
xbmc.executebuiltin("XBMC.Notification(%s,%s,1000,%s)" %
(__scriptname__,line2,icon))
delay -= 1
time.sleep(1)
+
log(__name__,'Downloading subtitle zip')
data = client.get_file(link)
log(__name__,'Saving to file %s' % zip_subs)
@@ -145,16 +145,22 @@ def get2DigitStr(number):
def lang2_opensubtitles(lang):
lang = lang_titulky2xbmclang(lang)
return toOpenSubtitles_two(lang)
-
+
class TitulkyClient(object):
-
+
def __init__(self):
self.server_url = 'http://www.titulky.com'
opener =
urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.LWPCookieJar()))
opener.version = 'User-Agent=Mozilla/5.0 (Windows; U; Windows
NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)'
urllib2.install_opener(opener)
-
- def search_subtitles(self, file_original_path, title, tvshow, year,
season, episode, set_temp, rar, lang1, lang2, lang3 ):
+ def login(self,username,password):
+ log(__name__,'Logging in to Titulky.com')
+ login_postdata = urllib.urlencode({'Login': username,
'Password': password, 'foreverlog': '1','Detail2':''} )
+ request = urllib2.Request(self.server_url +
'/index.php',login_postdata)
+ response = urllib2.urlopen(request).read()
+ log(__name__,'Got response')
+ return not response.find('BadLogin')>-1
+ def search_subtitles(self, file_original_path, title, tvshow, year,
season, episode, set_temp, rar, lang1, lang2, lang3 ):
url =
self.server_url+'/index.php?'+urllib.urlencode({'Fulltext':title,'FindUser':''})
if not (tvshow == None or tvshow == ''):
title2 = tvshow+' '+get_episode_season(episode,season)
@@ -170,36 +176,50 @@ class TitulkyClient(object):
response.close()
log(__name__,'Done')
subtitles_list = []
- for matches in re.finditer(subtitle_pattern, content,
re.IGNORECASE | re.DOTALL):
-# print matches.group('id') +' '
+matches.group('title')+' '+ str(matches.group('sync'))+' '+
matches.group('tvshow')+' '+ matches.group('year')+' '+
matches.group('downloads')+' '+ matches.group('lang')+' '+
matches.group('cds')+' '+matches.group('size')
+ max_downloads=1
+ for matches in re.finditer(subtitle_pattern, content,
re.IGNORECASE | re.DOTALL):
+ # print matches.group('id') +' '
+matches.group('title')+' '+ str(matches.group('sync'))+' '+
matches.group('tvshow')+' '+ matches.group('year')+' '+
matches.group('downloads')+' '+ matches.group('lang')+' '+
matches.group('cds')+' '+matches.group('size')
file_name = matches.group('sync')
if file_name == None: # if no sync info is found, just
use title instead of None
file_name = matches.group('title')
flag_image = "flags/%s.gif" %
(lang2_opensubtitles(matches.group('lang')))
sync = False
- if file_original_path.find(matches.group('sync')) > -1:
+ matches_sync=matches.group('sync')
+ if not matches_sync == None and
file_original_path.find(matches_sync) > -1:
sync = True
if file_size==matches.group('size'):
sync = True
+ try:
+ downloads = int(matches.group('downloads'))
+ if downloads>max_downloads:
+ max_downloads=downloads
+ except:
+ downloads=0
if not year == '':
if not matches.group('year') == year:
continue
lang = lang_titulky2xbmclang(matches.group('lang'))
if lang == lang1 or lang == lang2 or lang == lang3:
- subtitles_list.append( { 'title' :
matches.group('title'), 'year' : matches.group('year'), "filename" : file_name,
'language_name' : lang_titulky2xbmclang(matches.group('lang')), 'ID' :
matches.group('id'), "mediaType" : 'mediaType', "numberOfDiscs" : '1',
"downloads" : matches.group('downloads'), "sync" : sync, "rating" :'0',
"language_flag":flag_image } )
+ subtitles_list.append( { 'title' :
matches.group('title'), 'year' : matches.group('year'), "filename" : file_name,
'language_name' : lang_titulky2xbmclang(matches.group('lang')), 'ID' :
matches.group('id'), "mediaType" : 'mediaType', "numberOfDiscs" : '1',
"downloads" : downloads, "sync" : sync, "rating" :'0',
"language_flag":flag_image } )
+ # computing ratings is based on downloads
+ for subtitle in subtitles_list:
+ subtitle['rating'] =
str((subtitle['downloads']*10/max_downloads))
return subtitles_list
-
+ def get_cannot_download_error(self,content):
+ if content.find('CHYBA') > -1:
+ return True
+
def get_waittime(self,content):
for matches in re.finditer(countdown_pattern, content,
re.IGNORECASE | re.DOTALL):
return int(matches.group(1))
def get_link(self,content):
for matches in re.finditer(sublink_pattern, content,
re.IGNORECASE | re.DOTALL):
- return str(matches.group(1))
+ return str(matches.group(1))
def _get_session_id(self,content):
for matches in re.finditer(session_id_pattern, content,
re.IGNORECASE | re.DOTALL):
- return str(matches.group(1))
+ return str(matches.group(1))
def get_control_image(self,content):
for matches in re.finditer(control_image_pattern, content,
re.IGNORECASE | re.DOTALL):
@@ -238,4 +258,4 @@ class TitulkyClient(object):
log(__name__,'Done')
response.close()
return content
-
+
diff --git a/script.xbmc.subtitles/resources/settings.xml
b/script.xbmc.subtitles/resources/settings.xml
index cb50e0d..4a13da2 100644
--- a/script.xbmc.subtitles/resources/settings.xml
+++ b/script.xbmc.subtitles/resources/settings.xml
@@ -21,6 +21,8 @@
<setting id="LTVpass" type="text" option = "hidden" visible=
"eq(-2,true)" enable="eq(-2,true)" label="30124" default=""/>
<setting id="Titlovi" type="bool" label="Titlovi.com" default="false"/>
<setting id="Titulky" type="bool" label="Titulky.com (Czech and Slovak
subs only)" default="false"/>
+ <setting id="Titulkyuser" type="text" visible= "eq(-1,true)"
enable="eq(-1,true)" label="30128" default=""/>
+ <setting id="Titulkypass" type="text" option ="hidden" visible=
"eq(-2,true)" enable="eq(-2,true)" label="30129" default=""/>
<setting id="Subdivx" type="bool" label="Subdivx.com (Spanish subs
only)" default="false"/>
<setting id="Addic7ed" type="bool" label="Addic7ed.com" default="false"/>
<setting id="Swesub" type="bool" label="Swesub.nu" default="false"/>
-----------------------------------------------------------------------
Summary of changes:
script.forum.browser/addon.xml | 4 +-
script.forum.browser/changelog.txt | 6 +-
script.forum.browser/default.py | 4 +-
script.xbmc.subtitles/addon.xml | 2 +-
script.xbmc.subtitles/changelog.txt | 3 +
script.xbmc.subtitles/default.py | 14 ++--
.../resources/language/Czech/strings.xml | 5 +-
.../resources/language/English/strings.xml | 3 +
.../resources/lib/services/Titulky/service.py | 86 ++++++++++++--------
script.xbmc.subtitles/resources/settings.xml | 2 +
10 files changed, 82 insertions(+), 47 deletions(-)
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons