Jump to content

StartIndex ignored when Recursive is false


Recommended Posts

quickmic
Posted (edited)

Possible bug (not confirmed yet):

Seems that "StartIndex" parameter will be skipped/ignored when "IncludeItemTypes" is not set or set to None.

"Limit" parameter was set to a higher value > 1000

 

Emby server, latest beta

 

Edited by quickmic
Posted

Hi, what is the full query url?

quickmic
Posted

Init query:

2022-02-16 12:52:47.069 Debug Server: http/1.1 GET http://‌‍‍192.168.0.207‌/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&CollapseBoxSetItems=False&IsVirtualUnaired=False&EnableTotalRecordCount=False&LocationTypes=FileSystem%2CRemote%2COffline&IsMissing=False&Recursive=False&Limit=5000&Fields=SpecialEpisodeNumbers%2CPath%2CSortName%2CWriter%2CLocalTrailerCount%2CVideo3DFormat%2COfficialRating%2CPremiereDate%2CProductionYear%2CCommunityRating%2CCriticRating%2CShortOverview%2CTags%2CProviderIds%2CParentId%2CRemoteTrailers%2CMediaSources%2CPresentationUniqueKey%2COriginalTitle%2CAlternateMediaSources%2CPartCount%2CSpecialFeatureCount%2CChapters%2CRecursiveItemCount%2CChildCount&StartIndex=0. UserAgent: Emby for Kodi Next Gen/7.0.0
2022-02-16 12:52:47.071 Debug SqliteItemRepository: GetInternalId from b21e885d-665c-9dcd-0f1e-4241bcb2c4fc
2022-02-16 12:52:47.088 Debug Server: http/1.1 Response 200 to 192.168.0.50. Time: 19ms. http://‌‍‍192.168.0.207‌/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&CollapseBoxSetItems=False&IsVirtualUnaired=False&EnableTotalRecordCount=False&LocationTypes=FileSystem%2CRemote%2COffline&IsMissing=False&Recursive=False&Limit=5000&Fields=SpecialEpisodeNumbers%2CPath%2CSortName%2CWriter%2CLocalTrailerCount%2CVideo3DFormat%2COfficialRating%2CPremiereDate%2CProductionYear%2CCommunityRating%2CCriticRating%2CShortOverview%2CTags%2CProviderIds%2CParentId%2CRemoteTrailers%2CMediaSources%2CPresentationUniqueKey%2COriginalTitle%2CAlternateMediaSources%2CPartCount%2CSpecialFeatureCount%2CChapters%2CRecursiveItemCount%2CChildCount&StartIndex=0
quickmic
Posted

Code with workaround:

    def get_Items(self, parent_id, MediaTypes, Basic, Recursive, Extra, Dynamic):
        Limit = get_Limit(MediaTypes)
        IncludeItemTypes, Fields = self.get_MediaData(MediaTypes, Basic, Dynamic)
        params = {
            'ParentId': parent_id,
            'IncludeItemTypes': IncludeItemTypes,
            'CollapseBoxSetItems': False,
            'IsVirtualUnaired': False,
            'EnableTotalRecordCount': False,
            'LocationTypes': "FileSystem,Remote,Offline",
            'IsMissing': False,
            'Recursive': Recursive,
            'Limit': Limit,
            'Fields': Fields
        }

        if Extra:
            params.update(Extra)

            if "Limit" in Extra:
                Limit = Extra["Limit"]

        index = 0

        while True:
            params['StartIndex'] = index
            IncomingData = self.EmbyServer.http.request({'params': params, 'type': "GET", 'handler': "Users/%s/Items" % self.EmbyServer.user_id}, False, False)

            if 'Items' not in IncomingData or utils.SyncPause or utils.SystemShutdown:
                break

            if not IncomingData['Items']:
                break

            for Item in IncomingData['Items']:
                yield Item

            IncomingData['Items'].clear()  # free memory

            if not IncludeItemTypes: # Emby server bug workaround
                break

            index += Limit

 

quickmic
Posted

This code works for multiple other queries. I remove the workaround, this happens:

 

