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

Reply via email to