Jump to content

Test - Trakt List To Collections


Recommended Posts

rbjtech
Posted

On my db - I do not have a folder path - only the type 5 MKV (with the provider ID's)

image.png.639288f52ef6eadca6e2c80c228a7448.png

Providers Id's are there also - thus it working.

So the question, is why in your db, do you have a db record for just the folder ?

sh0rty
Posted
24 minutes ago, rbjtech said:

On my db - I do not have a folder path - only the type 5 MKV (with the provider ID's)

image.png.639288f52ef6eadca6e2c80c228a7448.png

Providers Id's are there also - thus it working.

So the question, is why in your db, do you have a db record for just the folder ?

I hope one of the devs can tell...

adminExitium
Posted

I still believe its the CollapseVideoFolders option because that matches both the observations and the settings atm. I have the same suggestion of setting up a temporary instance and scanning in a subset of the folders with it set to true to see if the plugin works after that.

  • Like 1
sh0rty
Posted (edited)
4 hours ago, adminExitium said:

I still believe its the CollapseVideoFolders option because that matches both the observations and the settings atm. I have the same suggestion of setting up a temporary instance and scanning in a subset of the folders with it set to true to see if the plugin works after that.

Is CollapseSingleItemFolders a checkbox feature when creating library or is this a xml-only setting? Just change the xml entry after creating library? Are multi-version movies in one parent folder supported? As far as I read in the forum CollapseVideoFolders global setting with the value false would override my test library CollapseSingleItemFolders setting set to true. So there would be no option to do a test library. If I would do, I had to build everything from scratch and perhaps that setting could be the culprit, perhaps not.

Not everyone is writing in the forum and to be honest, a lot of plugins like this are awesome user projects for themselves published for a minority compared to the complete userbase of Emby. I guess I'm not the only one, just the one who tried this specific plugin with this usecase. At one time in the history of Emby (usind it since 2015) so software seemed to find it valuable to also give the conatining folder a library ID. So there must be given a way to the plugin devs which respects this older installations also imo. If @Lukeor any other dev doesn't know a solution apart from rebuilding from scratch, then it is what it is. Rebuild totally from scratch is no option for me.

Edited by shorty1483
Happy2Play
Posted (edited)
3 hours ago, shorty1483 said:

Is CollapseSingleItemFolders a checkbox feature when creating library or is this a xml-only setting?

XML, dual setting as system.xml set to true overrides library options.xml option but now db only setting.  So you have to use the api to change the collapse settings now.

3 hours ago, shorty1483 said:

Are multi-version movies in one parent folder supported?

Yes that is Emby's primary method with file naming scheme.

3 hours ago, shorty1483 said:

As far as I read in the forum CollapseVideoFolders global setting with the value false would override my test library CollapseSingleItemFolders setting set to true.

Global false allows library to be true or false.  Global true overrides library option.  As these have changed several times over time and believe both are false on NEW.  So these setting are mixed across all older installs.

7 hours ago, rbjtech said:

On my db - I do not have a folder path - only the type 5 MKV (with the provider ID's)

Odd indeed as all my media show type 3 media folders.  Unless they are just dropped in library folder then no type 3 folder.

image.png.3dc31c4f3af4cb3d017c408e55740397.png

But system.xml option does appear to be relevant as I do have older test system with it set to true and items do not have type 3 parent folders unless nested.

image.png.3a162a2600aa3bfcf2823e9e6b65def1.png

 

Edited by Happy2Play
  • Like 1
bakes82
Posted
12 minutes ago, Happy2Play said:

Odd indeed as all my media show type 3 media folders.  Unless they are just dropped in library folder then no type 3 folder.

How old is your setup, my guess is if you install a fresh version they go away for "movies" they are still there for series.  Unless it's a "windows server" setting but that doesn't seem like it would be the case.  Whatever the case is, if its no longer required emby should have removed the entries on that version that deprecated it.

Happy2Play
Posted
10 minutes ago, bakes82 said:

How old is your setup, my guess is if you install a fresh version they go away for "movies" they are still there for series.  Unless it's a "windows server" setting but that doesn't seem like it would be the case.  Whatever the case is, if its no longer required emby should have removed the entries on that version that deprecated it.

Made edit above as it does appear to be related to system.xml set to true as all NEW setups will be false/false.  So these flags will determine if folder exists in db or not.

Happy2Play
Posted (edited)

But there is an obvious type difference as media will be type 5 (movies) and folder type 3.

Edited by Happy2Play
zerodayz
Posted

Just tested with the latest release and happy to confirm that it did work and create a Movies collection. 
 

Did take quite a while to scan through the items mind.

Thanks for taking the time to look into this!

 

 

bakes82
Posted
27 minutes ago, Happy2Play said:

Made edit above as it does appear to be related to system.xml set to true as all NEW setups will be false/false.  So these flags will determine if folder exists in db or not.

Doesnt really explain why the GetItemList works fine for the systems in false/false (only 5s, no 3s) but in the other format, you need to pass in "recursive = true", so there it some other kind of logic in the GetItemsList method that is obscured from me as if there are both 3/5 type records in the DB and if I dont have 3s I only get 5s, why wouldnt the person with 3 and 5s still return just the 5s since they exist, see the issue, its only returning the 3s, its the dumbest thing :P 

I guess the question would be is, if you deleted the items in the db for the 3s of type movies does your system still work :P 

  • Like 1
bakes82
Posted
1 hour ago, Happy2Play said:

CollapseSingleItemFolders

Where is this setting, its not in the XML, I only see a <CollapseVideoFolders>true</CollapseVideoFolders> in my xml, and I dont have any 3 rows for movies.  I also just used the "stock" settings when making the library, are you saying in your config its set to false?

Happy2Play
Posted
3 minutes ago, bakes82 said:

Doesnt really explain why the GetItemList works fine for the systems in false/false (only 5s, no 3s) but in the other format, you need to pass in "recursive = true", so there it some other kind of logic in the GetItemsList method that is obscured from me as if there are both 3/5 type records in the DB and if I dont have 3s I only get 5s, why wouldnt the person with 3 and 5s still return just the 5s since they exist, see the issue, its only returning the 3s, its the dumbest thing :P 

I guess the question would be is, if you deleted the items in the db for the 3s of type movies does your system still work :P 

Probably but it is all about the views as not folder view adds the folder layer.  Where if you have a old install and Luke does not force a setting change you will never get the folder layer as your settings will exclude it as I have can see on old vs new system or it I wanted to test just toggle the system.xml from false to true.

So this will create obstacles for plugins to overcome both structures.  But all this is still beyond me as I just do trial and error to figure it out.

Happy2Play
Posted
1 minute ago, bakes82 said:

Where is this setting, its not in the XML, I only see a <CollapseVideoFolders>true</CollapseVideoFolders> in my xml, and I dont have any 3 rows for movies.  I also just used the "stock" settings when making the library, are you saying in your config its set to false?

Yes I believe system is still written and read, but library no long is written and only exist in api.

Will have to retest a release portable but retested a new beta and system was set to false along with library.

adminExitium
Posted
7 minutes ago, bakes82 said:

GetItemList works fine for the systems in false/false

I don't believe it does work in those cases. Even @rbjtechhad it to set to true in the system.xml which is why he didn't have any type 3 in the DB.

 

8 minutes ago, bakes82 said:

why wouldnt the person with 3 and 5s still return just the 5s

It becomes a nested structure with only the movie folders themselves under the library subfolders and the actual movies nested within each of these folders, which is why you need to set the recursive parameter.

  • Like 1
adminExitium
Posted (edited)
1 minute ago, Happy2Play said:

retested a new beta and system was set to false along with library

Can confirm this when I setup a fresh server a few weeks ago with the latest beta at that time. I needed to set it to true manually since I don't like the extra folder layer.

Edited by adminExitium
  • Agree 1
sh0rty
Posted (edited)

Finally I can also confirm that it's working flawlessly now. 

Thanks for the idea and bug contibutions to all participants so far!

Edited by shorty1483
bakes82
Posted
9 minutes ago, adminExitium said:

Can confirm this when I setup a fresh server a few weeks ago with the latest beta at that time. I needed to set it to true manually since I don't like the extra folder layer.

This is my config: docker  v4.8.8.0, I dont even see an option in the UI to "enable" nesting folder and the collapsevideo is set to true by default.
 

<?xml version="1.0"?>
<ServerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <EnableDebugLevelLogging>true</EnableDebugLevelLogging>
  <EnableAutoUpdate>true</EnableAutoUpdate>
  <LogFileRetentionDays>3</LogFileRetentionDays>
  <RunAtStartup>true</RunAtStartup>
  <IsStartupWizardCompleted>true</IsStartupWizardCompleted>
  <EnableUPnP>true</EnableUPnP>
  <PublicPort>8096</PublicPort>
  <PublicHttpsPort>8920</PublicHttpsPort>
  <HttpServerPortNumber>8096</HttpServerPortNumber>
  <HttpsPortNumber>8920</HttpsPortNumber>
  <EnableHttps>false</EnableHttps>
  <IsPortAuthorized>true</IsPortAuthorized>
  <AutoRunWebApp>true</AutoRunWebApp>
  <EnableRemoteAccess>true</EnableRemoteAccess>
  <LogAllQueryTimes>false</LogAllQueryTimes>
  <EnableCaseSensitiveItemIds>true</EnableCaseSensitiveItemIds>
  <PreferredMetadataLanguage>en</PreferredMetadataLanguage>
  <MetadataCountryCode>US</MetadataCountryCode>
  <SortRemoveWords>
    <string>the</string>
    <string>a</string>
    <string>an</string>
    <string>das</string>
    <string>der</string>
    <string>el</string>
    <string>la</string>
  </SortRemoveWords>
  <LibraryMonitorDelaySeconds>90</LibraryMonitorDelaySeconds>
  <EnableDashboardResponseCaching>true</EnableDashboardResponseCaching>
  <ImageSavingConvention>Compatible</ImageSavingConvention>
  <EnableAutomaticRestart>true</EnableAutomaticRestart>
  <PreferredDetectedRemoteAddressFamily>InterNetwork</PreferredDetectedRemoteAddressFamily>
  <UICulture>en-US</UICulture>
  <RemoteClientBitrateLimit>0</RemoteClientBitrateLimit>
  <LocalNetworkSubnets />
  <LocalNetworkAddresses />
  <EnableExternalContentInSuggestions>true</EnableExternalContentInSuggestions>
  <RequireHttps>false</RequireHttps>
  <IsBehindProxy>false</IsBehindProxy>
  <RemoteIPFilter />
  <IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist>
  <ImageExtractionTimeoutMs>0</ImageExtractionTimeoutMs>
  <PathSubstitutions />
  <UninstalledPlugins>
    <string>Emby.UserDeviceLimiter.dll</string>
  </UninstalledPlugins>
  <CollapseVideoFolders>true</CollapseVideoFolders>
  <EnableOriginalTrackTitles>false</EnableOriginalTrackTitles>
  <VacuumDatabaseOnStartup>true</VacuumDatabaseOnStartup>
  <SimultaneousStreamLimit>0</SimultaneousStreamLimit>
  <DatabaseCacheSizeMB>96</DatabaseCacheSizeMB>
  <EnableSqLiteMmio>false</EnableSqLiteMmio>
  <PlaylistsUpgradedToM3U>true</PlaylistsUpgradedToM3U>
  <ImageExtractorUpgraded1>true</ImageExtractorUpgraded1>
  <EnablePeopleLetterSubFolders>false</EnablePeopleLetterSubFolders>
  <OptimizeDatabaseOnShutdown>true</OptimizeDatabaseOnShutdown>
  <DatabaseAnalysisLimit>400</DatabaseAnalysisLimit>
  <DisableAsyncIO>false</DisableAsyncIO>
  <MigratedToUserItemShares8>true</MigratedToUserItemShares8>
  <MigratedLibraryOptionsToDb>true</MigratedLibraryOptionsToDb>
  <AllowLegacyLocalNetworkPassword>true</AllowLegacyLocalNetworkPassword>
  <EnableSavedMetadataForPeople>false</EnableSavedMetadataForPeople>
  <TvChannelsRefreshed>true</TvChannelsRefreshed>
  <ProxyHeaderMode>RemoteAddressesOnly</ProxyHeaderMode>
</ServerConfiguration>

 

Happy2Play
Posted
1 minute ago, bakes82 said:

This is my config: docker  v4.8.8.0, I dont even see an option in the UI to "enable" nesting folder and the collapsevideo is set to true by default.
 

<?xml version="1.0"?>
<ServerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <EnableDebugLevelLogging>true</EnableDebugLevelLogging>
  <EnableAutoUpdate>true</EnableAutoUpdate>
  <LogFileRetentionDays>3</LogFileRetentionDays>
  <RunAtStartup>true</RunAtStartup>
  <IsStartupWizardCompleted>true</IsStartupWizardCompleted>
  <EnableUPnP>true</EnableUPnP>
  <PublicPort>8096</PublicPort>
  <PublicHttpsPort>8920</PublicHttpsPort>
  <HttpServerPortNumber>8096</HttpServerPortNumber>
  <HttpsPortNumber>8920</HttpsPortNumber>
  <EnableHttps>false</EnableHttps>
  <IsPortAuthorized>true</IsPortAuthorized>
  <AutoRunWebApp>true</AutoRunWebApp>
  <EnableRemoteAccess>true</EnableRemoteAccess>
  <LogAllQueryTimes>false</LogAllQueryTimes>
  <EnableCaseSensitiveItemIds>true</EnableCaseSensitiveItemIds>
  <PreferredMetadataLanguage>en</PreferredMetadataLanguage>
  <MetadataCountryCode>US</MetadataCountryCode>
  <SortRemoveWords>
    <string>the</string>
    <string>a</string>
    <string>an</string>
    <string>das</string>
    <string>der</string>
    <string>el</string>
    <string>la</string>
  </SortRemoveWords>
  <LibraryMonitorDelaySeconds>90</LibraryMonitorDelaySeconds>
  <EnableDashboardResponseCaching>true</EnableDashboardResponseCaching>
  <ImageSavingConvention>Compatible</ImageSavingConvention>
  <EnableAutomaticRestart>true</EnableAutomaticRestart>
  <PreferredDetectedRemoteAddressFamily>InterNetwork</PreferredDetectedRemoteAddressFamily>
  <UICulture>en-US</UICulture>
  <RemoteClientBitrateLimit>0</RemoteClientBitrateLimit>
  <LocalNetworkSubnets />
  <LocalNetworkAddresses />
  <EnableExternalContentInSuggestions>true</EnableExternalContentInSuggestions>
  <RequireHttps>false</RequireHttps>
  <IsBehindProxy>false</IsBehindProxy>
  <RemoteIPFilter />
  <IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist>
  <ImageExtractionTimeoutMs>0</ImageExtractionTimeoutMs>
  <PathSubstitutions />
  <UninstalledPlugins>
    <string>Emby.UserDeviceLimiter.dll</string>
  </UninstalledPlugins>
  <CollapseVideoFolders>true</CollapseVideoFolders>
  <EnableOriginalTrackTitles>false</EnableOriginalTrackTitles>
  <VacuumDatabaseOnStartup>true</VacuumDatabaseOnStartup>
  <SimultaneousStreamLimit>0</SimultaneousStreamLimit>
  <DatabaseCacheSizeMB>96</DatabaseCacheSizeMB>
  <EnableSqLiteMmio>false</EnableSqLiteMmio>
  <PlaylistsUpgradedToM3U>true</PlaylistsUpgradedToM3U>
  <ImageExtractorUpgraded1>true</ImageExtractorUpgraded1>
  <EnablePeopleLetterSubFolders>false</EnablePeopleLetterSubFolders>
  <OptimizeDatabaseOnShutdown>true</OptimizeDatabaseOnShutdown>
  <DatabaseAnalysisLimit>400</DatabaseAnalysisLimit>
  <DisableAsyncIO>false</DisableAsyncIO>
  <MigratedToUserItemShares8>true</MigratedToUserItemShares8>
  <MigratedLibraryOptionsToDb>true</MigratedLibraryOptionsToDb>
  <AllowLegacyLocalNetworkPassword>true</AllowLegacyLocalNetworkPassword>
  <EnableSavedMetadataForPeople>false</EnableSavedMetadataForPeople>
  <TvChannelsRefreshed>true</TvChannelsRefreshed>
  <ProxyHeaderMode>RemoteAddressesOnly</ProxyHeaderMode>
</ServerConfiguration>

 

There is only one setting in system.xml, New installs will be false.  But as mentioned true overrides library setting

As for library option since it is no longer written you will have to verify per library in the api.

  <CollapseSingleItemFolders>true</CollapseSingleItemFolders>

But default both are false on a NEW install.  But are mixed across all previous systems or changed per user needs.

bakes82
Posted
36 minutes ago, Happy2Play said:

But default both are false on a NEW install.  But are mixed across all previous systems or changed per user needs.

How do you change it per library is there a option on the UI?

Happy2Play
Posted
1 minute ago, bakes82 said:

How do you change it per library is there a option on the UI?

No since /root/default/your library is no longer written you have edit via the api.

LibraryStuctureService  /Library/VirtualFolders/Query to see current settings for all libraries and repost /Library/VirtualFolders/LibraryOptions for the specific library.

 

Posted
4 hours ago, Happy2Play said:

There is only one setting in system.xml, New installs will be false.  But as mentioned true overrides library setting

As for library option since it is no longer written you will have to verify per library in the api.

  <CollapseSingleItemFolders>true</CollapseSingleItemFolders>

But default both are false on a NEW install.  But are mixed across all previous systems or changed per user needs.

None of this should actually matter to this plugin though, unless the plugin is doing non-recursive queries. For example, if you look at the Reports plugin, it lists your movies and this report is not limited based on this hidden config switch.

What you need on the query is IncludeItemTypes=Movie, Recursive=true

And that should do it.

Happy2Play
Posted
3 minutes ago, Luke said:

None of this should actually matter to this plugin though, unless the plugin is doing non-recursive queries. For example, if you look at the Reports plugin, it lists your movies and this report is not limited based on this hidden config switch.

What you need on the query is IncludeItemTypes=Movie, Recursive=true

And that should do it.

Recursive appears to be the overall issue as dev and @rbjtechdo not need recursive while @shorty1483does do to switches as it has changed so many time.

bakes82
Posted
3 hours ago, Luke said:

What you need on the query is IncludeItemTypes=Movie, Recursive=true

I didn’t need either of those setting and mine worked fine. I’m already filtering the data down to a a specific parentId so not sure what the type is doing for me since the parentid would be restricted on most cases, also you don’t use recursive when looking for series so …... Why would I use the include type when there is movie flag?  What’s the difference. So the sdk logic is very much broken and not intuitive and you guys don’t provide any guides and allow systems to differ from version to version/system to system which then cause the api to function completely differently then you claim.  For a commercial product the sdk is horrible, signatures on methods differ from one call to another. Some services have a get method or create then others don’t, it’s just wild.  There honestly just needs to better simplified CRUD type methods, it could even just be a helper nuget that maybe is open sourced so people could PR some commonly used method like GetMovies, GetSeries, GetCollection, GetLibraries. This way they are just abstractions but can easily be referenced across multiple projects.

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...