Kodi Community Forum
[RELEASE] RecentlyAdded Script (RecentlyAdded.py) Recently Added for Skins / Skinners - Printable Version

+- Kodi Community Forum (http://forum.kodi.tv)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Skin Development (/forumdisplay.php?fid=12)
+--- Thread: [RELEASE] RecentlyAdded Script (RecentlyAdded.py) Recently Added for Skins / Skinners (/showthread.php?tid=55907)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14


[RELEASE] RecentlyAdded Script (RecentlyAdded.py) Recently Added for Skins / Skinners - Nuka1195 - 2009-08-05 20:44

Here is a new version of RecentlyAdded.py

http://xbmc-addons.googlecode.com/svn/packages/RecentlyAdded.py

*new: "alarm" parameter.
most skins run this script whenever you enter home. with the new alarm parameter, if you have a control in home.xml to execute the script, you can set <defaultcontrol always="false"> then the script does not have to run everytime you enter home. if you can have the control in startup.xml. the bad thing about startup.xml, if you have a setting to enable this. you will have to restart xbmc once enabled.

you can pass the following optional parameters:
PHP Code:
limit=#                ; # to limit returned results (default=5)
partial=True         True to returned only items unfinished (default=False)
albums=True        True to return albums instead of songs (default=False)
unplayed=True      True to return only items that have not been played (default=False)
totals=True          True to return database totals (default=False)
trailer=True          True to play the trailer (if available) (default=False)
alarm=#              ; every # minutes run script (default=0, no alarm) 

* when alums=True, only one song is still played (developers any help)

separate parameters with "&amp;" minus quotes

example (the setproperty and visible is for aeon, when the main menu loses focus control 8999 can gain focus with navigating. you skin may not need this):
PHP Code:
<defaultcontrol always="false">8999</defaultcontrol>
 
 
        <
control type="button" id="8999">
            <
posx>-100</posx>
            <
posy>-100</posy>
            <
width>0</width>
            <
height>0</height>
   <
onfocus>XBMC.RunScript(special://skin/extras/RecentlyAdded.py,limit=5&amp;alarm=30&amp;albums=True&amp;unplayed=True&amp;totals=$INFO[Skin.HasSetting(WidgetLatestAddedTotals)])</onfocus>
            
<onfocus>SetFocus(300)</onfocus>
        </
control


properties available:

totals:
PHP Code:
"Movies.Count"
"Movies.Watched"
"Movies.UnWatched"
"Movies.LastWatchedTitle"
"Movies.LastWatchedYear"
"Movies.LastWatchedRuntime"
"Movies.LastWatchedGenre"
"Movies.LastWatchedDate"
 
"MusicVideos.Count"
"MusicVideos.Watched"
"MusicVideos.UnWatched"
 
"TVShows.Count"
"TVShows.Watched"
"TVShows.UnWatched"
"Episodes.Count"
"Episodes.Watched"
"Episodes.UnWatched"
 
"Music.SongsCount"
"Music.AlbumsCount"
"Music.ArtistsCount" 

movies %d=1 to LIMIT:
PHP Code:
"LatestMovie.%d.Title"
"LatestMovie.%d.Rating"
"LatestMovie.%d.Year"
"LatestMovie.%d.RunningTime"
"LatestMovie.%d.Path"
"LatestMovie.%d.Trailer"
"LatestMovie.%d.Fanart"
"LatestMovie.%d.Thumb" 

tv shows %d=1 to LIMIT:
PHP Code:
"LatestEpisode.%d.ShowTitle"
"LatestEpisode.%d.EpisodeTitle"
"LatestEpisode.%d.EpisodeNo"
"LatestEpisode.%d.Rating"
"LatestEpisode.%d.Path"
"LatestEpisode.%d.Fanart"
"LatestEpisode.%d.Thumb" 

music %d=1 to LIMIT:
PHP Code:
"LatestSong.%d.Title"
"LatestSong.%d.Year"
"LatestSong.%d.Artist"
"LatestSong.%d.Album"
"LatestSong.%d.Path"
"LatestSong.%d.Fanart"
"LatestSong.%d.Thumb" 



- FourTwentySmilz - 2009-08-05 22:17

So if I replace the recently_added.py i already have, with this one it should work fine without me having to change code in my Home.xml?


- Jezz_X - 2009-08-05 23:19

got to admit I'm confused too you saying we don't have to run it anymore ? or that we still have to run it but the script decides if it needs to bother updating or not ?


- ronie - 2009-08-06 00:02

you're not alone. ;-)

if i use alarm=30, does this counter keep running if i navigate away from the homescreen?
or does it only update the recently added stuff if you stay on the homepage for half an hour?

edit:
i also can't seem to see the logic in this:
Code:
<onfocus>SetProperty(LastAddedRun,1)</onfocus>
<visible>IsEmpty(Window(Home).Property(LastAddedRun))</visible>



- Jezz_X - 2009-08-06 00:25

I think it means that you just run it once in startup.xml for example and then it sets a xbmc internal alarm to rerun the script every X amount of minutes if you have it set.

I wonder what effect this would have if it decided to fire off the script while your using another like the full AMT script (since I heard about issues running 2 scripts at once)


- Nuka1195 - 2009-08-06 00:28

no the script doesn't decide. the script starts an AlarmClock()

you still need to run the script "once". if you pass alarm=30, then the script will run every 30 minutes. so then there is no need to run it everytime you enter the home menu. (which i don't like). you enter movies back out and the script runs again.

as i said in the first post you can set always="false" for you're control so it only runs once. right?

was the example not clear?


- Jezz_X - 2009-08-06 00:28

ronie Wrote:you're not alone. ;-)

if i use alarm=30, does this counter keep running if i navigate away from the homescreen?
or does it only update the recently added stuff if you stay on the homepage for half an hour?

edit:
i also can't seem to see the logic in this:
Code:
<onfocus>SetProperty(LastAddedRun,1)</onfocus>
<visible>IsEmpty(Window(Home).Property(LastAddedRun))</visible>

This is just the way to launch it and he then sets a variable to say its been launched
<onfocus>SetProperty(LastAddedRun,1)</onfocus>
and hides the launcher because its allready been launched so you wont launch it again
<visible>IsEmpty(Window(Home).Property(LastAddedRun))</visible>


- Nuka1195 - 2009-08-06 00:28

jmasrshall, was to apply a patch for that jezz. i have it in my builds and don't have any issues.


- Nuka1195 - 2009-08-06 00:31

you could launch it from autoexec.py with the params also.


- Nuka1195 - 2009-08-06 00:32

yes jezz in aeon that control can gain focus again if i lose focus by bumping the mouse. then try and navigate to the menu with the keyboard.

probably with proper skinning it isn't needed.


- ronie - 2009-08-06 00:45

Nuka1195 Wrote:no the script doesn't decide. the script starts an AlarmClock()

you still need to run the script "once". if you pass alarm=30, then the script will run every 30 minutes. so then there is no need to run it everytime you enter the home menu. (which i don't like). you enter movies back out and the script runs again.

as i said in the first post you can set always="false" for you're control so it only runs once. right?

yup, i got that one.

Nuka1195 Wrote:was the example not clear?

it's the 'plus if your in home it will update automatically' bit that got me confused.
i was unsure if the alarmclock kept running once you navigate away from home.

thanx for the explanation Nuka1195, and for all the neat scripts you've been releasing lately.

cheers.


- Nuka1195 - 2009-08-06 01:38

upon re-reading. the first post wasn't very clear.


- emal011 - 2009-08-12 18:34

I already made the update, and not works!

Pytho Script Failed:
skin/extras/recentlyadded.py


I just made the update von SVN and Aeon Hitcher...


- Hitcher - 2009-08-12 21:28

Just to clarify things a bit, some people are getting an error using my mod and the latest added script. Everything works great for me (Windows) so I'm wondering if it's a Linux problem.

All I've done is add the Hide Unwatched and Totals conditions -
Code:
<onfocus>XBMC.RunScript(special://skin/extras/RecentlyAdded.py,limit=6&amp;albums=True&amp;unplayed=True&amp;totals=True)</onfocus>

shassino Wrote:I have the same problem RecentlyAdded.py script failed.
Running on ubuntu 9.04.
I got Aeon Hitched at 1.30pm via git.
I should have latest RecentlyAdded.py.

Code:
#15:06:19 T:2842688400 M:1402363904  NOTICE:   File "/home/xbmc/.xbmc/skin/Aeon_Hitched/extras/RecentlyAdded.py", line 130, in _fetch_totals
#15:06:19 T:2842688400 M:1402363904  NOTICE: self.WINDOW.setProperty( "TVShows.Watched" , tvshows_totals[ 2 ] )
#15:06:19 T:2842688400 M:1402363904  NOTICE: IndexError
#15:06:19 T:2842688400 M:1402363904  NOTICE: :
#15:06:19 T:2842688400 M:1402363904  NOTICE: list index out of range
#15:06:19 T:2842688400 M:1402363904   ERROR: Scriptresult: Error

Full debug log:
http://pastebin.com/f706d8019



- Avigrace - 2009-08-12 21:52

With the Hitcher mod xbmc will become unresponsive and I have to forcably kill the process with the following in the log

20:39:28 T:1308 M:1122537472 ERROR: CThread::staticThread : Access violation at 0x1e0ac802: Writing location 0x00000000

Happens within 10 seconds of running up the skin and in that time it looks like the RecentlyAdded part works as I can see added movies and the totals.

However if I rename the 'extras' folder to something else then I don't get the crash, the only file inside the folder is the RecentlyAdded.py file.

XBMC is todays SVN and Hitchers mod is fresh from git today, OS is Windows 7 RC