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