The branch, eden has been updated
       via  f04c6f5f85225f33888268fc9a4b7ddf550f26af (commit)
       via  4006cbf250ac1c65513f45a1f234bb523a9205bd (commit)
      from  8e53fa113ce1f84b3f76c2ac5a47164601c277a2 (commit)

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

commit f04c6f5f85225f33888268fc9a4b7ddf550f26af
Author: Martijn Kaijser <mcm.kaij...@gmail.com>
Date:   Tue Aug 7 17:54:47 2012 +0200

    [service.watchdog] -v0.6.1

diff --git a/service.watchdog/addon.xml b/service.watchdog/addon.xml
index be7b9d6..4647236 100644
--- a/service.watchdog/addon.xml
+++ b/service.watchdog/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="service.watchdog"
        name="Library watchdog"
-       version="0.6.0"
+       version="0.6.1"
        provider-name="takoi">
   <requires>
     <import addon="xbmc.python" version="2.0"/>
diff --git a/service.watchdog/changelog.txt b/service.watchdog/changelog.txt
index 3b690cf..08f0add 100644
--- a/service.watchdog/changelog.txt
+++ b/service.watchdog/changelog.txt
@@ -1,3 +1,7 @@
+[B]0.6.1[/B]
+- fixed: not able to resume from sleep mode on linux
+- fixed: addon not able to start on windows xp when syscall is selected
+
 [B]0.6.0[/B]
-- fixed bug causing xbmc to hang on windows
+- fixed: xbmc deadlocks on windows when exiting
 
diff --git a/service.watchdog/watchdog/observers/__init__.py 
b/service.watchdog/watchdog/observers/__init__.py
index 16ddffb..308723c 100644
--- a/service.watchdog/watchdog/observers/__init__.py
+++ b/service.watchdog/watchdog/observers/__init__.py
@@ -50,7 +50,7 @@ except ImportError: # pragma: no cover
       except ImportError: # pragma: no cover
         try: # pragma: no cover
           from watchdog.observers.read_directory_changes import 
WindowsApiObserver as _Observer
-        except ImportError: # pragma: no cover
+        except (ImportError, AttributeError): # pragma: no cover
           from watchdog.observers.polling import PollingObserver as _Observer
 
 
diff --git a/service.watchdog/watchdog/observers/fsevents.py 
b/service.watchdog/watchdog/observers/fsevents.py
index 7c55a6f..96640ee 100644
--- a/service.watchdog/watchdog/observers/fsevents.py
+++ b/service.watchdog/watchdog/observers/fsevents.py
@@ -140,6 +140,8 @@ if platform.is_darwin():
                             callback,
                             self.pathnames)
         _fsevents.read_events(self)
+      except Exception, e:
+        pass
       finally:
         self.on_thread_exit()
 
diff --git a/service.watchdog/watchdog/observers/inotify.py 
b/service.watchdog/watchdog/observers/inotify.py
index e491a96..acf86be 100644
--- a/service.watchdog/watchdog/observers/inotify.py
+++ b/service.watchdog/watchdog/observers/inotify.py
@@ -238,6 +238,7 @@ if platform.is_linux():
     InotifyConstants.IN_CREATE,
     InotifyConstants.IN_DELETE,
     InotifyConstants.IN_DELETE_SELF,
+    InotifyConstants.IN_DONT_FOLLOW,
     ])
 
   class InotifyEvent(object):
@@ -530,7 +531,15 @@ if platform.is_linux():
       """
       Reads events from inotify and yields them.
       """
