The branch, frodo has been updated
via 77773438fe71cdc0c6b8a43f3b21c0dd38bf820c (commit)
via 4955eb539e1297d60db41bc7cb9e52fc8e8af8dc (commit)
from 105a79625b4885d0e5ef5680026155460e380d76 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=77773438fe71cdc0c6b8a43f3b21c0dd38bf820c
commit 77773438fe71cdc0c6b8a43f3b21c0dd38bf820c
Author: beenje <[email protected]>
Date: Thu Aug 8 22:29:12 2013 +0200
[plugin.video.mlbmc] updated to version 2.0.6
diff --git a/plugin.video.mlbmc/addon.xml b/plugin.video.mlbmc/addon.xml
index 533e2f5..c087ec5 100644
--- a/plugin.video.mlbmc/addon.xml
+++ b/plugin.video.mlbmc/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.mlbmc"
name="MLBMC"
- version="2.0.5"
+ version="2.0.6"
provider-name="divingmule">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
diff --git a/plugin.video.mlbmc/changelog.txt b/plugin.video.mlbmc/changelog.txt
index 4949b64..cec0ec7 100644
--- a/plugin.video.mlbmc/changelog.txt
+++ b/plugin.video.mlbmc/changelog.txt
@@ -1,3 +1,6 @@
+Version 2.0.6
+fix full count, mlb.com playlist
+
Version 2.0.5
fix website changes, condensed games, MLB.com playlist
fix 'identity error' after selecting a coverage type in MLB.TV
diff --git a/plugin.video.mlbmc/default.py b/plugin.video.mlbmc/default.py
index b2309fc..f49bb16 100644
--- a/plugin.video.mlbmc/default.py
+++ b/plugin.video.mlbmc/default.py
@@ -217,7 +217,7 @@ if mode==27:
xbmcplugin.endOfDirectory(int(sys.argv[1]))
if mode==28:
- mlb.get_playlist_cats()
+ mlb.get_playlist_cats(False, url)
xbmcplugin.endOfDirectory(int(sys.argv[1]))
if mode==29:
diff --git a/plugin.video.mlbmc/resources/mlb.py
b/plugin.video.mlbmc/resources/mlb.py
index 7f22b6f..6b50651 100644
--- a/plugin.video.mlbmc/resources/mlb.py
+++ b/plugin.video.mlbmc/resources/mlb.py
@@ -16,7 +16,6 @@ from mlb_common import *
addon = xbmcaddon.Addon(id='plugin.video.mlbmc')
language = addon.getLocalizedString
-addon = xbmcaddon.Addon('plugin.video.mlbmc')
profile = xbmc.translatePath(addon.getAddonInfo('profile'))
home = xbmc.translatePath(addon.getAddonInfo('path'))
icon = os.path.join(home, 'icon.png')
@@ -86,15 +85,13 @@ def get_mlb_playlist(url, name=None):
''' mode 18-19, adds a directory of playlist categories '''
thumb = 'http://mlbmc-xbmc.googlecode.com/svn/icons/playlist.png'
if url == 'http://wapc.mlb.com/play':
- data = cache.cacheFunction(cache_playlist_categories)
- main_page = 'True'
- addDir(language(30013), 'main_topic', 24, thumb, main_page)
+ # data = cache.cacheFunction(cache_playlist_categories)
+ addDir(language(30013), 'main_topic', 24, thumb, 'True')
# add teams dir
addDir(language(30010), 'get_playlist', 4, thumb)
get_playlist_cats()
else:
data = cache_current_playlist(url)
- main_page = 'False'
if name:
try:
team = [i for i in TeamCodes.values() if i[0] == name][0]
@@ -102,7 +99,7 @@ def get_mlb_playlist(url, name=None):
team = None
if team:
addDir(language(30012), team[1], 20, thumb)
- addDir(language(30013), 'main_topic', 24, thumb, main_page)
+ addDir(language(30013), 'main_topic', 24, thumb, 'False')
get_playlist_cats(True, False)
@@ -124,8 +121,10 @@ def get_playlist_cats(current=False, subcat=False):
thumb = 'http://mlbmc-xbmc.googlecode.com/svn/icons/playlist.png'
if current:
data = eval(cache.get('current'))
+ subcat_mode = 29
else:
data = cache.cacheFunction(cache_playlist_categories)
+ subcat_mode = 28
if subcat:
try:
items = data['sub_categories'][subcat]
@@ -139,7 +138,7 @@ def get_playlist_cats(current=False, subcat=False):
addDir(title, item_id, 1, thumb)
if not subcat:
for i in data['sub_categories'].keys():
- addDir(i , i, 29, thumb)
+ addDir(i , i, subcat_mode, thumb)
def get_players(team_ab):
@@ -640,7 +639,6 @@ def getGames(url):
liz.setInfo( type="Video", infoLabels={ "Title": name } )
liz.setProperty( "Fanart_Image", fanart1 )
liz.setProperty('IsPlayable', 'true')
- #
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=False)
diff --git a/plugin.video.mlbmc/resources/mlbtv.py
b/plugin.video.mlbmc/resources/mlbtv.py
index 0a05b19..b9011d7 100644
--- a/plugin.video.mlbmc/resources/mlbtv.py
+++ b/plugin.video.mlbmc/resources/mlbtv.py
@@ -267,7 +267,11 @@ def
getGameURL(name,event,content,session,cookieIp,cookieFp,scenario,live):
else:
subject = 'LIVE_EVENT_COVERAGE'
url =
'https://secure.mlb.com/pubajaxws/bamrest/MediaService2_0/op-findUserVerifiedEvent/v-2.1?'
-
+
+ try:
+ cookieFp = urllib.unquote(cookieFp)
+ except AttributeError:
+ pass
values = {
'subject': subject,
'sessionKey': session,
@@ -275,7 +279,7 @@ def
getGameURL(name,event,content,session,cookieIp,cookieFp,scenario,live):
'contentId': content,
'playbackScenario': scenario,
'eventId': event,
- 'fingerprint': urllib.unquote(cookieFp),
+ 'fingerprint': cookieFp,
'platform':'WEB_MEDIAPLAYER'
}
@@ -295,6 +299,7 @@ def
getGameURL(name,event,content,session,cookieIp,cookieFp,scenario,live):
cookie_jar.load(cookie_file, ignore_discard=True,
ignore_expires=True)
cookie_jar.set_cookie(new_cookie)
cookie_jar.save(cookie_file, ignore_discard=True,
ignore_expires=True)
+ cookieFp = new_fprt
except AttributeError:
addon_log('No New Fingerprint')
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=4955eb539e1297d60db41bc7cb9e52fc8e8af8dc
commit 4955eb539e1297d60db41bc7cb9e52fc8e8af8dc
Author: beenje <[email protected]>
Date: Thu Aug 8 22:29:09 2013 +0200
[plugin.video.synopsi] updated to version 1.0.8
diff --git a/plugin.video.synopsi/addon.py b/plugin.video.synopsi/addon.py
index bc593ae..7712329 100644
--- a/plugin.video.synopsi/addon.py
+++ b/plugin.video.synopsi/addon.py
@@ -224,7 +224,11 @@ try:
xbmc.executebuiltin('CleanLibrary(video)')
xbmc.executebuiltin('UpdateLibrary(video)')
+ # Ctrl + 1
elif p['mode']==971:
+
+
+
#~ addonclient.debug_1()
#~ winid = common.getUserInput("Title", "")
@@ -276,8 +280,9 @@ try:
dialog.open_list_dialog({ 'items': items }, close=False)
-
+ # Ctrl + 2
elif p['mode']==972:
+
#~
xbmc.executebuiltin('ActivateWindow(MyVideoNav,plugin://plugin.video.synopsi,return)')
#~ addonclient.debug_2()
@@ -290,7 +295,7 @@ try:
#~ print i, item
pass
-
+ # Ctrl + 3
elif p['mode']==973:
#~ addonclient.show_video_dialog_byId(2406418)
addonclient.debug_3()
diff --git a/plugin.video.synopsi/addon.xml b/plugin.video.synopsi/addon.xml
index 9a5f414..b44596d 100644
--- a/plugin.video.synopsi/addon.xml
+++ b/plugin.video.synopsi/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.synopsi"
name="SynopsiTV"
- version="1.0.7"
+ version="1.0.8"
provider-name="Synopsi.TV">
<requires>
<import addon="xbmc.python" version="2.1.0" />
@@ -20,8 +20,12 @@
</extension>
<extension point="xbmc.addon.metadata">
<platform>all</platform>
- <summary>SynopsiTV</summary>
+ <summary>SynopsiTV plugin</summary>
<description>SynopsiTV helps you discover movies and shows by
generating personalized recommendations based on your unique and evolving
viewing style. [CR][CR]To log in, sign up at www.synopsi.tv. [CR][CR]Report
bugs at https://github.com/Synopsi/XBMC/issues</description>
<language></language>
+ <license>GNU GENERAL PUBLIC LICENSE. Version 2, June
1991</license>
+ <forum>https://github.com/Synopsi/XBMC/issues</forum>
+ <website>www.synopsi.tv</website>
+ <source>https://github.com/Synopsi/XBMC</source>
</extension>
</addon>
diff --git a/plugin.video.synopsi/apiclient.py
b/plugin.video.synopsi/apiclient.py
index 754080f..1d8572f 100644
--- a/plugin.video.synopsi/apiclient.py
+++ b/plugin.video.synopsi/apiclient.py
@@ -85,7 +85,7 @@ class ApiClient(loggable.Loggable):
__addon__.getSetting('USER'),
__addon__.getSetting('PASS'),
iuid,
- debugLvl=logging.ERROR,
+ debugLvl=int(addon_getSetting('NON_DEBUG_LOGLEVEL')),
rel_api_url=const.REL_API_URL
)
diff --git a/plugin.video.synopsi/app_apiclient.py
b/plugin.video.synopsi/app_apiclient.py
index 45c2312..ad92761 100644
--- a/plugin.video.synopsi/app_apiclient.py
+++ b/plugin.video.synopsi/app_apiclient.py
@@ -5,7 +5,7 @@ import xbmcgui
# application
from apiclient import *
from utilities import *
-import threading
+import threading, thread
import top
@@ -22,23 +22,35 @@ class AppApiClient(ApiClient):
self.login_state_announce = lsa
def checkAccountChange(self):
+ """ Checks whether user credentials have changed and launches
the event handler"""
__addon__ = get_current_addon()
- changed = self.username != __addon__.getSetting('USER') or
self.password != __addon__.getSetting('PASS')
+ userchanged = self.username != __addon__.getSetting('USER')
+ changed = userchanged or self.password !=
__addon__.getSetting('PASS')
+
+ if changed:
+ self.onAccountChange(userchanged)
return changed
- def onAccountChange(self):
- self.username = __addon__.getSetting('USER')
- self.password = __addon__.getSetting('PASS')
+ def onAccountChange(self, userChanged):
+ """ Account change event handler """
+ self._log.debug('onAccountChange')
+
+ __addon__ = get_current_addon()
+ self.setUserPass(__addon__.getSetting('USER'),
__addon__.getSetting('PASS'))
self.clearAccessToken()
+ if userChanged:
+ self._log.info('Rebuilding cache')
+ thread.start_new_thread(cache_rebuild_hp_update, ())
def clearAccessToken(self):
+ """ Clears the access token data, making the function
isAuthenticated return False, thus forcing new authentication """
self.accessToken = None
self.accessTokenSessionStart = None
def isAuthenticated(self):
- " Returns true if user is authenticated. This method adds to
its parent method a check if user credentials have changed "
+ """ Returns true if user is authenticated. This method adds to
its parent method a check if user credentials have changed """
self.checkAccountChange()
return ApiClient.isAuthenticated(self)
diff --git a/plugin.video.synopsi/cache.py b/plugin.video.synopsi/cache.py
index 913b724..e7a3057 100644
--- a/plugin.video.synopsi/cache.py
+++ b/plugin.video.synopsi/cache.py
@@ -9,7 +9,7 @@ import traceback
# application
from utilities import *
-#~ from app_apiclient import AppApiClient, ApiClient
+from app_apiclient import AppApiClient
from apiclient import commonTitleProps
from xbmcrpc import xbmc_rpc
diff --git a/plugin.video.synopsi/changelog.txt
b/plugin.video.synopsi/changelog.txt
index 85cd673..9c3d703 100644
--- a/plugin.video.synopsi/changelog.txt
+++ b/plugin.video.synopsi/changelog.txt
@@ -1,3 +1,7 @@
+[B]Version 1.0.8[/B]
+
++ Added: option to disable rating window when playing multiple files in
playlist
+
[B]Version 1.0.7[/B]
+ Added: sign-up from settings
diff --git a/plugin.video.synopsi/resources/language/English/strings.xml
b/plugin.video.synopsi/resources/language/English/strings.xml
index e91a2f9..2237e1b 100644
--- a/plugin.video.synopsi/resources/language/English/strings.xml
+++ b/plugin.video.synopsi/resources/language/English/strings.xml
@@ -14,6 +14,7 @@
<string id="69513">Protected folder</string>
<string id="69514">Number of protected folders</string>
+ <string id="69515">Disable rating in playlist</string>
<!-- Dialog --->
diff --git a/plugin.video.synopsi/resources/language/Slovak/strings.xml
b/plugin.video.synopsi/resources/language/Slovak/strings.xml
index deab920..dc4256a 100644
--- a/plugin.video.synopsi/resources/language/Slovak/strings.xml
+++ b/plugin.video.synopsi/resources/language/Slovak/strings.xml
@@ -13,6 +13,8 @@
<string id="69512">Povoliť debugovanie</string>
<string id="69513">Chránené prieÄinky</string>
+ <string id="69514">PoÄet chránených prieÄinkov</string>
+ <string id="69515">Zakázať hodnotenie v playliste</string>
diff --git a/plugin.video.synopsi/resources/settings.xml
b/plugin.video.synopsi/resources/settings.xml
index 84db188..c318bba 100644
--- a/plugin.video.synopsi/resources/settings.xml
+++ b/plugin.video.synopsi/resources/settings.xml
@@ -27,8 +27,13 @@
<!-- Advanced settings -->
<category label="69510">
- <setting id="PROTFOL" option="hidden" visible="false" type="bool"
label="69511" default="false"/>
- <setting id="NUMFOLD" option="hidden" visible="false" type="enum"
label="69514" values="1|2|3|4|5|6|7|8|9" enable="eq(-1,true)" />
+ <setting id="DEBUG" type="bool" label="69512" default="false"/>
+ <setting id="DISABLE_RATING_IN_PLAYLIST" type="bool" label="69515"
default="false"/>
+
+ <setting id="NON_DEBUG_LOGLEVEL" type="text" visible="false"
default="10"/>
+
+ <setting id="PROTFOL" option="hidden" visible="false" type="bool"
label="69511" default="false"/>
+ <setting id="NUMFOLD" option="hidden" visible="false" type="enum"
label="69514" values="1|2|3|4|5|6|7|8|9" enable="eq(-1,true)" />
<setting id="FOLDER1" option="hidden" visible="false" type="folder"
label="69513" enable="eq(-2,true)" />
<setting id="FOLDER2" option="hidden" type="folder" label="69513"
visible="gt(-2,0)" enable="eq(-3,true)" />
<setting id="FOLDER3" option="hidden" type="folder" label="69513"
visible="gt(-3,1)" enable="eq(-4,true)" />
@@ -38,8 +43,8 @@
<setting id="FOLDER7" option="hidden" type="folder" label="69513"
visible="gt(-7,5)" enable="eq(-8,true)" />
<setting id="FOLDER8" option="hidden" type="folder" label="69513"
visible="gt(-8,6)" enable="eq(-9,true)" />
<setting id="FOLDER9" option="hidden" type="folder" label="69513"
visible="gt(-9,7)" enable="eq(-10,true)" />
- <setting id="sp" type="sep" visible="false" />
- <setting id="DEBUG" type="bool" label="69512" default="false"/>
+ <setting id="sp" type="sep" visible="false" />
+
</category>
diff --git a/plugin.video.synopsi/scrobbler.py
b/plugin.video.synopsi/scrobbler.py
index 21a3e9a..78f87c8 100644
--- a/plugin.video.synopsi/scrobbler.py
+++ b/plugin.video.synopsi/scrobbler.py
@@ -176,7 +176,6 @@ class SynopsiPlayerDecor(SynopsiPlayer):
def ended(self):
self.playerEvent('end', self.total_time)
- # rate file
self.rate_file(self.last_played_file)
self.onAfterStop()
@@ -218,6 +217,14 @@ class SynopsiPlayerDecor(SynopsiPlayer):
if not self.cache.hasFilename(filename):
return False
+ if rate:
+ # if we are in playlist and disable rating, send
checkin only
+ in_playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO).size()
> 1
+ disable_rating_in_playlist =
__addon__.getSetting('DISABLE_RATING_IN_PLAYLIST') == 'true'
+ if disable_rating_in_playlist and in_playlist:
+ rate = False
+ self.log('Rating in playlists disabled in user
setting')
+
# get stv id
detail = self.cache.getByFilename(filename)
diff --git a/plugin.video.synopsi/service.py b/plugin.video.synopsi/service.py
index 898785a..8e23e78 100644
--- a/plugin.video.synopsi/service.py
+++ b/plugin.video.synopsi/service.py
@@ -6,6 +6,7 @@ This is default file of SynopsiTV service. See addon.xml
import xbmc, xbmcgui, xbmcaddon
# python standart lib
+import threading
import thread
import sys
import time
@@ -14,11 +15,10 @@ import time
from scrobbler import SynopsiPlayerDecor
from library import RPCListenerHandler
from cache import *
-from utilities import home_screen_fill, login_screen, log, VERSION
+from utilities import *
from app_apiclient import AppApiClient
from addonservice import AddonService
import top
-import threading
import dialog
threading.current_thread().name = 'service.py'
@@ -34,9 +34,6 @@ def main():
top.apiClient = AppApiClient.getDefaultClient()
- # check first run
- check_first_run()
-
# get or generate install-unique ID
iuid = get_install_id()
@@ -44,7 +41,9 @@ def main():
top.stvList = StvList(iuid, top.apiClient)
top.player = SynopsiPlayerDecor()
top.player.setStvList(top.stvList)
-
+
+ # check first run
+ check_first_run()
try:
top.stvList.load()
@@ -52,10 +51,6 @@ def main():
except:
# first time
log('CACHE restore failed. If this is your first run, its ok.
Rebuilding cache')
- def cache_rebuild_hp_update():
- top.stvList.rebuild()
- home_screen_fill(top.apiClient, top.stvList)
-
thread.start_new_thread(cache_rebuild_hp_update, ())
@@ -77,7 +72,7 @@ def main():
break
if xbmc.abortRequested:
- log('service.py abortRequested')
+ log('abortRequested')
log('waiting for: ' + str(','.join([i.name for i in
threads if i.isAlive()])))
aos.stop()
diff --git a/plugin.video.synopsi/utilities.py
b/plugin.video.synopsi/utilities.py
index 8eb1164..0650135 100644
--- a/plugin.video.synopsi/utilities.py
+++ b/plugin.video.synopsi/utilities.py
@@ -300,7 +300,7 @@ def dialog_yesno(msg):
def clear_setting_cache():
- "Clear cached addon setting. Useful after update"
+ """ Clear cached addon setting. Useful after update """
settingsPath = os.path.join(__profile__, 'settings.xml')
if xbmcvfs.exists(settingsPath):
xbmcvfs.delete(settingsPath)
@@ -653,43 +653,9 @@ def home_screen_fill(apiClient, cache):
notification('Movie reccomendation service failed')
return
-
-def login_screen(apiClient):
- if not __lockLoginScreen__.acquire(False):
- log('login_screen not starting duplicate')
- return False
-
- username = __addon__.getSetting('USER')
- password = __addon__.getSetting('PASS')
-
- log('string type: ' + str(type(username)))
- log('string type: ' + str(type(password)))
-
- ui = XMLLoginDialog("LoginDialog.xml", __addonpath__, "Default",
username=username, password=password)
- ui.doModal()
- # ui.show()
-
- # dialog result is 'OK'
- if ui.response==2:
- log('dialog OK')
- # check if data changed
- d = ui.getData()
- if username!=d['username'] or password!=d['password']:
- # store in settings
- __addon__.setSetting('USER', value=d['username'])
- __addon__.setSetting('PASS', value=d['password'])
- apiClient.setUserPass(d['username'], d['password'])
-
- result=True
- else:
- log('dialog canceled')
- result=False
-
- del ui
-
- __lockLoginScreen__.release()
- log('login_screen result: %d' % result)
- return result
+def cache_rebuild_hp_update():
+ top.stvList.rebuild()
+ home_screen_fill(top.apiClient, top.stvList)
def get_rating():
"""
-----------------------------------------------------------------------
Summary of changes:
plugin.video.mlbmc/addon.xml | 2 +-
plugin.video.mlbmc/changelog.txt | 3 +
plugin.video.mlbmc/default.py | 2 +-
plugin.video.mlbmc/resources/mlb.py | 14 +++----
plugin.video.mlbmc/resources/mlbtv.py | 9 +++-
plugin.video.synopsi/_src/keyboard.xml | 23 +++++++++++
plugin.video.synopsi/addon.py | 9 +++-
plugin.video.synopsi/addon.xml | 8 +++-
plugin.video.synopsi/apiclient.py | 2 +-
plugin.video.synopsi/app_apiclient.py | 24 ++++++++---
plugin.video.synopsi/cache.py | 2 +-
plugin.video.synopsi/changelog.txt | 4 ++
.../resources/language/English/strings.xml | 1 +
.../resources/language/Slovak/strings.xml | 2 +
plugin.video.synopsi/resources/settings.xml | 13 ++++--
plugin.video.synopsi/scrobbler.py | 9 ++++-
plugin.video.synopsi/service.py | 17 +++-----
plugin.video.synopsi/utilities.py | 42 ++------------------
18 files changed, 108 insertions(+), 78 deletions(-)
create mode 100644 plugin.video.synopsi/_src/keyboard.xml
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons