Jump to content

Top Picks support thread


chef

Recommended Posts

bakes82
4 hours ago, chef said:

Perhaps if the lists change enough we can have the top picks swap out during the week. 

I don’t use the trakt ratings info per se. Trakt has a whole section for lists or users to make their own. I’d just give the user the ability to use whatever list they want so if they want the top Netflix’s for the week list sure whatever. If they want that top pirates shows on the week also sure no one cares. At this point it’s just pull the lists entities loop them match the ids add to channel done.  In the api I believe trakt also has a few like trakt trending etc that aren’t lists but just a standard end point if you were looking for that to merge with your dataset.  For the trakt lists it probably tells you the last time updated, in my code I just cache the items for like 3hr and then pull fresh again if cache is expired.  Again my use case is to only use the list data and to make my life simple and updates easy.  Iirc the get Chanel items call is called at every level so for tv it goes series/season/episodes.  The only bad thing with channels is no way to dynamically make them so you have to statically define the number you want to support up front.  If they add pinning collections to home that changes a lot since those are easily dynamically created and you could pull the Star Wars list make collection, the IMDb top 200, etc.

Link to comment
Share on other sites

bakes82

Oh you might also want to have them pass over a api key also for whatever service so you don’t get rate limited.

Link to comment
Share on other sites

rbjtech
14 hours ago, bakes82 said:

I dont understand this, isnt this just you adding crap to a playlist lol, like whats the point of adding stuff as a playlist as it keeps playing stuff, no thanks.  I much prefer it pulling from a api list that you can configure and that way you can use criteria so it will dynamically update, but my users are more interested in what's new and hot, not what I think might be good, why are the adding stuff to a playlist, just so they can see it on the home screen, I guess in plex thats the "watch list" feature, I also dont use since it doesnt remove items once watched lol.

 

The plex discover is pretty amazing now days though, so if you click the item it will show you EVERY server its on, and every service you can get it on

image.thumb.png.db0fd6378bd65a6e0fa4db0ed2908e39.pngimage.thumb.png.27da41609055a26cb8c93c0bf73f90d2.png

Yes - you don't understand it - thankyou for acknowledging that fact.

If I wanted a random list of somebody elses suggestions, based on the usual common 'Trending' pages - which trend simply because it appears in the 'Trending' pages based on it being newly released and it has a big Marketing budget - be a sheep - entirelly up to you.   Been there, done that but the simple fact of the matter is - that is NOT what this is about.

Maybe you have never thought about if others would like/appreciate something you have just watched ?     If you have, how could you add that to their individual 'Watch List' for next time ?     The only person that knows what other people like - is another person - not some BS general algorithm.

  • Agree 2
Link to comment
Share on other sites

woenk
14 hours ago, chef said:

Actually, that is something that top picks isn't calculating. It isn't calculating trending items from external sources, it is calculating trending items on the server.

Because of the small sample size of some severs, it is probabaly best to collect information about trending media from external sources.

 

I like your plugin exactly BECAUSE it does not rely on external sources. External sources will only show what is hyped at the moment, which everybody anyway knows about. Would for me be just another layer of complexity that adds new bug possibilities.

But then again...I am really only running a private server for friends and not for commercial usage.

  • Like 3
Link to comment
Share on other sites

chef

I pushed a change in .60 that makes sure to read, and create proper season data. 

🤘

  • Thanks 1
Link to comment
Share on other sites

chef

Do you think it is possible to allow users to 'heart' library items, in order to have them be added to the top picks @rbjtech?

Could we utilize that built in system to our advantage as a way to have the user base take part in the top selections? 

If each of the users 'heart' an unwatched item, then that should be added to the list.

Edited by chef
Link to comment
Share on other sites

Darkseidd
1 hour ago, chef said:

I pushed a change in .60 that makes sure to read, and create proper season data. 

🤘

does this mean, if series have 20+ season (example: Law & Order SVU), top picks gonna spend hellalot of time generating all 500+ episodes and all 20+ season's metadata?

Link to comment
Share on other sites

chef
On 2/25/2024 at 10:19 AM, Darkseidd said:

does this mean, if series have 20+ season (example: Law & Order SVU), top picks gonna spend hellalot of time generating all 500+ episodes and all 20+ season's metadata?

It is possible. But, it should only create the info nfo for data, and a strm file.

Its probably not as much as you'd think, reprocessing the series. 

 

Edited by chef
Link to comment
Share on other sites

bakes82
7 hours ago, rbjtech said:

Yes - you don't understand it - thankyou for acknowledging that fact.

If I wanted a random list of somebody elses suggestions, based on the usual common 'Trending' pages - which trend simply because it appears in the 'Trending' pages based on it being newly released and it has a big Marketing budget - be a sheep - entirelly up to you.   Been there, done that but the simple fact of the matter is - that is NOT what this is about.

Maybe you have never thought about if others would like/appreciate something you have just watched ?     If you have, how could you add that to their individual 'Watch List' for next time ?     The only person that knows what other people like - is another person - not some BS general algorithm.

Well I use plex mainly. So it has watch list and play list and collections.  Again I use the programs that have the feature I want to use.  So idk what you are using this plugin for if it’s just to store things you want to watch. Thats not a top plugin.  A top plugin in is what people are watching. Plus I could just make my own list to manage it in trakt etc.  That way I’m not writing extra code that is prone to breaking and updates.  It’s not like everything you are talking about can’t be solved using a list also it just moves the management piece, you could still use your heart stuff and add it to the list etc.  And now you gain list back, you you have multi sever it can be used in multi places w/out having to recreate it, again we just think about things differently but I’m also in software architecture for fortune 300 company so some of my designs follow the larger org patterns of like if you already use software ie trakt and you can reuse it for something else you do that over writing new code.  So use trakt lists to make collections of top IMDb 250, seasonal content like 2023 hallmark Xmas stories, etc. so for me a trending that pulls from trakt makes more logical choice since I’m already using trakt and I can use it in plex with PMM so I’m not duplicating more effort.  I assume you guys run prod/dev boxes, do you not try to mirror it especially for testing something like this.

Link to comment
Share on other sites

bakes82
7 hours ago, woenk said:

External sources will only show what is hyped at the moment, which everybody anyway knows about. Would for me be just another layer of complexity that adds new bug possibilities.

You must spend alot of time following tv. I don’t even watch that much tv. Don’t watch any of the marvel crap.  None of the Star Wars crap.  My users find the overall public trending useful because we don’t just watch tv all day, how would they find out about these things if they don’t pay for any streaming services?  How do you hear about all these new things and when they come out unless you follow it or right you see it on some trending list.  I also don’t care what my users watch nor would they want me to make a static list of what I think they should watch. They would be like remove that crap.  I personally am not going to watch some old tv show or a cancelled or ended one, nor would I want to try and make recommendations for ages like 16 to 75 that actively use it and vastly different interests.

Link to comment
Share on other sites

chef
20 hours ago, Zhalianna said:

I was originally under the impression it was doing this, which is why I went forth with the plugin. so if you can implement this, that will be awesome! 

 

If not too much to ask if the trend is not on your server, it skips it and pull next one on the server...that way it becomes trending picks on your server based on external activities vs internal. For someone like myself who only shares this with one other person, it didn't provide too much value due to the limitation...so I never went through the full purchase 

Either way, I appreciate your effort!

It uses community ratings from the providers.

But it isn't completely based on provider data, it also calculates server user data. 

I will be adding some trakt support, however to enable it you may need a trakt API key. 

I'll also enhance the method that calculates picks, and make sure nine picks are drawn based on provider data if necessary 

 

Edited by chef
Link to comment
Share on other sites

woenk
13 hours ago, bakes82 said:

You must spend alot of time following tv. I don’t even watch that much tv. Don’t watch any of the marvel crap.  None of the Star Wars crap.  My users find the overall public trending useful because we don’t just watch tv all day, how would they find out about these things if they don’t pay for any streaming services?  How do you hear about all these new things and when they come out unless you follow it or right you see it on some trending list.  I also don’t care what my users watch nor would they want me to make a static list of what I think they should watch. They would be like remove that crap.  I personally am not going to watch some old tv show or a cancelled or ended one, nor would I want to try and make recommendations for ages like 16 to 75 that actively use it and vastly different interests.

1 minute on IMDB

Link to comment
Share on other sites

rbjtech
19 hours ago, chef said:

Do you think it is possible to allow users to 'heart' library items, in order to have them be added to the top picks @rbjtech

Possibly - but the key issue here is you can't 'heart' for somebody else - and that's where using a local playlist has the major advantage.   

The other requirement would be a 'Top Picks' channel per USER.  I'm not sure if that is doable - I'm using a Library with multiple folders all permissioned for the individual users - that's how only that users items get listed in the same 'Watch List' row.

image.png.55f320b47596bbe99ba68885135d7342.png

  • Like 1
Link to comment
Share on other sites

rbjtech
20 hours ago, chef said:

I pushed a change in .60 that makes sure to read, and create proper season data. 

🤘

.60 looks good and creates the proper Season files now - thanks ! :)

  • Like 1
Link to comment
Share on other sites

Zhalianna
19 hours ago, chef said:

It uses community ratings from the providers.

But it isn't completely based on provider data, it also calculates server user data. 

I will be adding some trakt support, however to enable it you may need a trakt API key. 

I'll also enhance the method that calculates picks, and make sure nine picks are drawn based on provider data if necessary 

 

Thank you :) traktv api won't be a problem for me at all. As long as it's an option. Thank you again for putting into consideration 🙏

Link to comment
Share on other sites

lordairivis
13 hours ago, rbjtech said:

.60 looks good and creates the proper Season files now - thanks ! :)

Yes, .60 is now creating the correct number of .strm files in the data folder.

I am still having an issue where TV show episodes are not identifying properly, and I'm not sure if it's an Emby problem or a Top Picks problem. Whenever I have TV shows enabled to be selected as a top pick, the metadata gets all screwed up and instead of showing a single entry for the TV series with x amount of episodes, I get tons of individual episodes showing up trying to identify as anything except the episode of the TV show they're from:

image.thumb.png.3d67377bc4975469b8b7b7605254dd12.png

All of these are single episodes from the TV show 30 Coins. The information in the .nfo files seems to be correct, but the IMDB, TVDB, and TheMovieDB numbers in the metadata are all wrong.

Link to comment
Share on other sites

chef
On 2/26/2024 at 5:12 AM, rbjtech said:

Possibly - but the key issue here is you can't 'heart' for somebody else - and that's where using a local playlist has the major advantage.   

The other requirement would be a 'Top Picks' channel per USER.  I'm not sure if that is doable - I'm using a Library with multiple folders all permissioned for the individual users - that's how only that users items get listed in the same 'Watch List' row.

image.png.55f320b47596bbe99ba68885135d7342.png

ah interesting approach. 

 

Link to comment
Share on other sites

chef
12 hours ago, lordairivis said:

Yes, .60 is now creating the correct number of .strm files in the data folder.

I am still having an issue where TV show episodes are not identifying properly, and I'm not sure if it's an Emby problem or a Top Picks problem. Whenever I have TV shows enabled to be selected as a top pick, the metadata gets all screwed up and instead of showing a single entry for the TV series with x amount of episodes, I get tons of individual episodes showing up trying to identify as anything except the episode of the TV show they're from:

image.thumb.png.3d67377bc4975469b8b7b7605254dd12.png

All of these are single episodes from the TV show 30 Coins. The information in the .nfo files seems to be correct, but the IMDB, TVDB, and TheMovieDB numbers in the metadata are all wrong.

 

@lordairivis

 

I've seen this before.

What happened was, at some point during an Emby update, the library manager object in the core changed, and Top Picks lost its "Type".

We need to reset the Top Picks Library as "Mixed Content".

 

You can either set this yourself, and refresh the library, or you can remove the Top Picks Library from Emby, and restart the Server which will reset everything for you.

Sorry for the inconvenience there.

Let me know how it goes. 

  • Thanks 1
Link to comment
Share on other sites

rbjtech
1 hour ago, chef said:

ah interesting approach. 

 

It works lol - it's just a crappy windows batch file that reads the playlists for each user on a schedule, creating new strm and support files each time like your plugin does.   For All users (spotlight) it just uses the landscape jpg as the poster - and thus they look bigger on screen.

@echo off
setlocal ENABLEDELAYEDEXPANSION

set strmLibraryDrive=\\

c:
cd \batch\watchlist


FOR /F "delims=" %%x in ('dir /a-s /b /s C:\Emby-Server\programdata\data\userplaylists\[WATCHLIST]*.m3u') DO (

	set watchlistuser=%%x
	echo.
	echo ----
	echo watchlist user - !watchlistuser!
	echo ----

	FOR /F "delims=: tokens=1,2 eol=" %%a in ('findstr /C:PLAYLIST: "!watchlistuser!"') DO (
	
		set playlistuser=%%b

		set playlistuser=!playlistuser:[WATCHLIST] =!

		echo playlistuser - !playlistuser!

		del /s /q "\\media\Watchlist\!playlistuser!\*.*"
		rd /s /q "\\media\Watchlist\!playlistuser!\"

	)


	FOR /F "delims=: tokens=1,2 eol=" %%a in ('findstr /C:file: "!watchlistuser!"') DO (
	
		set playlistname=%%a
		set playlistfile=%%b

		echo file - !playlistfile!

		set originalLibraryDrive=%%~db
		set originalLibraryPath=%%~pb
		set originalFileName=%%~nb
		set originalFileExt=%%~xb
		set strmFileLink=%%b
		set strmLibraryPath=media\Watchlist\!playlistuser!

		echo	Original Library Path 	: !originalLibraryDrive!!originalLibraryPath!
		echo	Original File Name	: !originalFileName!
		echo	original File Ext	: !originalFileExt!
		echo	strm Library Path	: !strmLibraryDrive!!strmLibraryPath!

		rem ** create new strm folders if they do not exist **

		if not exist "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\" (
			mkdir "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			echo Creating folder : !strmLibraryDrive!!strmLibraryPath!\!originalFileName!\ 
		)

		rem ** create new strm files if they do not exist **

		if not exist "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\!originalFileName!.strm" (
			echo !strmFileLink! > "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\!originalFileName!.strm"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.jpg" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.nfo" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.png" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.srt" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.bif" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\" 
		)

			rem copy landscape image to poster image for All Users only

			if "!playlistuser!"=="All Users" (
				if exist "!originalLibraryDrive!!originalLibraryPath!\landscape.*" (
					ren "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\poster.*" poster-original.*
					copy "!originalLibraryDrive!!originalLibraryPath!\landscape.*" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\poster.*"
					pause
					) else (
					ren "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\poster.*" poster-original.*
					copy "!originalLibraryDrive!!originalLibraryPath!\fanart.*" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\poster.*"
					pause
					)
			)		

	)
)

Result is you get a Spotlight Row (from the All Users watchlist/playlist) and a dedicated 'Watch List' for that user, based on their own 'Watch/Playlist' that others can contribute to.

It would be great to have that sort of functionality added into the Top Picks Plugin .. 👍

image.png.068a5b6558a0483314a4c43ec19d43e3.png

Edited by rbjtech
  • Like 1
Link to comment
Share on other sites

chef
Just now, rbjtech said:

It works lol - it's just a crappy windows batch file that reads the playlists for each user on a schedule, creating new strm and support files each time like your plugin does.   For All users (spotlight) it just uses the landscape jpg as the poster - and thus they look bigger on screen.

@echo off
setlocal ENABLEDELAYEDEXPANSION

set strmLibraryDrive=\\

c:
cd \batch\watchlist


