bakes82 167 Posted December 4, 2024 Posted December 4, 2024 Using the c# sdk whats the way to find unmatched items with media files under it? This is semi close, except I still get some series folders where I dont actually have media files in them. private List<BaseItem> GetMediaItems(VirtualFolderInfo librayInfo) { var query = new InternalItemsQuery { IsVirtualItem = false, ParentIds = new[] { long.Parse(librayInfo.Id) }, OrderBy = new[] { new ValueTuple<string, SortOrder>(ItemSortBy.PremiereDate, SortOrder.Descending), new ValueTuple<string, SortOrder>(ItemSortBy.SeriesSortNameOrSortName, SortOrder.Ascending) } }; var mediaItems = _libraryManager.GetItemList(query) .Where(x => x.GetMediaStreams().Count > 0 && (x.GetProviderId(MetadataProviders.Imdb) == null && x.GetProviderId(MetadataProviders.Tmdb) == null && librayInfo.LibraryOptions.ContentType.ToLower() == "movies") || (x.GetProviderId(MetadataProviders.Imdb) == null && x.GetProviderId(MetadataProviders.Tmdb) == null) && x.GetProviderId(MetadataProviders.Tvdb) == null && librayInfo.LibraryOptions.ContentType.ToLower() == "tvshows") .ToList(); return mediaItems; } EX: I did some cleanup the one 30 rock folder with all the episodes now has a diff root folder name with the tvdbid included but I didnt delete the old folder, but the api returns it back to me in the above query
bakes82 167 Posted December 4, 2024 Author Posted December 4, 2024 @Luke Is this how I would "match" or "identify" an unmatched item, basically set the providerid, then refresh the metadata? or is there some other special method I missed? var mediaItems = _libraryManager.GetItemList(query) .Where(x => (x.GetProviderId(MetadataProviders.Imdb) == null && x.GetProviderId(MetadataProviders.Tmdb) == null && librayInfo.LibraryOptions.ContentType.ToLower() == "movies") || (x.GetProviderId(MetadataProviders.Imdb) == null && x.GetProviderId(MetadataProviders.Tmdb) == null) && x.GetProviderId(MetadataProviders.Tvdb) == null && librayInfo.LibraryOptions.ContentType.ToLower() == "tvshows" && x.GetChildrenForValidationSorted().Length > 0) .ToList(); mediaItems[1] .SetProviderId(MetadataProviders.Imdb, "tt123456"); mediaItems[1] .RefreshMetadata(default);
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now