2022-02-16 12:58:40.031 Debug Server: http/1.1 GET http://‌‍‍192.168.0.207‌/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&CollapseBoxSetItems=False&IsVirtualUnaired=False&EnableTotalRecordCount=False&LocationTypes=FileSystem%2CRemote%2COffline&IsMissing=False&Recursive=False&Limit=5000&Fields=SpecialEpisodeNumbers%2CPath%2CSortName%2CWriter%2CLocalTrailerCount%2CVideo3DFormat%2COfficialRating%2CPremiereDate%2CProductionYear%2CCommunityRating%2CCriticRating%2CShortOverview%2CTags%2CProviderIds%2CParentId%2CRemoteTrailers%2CMediaSources%2CPresentationUniqueKey%2COriginalTitle%2CAlternateMediaSources%2CPartCount%2CSpecialFeatureCount%2CChapters%2CRecursiveItemCount%2CChildCount&StartIndex=0. UserAgent: Emby for Kodi Next Gen/7.0.0
2022-02-16 12:58:40.033 Debug SqliteItemRepository: GetInternalId from b21e885d-665c-9dcd-0f1e-4241bcb2c4fc
2022-02-16 12:58:40.050 Debug Server: http/1.1 Response 200 to 192.168.0.50. Time: 20ms. http://‌‍‍192.168.0.207‌/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&CollapseBoxSetItems=False&IsVirtualUnaired=False&EnableTotalRecordCount=False&LocationTypes=FileSystem%2CRemote%2COffline&IsMissing=False&Recursive=False&Limit=5000&Fields=SpecialEpisodeNumbers%2CPath%2CSortName%2CWriter%2CLocalTrailerCount%2CVideo3DFormat%2COfficialRating%2CPremiereDate%2CProductionYear%2CCommunityRating%2CCriticRating%2CShortOverview%2CTags%2CProviderIds%2CParentId%2CRemoteTrailers%2CMediaSources%2CPresentationUniqueKey%2COriginalTitle%2CAlternateMediaSources%2CPartCount%2CSpecialFeatureCount%2CChapters%2CRecursiveItemCount%2CChildCount&StartIndex=0
2022-02-16 12:58:40.103 Debug Server: http/1.1 GET http://‌‍‍192.168.0.207‌/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&CollapseBoxSetItems=False&IsVirtualUnaired=False&EnableTotalRecordCount=False&LocationTypes=FileSystem%2CRemote%2COffline&IsMissing=False&Recursive=False&Limit=5000&Fields=SpecialEpisodeNumbers%2CPath%2CSortName%2CWriter%2CLocalTrailerCount%2CVideo3DFormat%2COfficialRating%2CPremiereDate%2CProductionYear%2CCommunityRating%2CCriticRating%2CShortOverview%2CTags%2CProviderIds%2CParentId%2CRemoteTrailers%2CMediaSources%2CPresentationUniqueKey%2COriginalTitle%2CAlternateMediaSources%2CPartCount%2CSpecialFeatureCount%2CChapters%2CRecursiveItemCount%2CChildCount&StartIndex=5000. UserAgent: Emby for Kodi Next Gen/7.0.0
2022-02-16 12:58:40.105 Debug SqliteItemRepository: GetInternalId from b21e885d-665c-9dcd-0f1e-4241bcb2c4fc
2022-02-16 12:58:40.122 Debug Server: http/1.1 Response 200 to 192.168.0.50. Time: 19ms. http://‌‍‍192.168.0.207‌/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&CollapseBoxSetItems=False&IsVirtualUnaired=False&EnableTotalRecordCount=False&LocationTypes=FileSystem%2CRemote%2COffline&IsMissing=False&Recursive=False&Limit=5000&Fields=SpecialEpisodeNumbers%2CPath%2CSortName%2CWriter%2CLocalTrailerCount%2CVideo3DFormat%2COfficialRating%2CPremiereDate%2CProductionYear%2CCommunityRating%2CCriticRating%2CShortOverview%2CTags%2CProviderIds%2CParentId%2CRemoteTrailers%2CMediaSources%2CPresentationUniqueKey%2COriginalTitle%2CAlternateMediaSources%2CPartCount%2CSpecialFeatureCount%2CChapters%2CRecursiveItemCount%2CChildCount&StartIndex=5000

 

quickmic
Posted

Each loop increments the StartIndex and the loop exits on no "items" in response. Without "IncludeItemTypes" it never escapes cause each iteration returns items.

quickmic
Posted (edited)

Even this simplified query returns items, even if it shouldn't. There are only 14 items available (folder query).

http://192.168.0.207/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&StartIndex=5000&Limit=5000

 

{
   "Items":[
      {
         "Name":"A",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3850",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"B",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3851",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"C",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3852",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"F",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3853",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"G",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3854",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"H",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3855",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"I",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3856",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"J",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3857",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"M",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3858",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"P",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3859",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"R",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3860",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"S",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3861",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"T",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3862",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      },
      {
         "Name":"U",
         "ServerId":"2a38697ffc1b428b943aa1b6014e2263",
         "Id":"3863",
         "IsFolder":true,
         "Type":"Folder",
         "UserData":{
            "PlaybackPositionTicks":0,
            "PlayCount":0,
            "IsFavorite":false,
            "Played":false
         },
         "ImageTags":{
            
         },
         "BackdropImageTags":[
            
         ]
      }
   ],
   "TotalRecordCount":14
}

 

Edited by quickmic
quickmic
Posted

More research done. The issue seems NOT the IncludeItemTypes. It's the Recursive:

Incorrect:

http://‌‍‍192.168.0.207‌/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&Limit=5000&StartIndex=5000

same result as above

Correct:

http://192.168.0.207/emby/Users/e1f4f9fe335c47ae8524d0d7de19e9ab/Items?ParentId=b21e885d665c9dcd0f1e4241bcb2c4fc&Recursive=True&StartIndex=5000&Limit=5000

Response:

{"Items":[],"TotalRecordCount":149}

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