FOR /F "delims=" %%x in ('dir /a-s /b /s C:\Emby-Server\programdata\data\userplaylists\[WATCHLIST]*.m3u') DO (

	set watchlistuser=%%x
	echo.
	echo ----
	echo watchlist user - !watchlistuser!
	echo ----

	FOR /F "delims=: tokens=1,2 eol=" %%a in ('findstr /C:PLAYLIST: "!watchlistuser!"') DO (
	
		set playlistuser=%%b

		set playlistuser=!playlistuser:[WATCHLIST] =!

		echo playlistuser - !playlistuser!

		del /s /q "\\media\Watchlist\!playlistuser!\*.*"
		rd /s /q "\\media\Watchlist\!playlistuser!\"

	)


	FOR /F "delims=: tokens=1,2 eol=" %%a in ('findstr /C:file: "!watchlistuser!"') DO (
	
		set playlistname=%%a
		set playlistfile=%%b

		echo file - !playlistfile!

		set originalLibraryDrive=%%~db
		set originalLibraryPath=%%~pb
		set originalFileName=%%~nb
		set originalFileExt=%%~xb
		set strmFileLink=%%b
		set strmLibraryPath=media\Watchlist\!playlistuser!

		echo	Original Library Path 	: !originalLibraryDrive!!originalLibraryPath!
		echo	Original File Name	: !originalFileName!
		echo	original File Ext	: !originalFileExt!
		echo	strm Library Path	: !strmLibraryDrive!!strmLibraryPath!

		rem ** create new strm folders if they do not exist **

		if not exist "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\" (
			mkdir "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			echo Creating folder : !strmLibraryDrive!!strmLibraryPath!\!originalFileName!\ 
		)

		rem ** create new strm files if they do not exist **

		if not exist "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\!originalFileName!.strm" (
			echo !strmFileLink! > "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\!originalFileName!.strm"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.jpg" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.nfo" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.png" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.srt" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\"
			copy "!originalLibraryDrive!!originalLibraryPath!\*.bif" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\" 
		)

			rem copy landscape image to poster image for All Users only

			if "!playlistuser!"=="All Users" (
				if exist "!originalLibraryDrive!!originalLibraryPath!\landscape.*" (
					ren "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\poster.*" poster-original.*
					copy "!originalLibraryDrive!!originalLibraryPath!\landscape.*" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\poster.*"
					pause
					) else (
					ren "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\poster.*" poster-original.*
					copy "!originalLibraryDrive!!originalLibraryPath!\fanart.*" "!strmLibraryDrive!!strmLibraryPath!\!originalFileName!\poster.*"
					pause
					)
			)		

	)
)

Result is you get a Spotlight Row (from the All Users watchlist/playlist) and a dedicated 'Watch List' for that user, based on their own 'Watch/Playlist' that others can contribute to.

It would be great to have that sort of functionality added into the Top Picks Plugin .. 👍

image.png.068a5b6558a0483314a4c43ec19d43e3.png

Blackberry. Happened right around the corner from me... LOL.

The plugin would have to create these playlists right? One for each user?

It would also have to watch for new users in order to create the playlist for them?

 

Link to comment
Share on other sites

rbjtech
6 minutes ago, chef said:

The plugin would have to create these playlists right? One for each user?

It would also have to watch for new users in order to create the playlist for them?

 

That would be ideal yes, just put something identifiable in the name (?) as you obviously only want to do this for certain playlists.   As you can see in the script - I just hunt for [WATCHLIST] in the name but there is probably a smarter way to do this.   And yes for new users, I guess setting up the watchlist and permissions would need to happen.

What's your thoughts on integrating ?   Maybe take it PM if you like rather than put in your Plugin support thread ?

  • Like 1
Link to comment
Share on other sites

lordairivis
3 hours ago, chef said:

 

@lordairivis

 

I've seen this before.

What happened was, at some point during an Emby update, the library manager object in the core changed, and Top Picks lost its "Type".

We need to reset the Top Picks Library as "Mixed Content".

 

You can either set this yourself, and refresh the library, or you can remove the Top Picks Library from Emby, and restart the Server which will reset everything for you.

Sorry for the inconvenience there.

Let me know how it goes. 

Thanks, this fixed both issues I was having. Not sure why removing the library/restarting/re-running the tasks didn't fix this the first time I did it, but it did. It also sorted out the issue I was having with the TV shows and Movies being sorted differently.

Link to comment
Share on other sites

  • 2 weeks later...
Zhalianna

how do I make sure the purchased license is attached to my by account? my email address now is different from when I initially sign up

Link to comment
Share on other sites

  • 3 weeks later...
woenk

Is it just me or are series an issue ? 

Dick Turpin .....still get a picture of  the season folder, but the episodes have none and the episodes do not show season and episodes in the name.... also had an instance where it felt like TopPicks was trying to find a movie from an episode name (sadly ca not remmeber the series)

image.thumb.png.5d2eae54658b06e6e81c5ed2131b8ee6.png

Link to comment
Share on other sites

woenk
15 hours ago, woenk said:

Is it just me or are series an issue ? 

Dick Turpin .....still get a picture of  the season folder, but the episodes have none and the episodes do not show season and episodes in the name.... also had an instance where it felt like TopPicks was trying to find a movie from an episode name (sadly ca not remmeber the series)

image.thumb.png.5d2eae54658b06e6e81c5ed2131b8ee6.png

found it...had to delete the Top Picks Library and redo it as mixed content

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...