-      event_buffer = os.read(self._inotify_fd, event_buffer_size)
+      while True:
+        try:
+          event_buffer = os.read(self._inotify_fd, event_buffer_size)
+          break
+        except OSError as e:
+          if e.errno == errno.EINTR:
+            continue
+          break
+      
       with self._lock:
         event_list = []
         for wd, mask, cookie, name in Inotify._parse_event_buffer(
@@ -627,6 +636,8 @@ if platform.is_linux():
         for root, dirnames, _ in os.walk(path):
           for dirname in dirnames:
             full_path = absolute_path(os.path.join(root, dirname))
+            if os.path.islink(full_path):
+              continue
             self._add_watch(full_path, mask)
 
     def _add_watch(self, path, mask):
diff --git a/service.watchdog/watchdog/utils/__init__.py 
b/service.watchdog/watchdog/utils/__init__.py
index 0d03714..c008d05 100644
--- a/service.watchdog/watchdog/utils/__init__.py
+++ b/service.watchdog/watchdog/utils/__init__.py
@@ -110,9 +110,7 @@ class DaemonThread(threading.Thread):
 
   def stop(self):
     """Signals the daemon thread to stop."""
-    
     self._stopped_event.set()
-    print("WATCHDOG: DaemonThread.stop() " + str(self))
     self.on_thread_exit()
 
 

http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=4006cbf250ac1c65513f45a1f234bb523a9205bd

commit 4006cbf250ac1c65513f45a1f234bb523a9205bd
Author: Martijn Kaijser <mcm.kaij...@gmail.com>
Date:   Tue Aug 7 17:54:30 2012 +0200

    [script.ransomandlastitems] -v1.2.5

diff --git a/script.randomandlastitems/LISEZMOI.txt 
b/script.randomandlastitems/LISEZMOI.txt
index 4ab01f0..48c9eac 100644
--- a/script.randomandlastitems/LISEZMOI.txt
+++ b/script.randomandlastitems/LISEZMOI.txt
@@ -63,6 +63,8 @@ Playlist<method>Episode<menu>.<# of episode>.EpisodeTitle = 
Titre de l'
 Playlist<method>Episode<menu>.<# of episode>.EpisodeNo = Numéro de l'épisode 
N°# (sous la forme sXXeXX)
 Playlist<method>Episode<menu>.<# of episode>.EpisodeSeason = Saison de 
l'épisode N°#
 Playlist<method>Episode<menu>.<# of episode>.EpisodeNumber = Numéro de 
l'épisode N°#
+Playlist<method>Episode<menu>.<# of episode>.TVShowFanart = Fanart de la série 
pour l'épisode N°#
+Playlist<method>Episode<menu>.<# of episode>.TVShowThumb = Vignette de la 
série pour l'épisode N°#
 
 * type=Music
 
diff --git a/script.randomandlastitems/README.txt 
b/script.randomandlastitems/README.txt
index b898d7d..21fdc30 100644
--- a/script.randomandlastitems/README.txt
+++ b/script.randomandlastitems/README.txt
@@ -61,6 +61,8 @@ Playlist<method>Episode<menu>.<# of episode>.EpisodeTitle = 
Episode N
 Playlist<method>Episode<menu>.<# of episode>.EpisodeNo = Episode N°# (format 
sXXeXX)
 Playlist<method>Episode<menu>.<# of episode>.EpisodeSeason = Episode N°# 
season number
 Playlist<method>Episode<menu>.<# of episode>.EpisodeNumber = Episode N°# number
+Playlist<method>Episode<menu>.<# of episode>.TVShowFanart = TV Show fanart for 
episode N°#
+Playlist<method>Episode<menu>.<# of episode>.TVShowThumb = TV Show thumbnail 
for episode N°#
 
 * type=Music
 
diff --git a/script.randomandlastitems/addon.xml 
b/script.randomandlastitems/addon.xml
index fa41cad..509a9f1 100644
--- a/script.randomandlastitems/addon.xml
+++ b/script.randomandlastitems/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

-<addon id="script.randomandlastitems" name="Random and Last items script" 
version="1.2.4" provider-name="MikeBZH44">

+<addon id="script.randomandlastitems" name="Random and Last items script" 
version="1.2.5" provider-name="MikeBZH44">

        <requires>

                <import addon="xbmc.python" version="2.0"/>

                <import addon="script.module.simplejson" version="2.0.10"/>

diff --git a/script.randomandlastitems/changelog.txt 
b/script.randomandlastitems/changelog.txt
index c10f0b8..cd3ae69 100644
--- a/script.randomandlastitems/changelog.txt
+++ b/script.randomandlastitems/changelog.txt
@@ -1,3 +1,6 @@
+v1.2.5
+- [Add] New properties TVShowThumb and TVShowFanart to get TV Show thumbnail 
and fanart of the episode
+
 v1.2.4
 - [Fix] Albums properties were not cleared properly
 - [Add] New property AlbumDesc
diff --git a/script.randomandlastitems/randomandlastitems.py 
b/script.randomandlastitems/randomandlastitems.py
index 369decb..700364a 100644
--- a/script.randomandlastitems/randomandlastitems.py
+++ b/script.randomandlastitems/randomandlastitems.py
@@ -243,6 +243,10 @@ def _getEpisodesFromPlaylist ( ):
                 _episodes = _json_response.get( "result", {} ).get( "episodes" 
)
                 if _episodes:
                     for _episode in _episodes:
+                        # Add TV Show fanart and thumbnail for each episode
+                        #_episode["tvshowid"]=_file['id']
+                        _episode["tvshowfanart"]=_file['fanart']
+                        _episode["tvshowthumb"]=_file['thumbnail']
                         _total, _watched, _unwatched, _result = 
_watchedOrResume ( _total, _watched, _unwatched, _result, _episode )
                 else:
                     print("[RandomAndLastItems] ## PLAYLIST %s COULD NOT BE 
LOADED ##" %(PLAYLIST))
@@ -274,6 +278,13 @@ def _getEpisodesFromPlaylist ( ):
             # Remove item from JSON list
             _result.remove( _episode )
             _count += 1
+            if _episode.get("tvshowid") :
+                _json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", 
"method": "VideoLibrary.GetTVShowDetails", "params": { "tvshowid": %s, 
"properties": ["title", "fanart", "thumbnail"] }, "id": 1}' 
%(_episode['tvshowid']))
+                _json_query = unicode(_json_query, 'utf-8', errors='ignore')
+                _json_pl_response = simplejson.loads(_json_query)
+                _tvshow = _json_pl_response.get( "result", {} ).get( 
"tvshowdetails" )
+                _episode["tvshowfanart"]=_tvshow['fanart']
+                _episode["tvshowthumb"]=_tvshow['thumbnail']
             _setEpisodeProperties ( _episode, _count )
         if _count != LIMIT:
             while _count < LIMIT:
@@ -327,6 +338,20 @@ def _getEpisodes ( ):
             # Remove item from JSON list
             _result.remove( _episode )
             _count += 1
+            _json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetTVShowDetails", "params": { "tvshowid": %s, "properties": 
["title", "fanart", "thumbnail"] }, "id": 1}' %(_episode['tvshowid']))
+            _json_query = unicode(_json_query, 'utf-8', errors='ignore')
+            _json_pl_response = simplejson.loads(_json_query)
+            _tvshow = _json_pl_response.get( "result", {} ).get( 
"tvshowdetails" )
+            _episode["tvshowfanart"]=_tvshow['fanart']
+            _episode["tvshowthumb"]=_tvshow['thumbnail']
+            """
+            _json_query = xbmc.executeJSONRPC('{"jsonrpc": "2.0", "method": 
"VideoLibrary.GetSeasons", "params": { "tvshowid": %s, "properties": ["season", 
"episode", "showtitle", "fanart", "thumbnail"] }, "id": 1}' 
%(_episode['tvshowid']))
+            _json_query = unicode(_json_query, 'utf-8', errors='ignore')
+            _json_pl_response = simplejson.loads(_json_query)
+            _seasons = _json_pl_response.get( "result", {} ).get( "seasons" )
+            print("##### SEASON = ", _seasons)
+            # ATTENTION, ca retourne toutes les saisons, il faudra boucler 
pour trouver la bonne saison par rapport a l episode
+            """
             _setEpisodeProperties ( _episode, _count )
         if _count != LIMIT:
             while _count < LIMIT:
@@ -503,6 +528,8 @@ def _setEpisodeProperties ( _episode, _count ):
         episodeno = "s%se%s" % ( seasonXX,  episode, )
         thumb = _episode['thumbnail']
         fanart = _episode['fanart']
+        tvthumb = _episode['tvshowthumb']
+        tvfanart = _episode['tvshowfanart']
     else:
         title = ""
         rating = ""
@@ -516,6 +543,8 @@ def _setEpisodeProperties ( _episode, _count ):
         episodeno = ""
         thumb = ""
         fanart = ""
+        tvthumb = ""
+        tvfanart = ""
     # Set window properties
     _setProperty( "%s.%d.Path"          % ( PROPERTIE, _count ), path )
     _setProperty( "%s.%d.Thumb"         % ( PROPERTIE, _count ), thumb)
@@ -529,6 +558,8 @@ def _setEpisodeProperties ( _episode, _count ):
     _setProperty( "%s.%d.EpisodeNo"     % ( PROPERTIE, _count ), episodeno )
     _setProperty( "%s.%d.EpisodeSeason" % ( PROPERTIE, _count ), season )
     _setProperty( "%s.%d.EpisodeNumber" % ( PROPERTIE, _count ), episode )
+    _setProperty( "%s.%d.TVShowThumb"   % ( PROPERTIE, _count ), tvthumb)
+    _setProperty( "%s.%d.TVShowFanart"  % ( PROPERTIE, _count ), tvfanart)
 
 def _setAlbumProperties ( _album, _count ):
     global PROPERTIE

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

Summary of changes:
 script.randomandlastitems/LISEZMOI.txt          |    2 +
 script.randomandlastitems/README.txt            |    2 +
 script.randomandlastitems/addon.xml             |    2 +-
 script.randomandlastitems/changelog.txt         |    3 ++
 script.randomandlastitems/randomandlastitems.py |   31 +++++++++++++++++++++++
 service.watchdog/addon.xml                      |    2 +-
 service.watchdog/changelog.txt                  |    6 +++-
 service.watchdog/watchdog/observers/__init__.py |    2 +-
 service.watchdog/watchdog/observers/fsevents.py |    2 +
 service.watchdog/watchdog/observers/inotify.py  |   13 +++++++++-
 service.watchdog/watchdog/utils/__init__.py     |    2 -
 11 files changed, 60 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
Scripts

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Xbmc-addons mailing list
Xbmc-addons@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to