diff --git a/bin/lib/objects/Decodeds.py b/bin/lib/objects/Decodeds.py index ce79cbec..3339883c 100755 --- a/bin/lib/objects/Decodeds.py +++ b/bin/lib/objects/Decodeds.py @@ -454,16 +454,19 @@ def get_all_decodeds_objects(filters={}): mimetypes = sorted(mimetypes) if filters.get('start'): - _, start_id = filters['start'].split(':', 1) - decoded = Decoded(start_id) - # remove sources - start_mimetype = decoded.get_mimetype() - i = 0 - while start_mimetype and len(mimetypes) > i: - if mimetypes[i] == start_mimetype: - mimetypes = mimetypes[i:] - start_mimetype = None - i += 1 + if filters['start']['type'] == 'decoded': + _, start_id = filters['start'].split(':', 1) + decoded = Decoded(start_id) + # remove sources + start_mimetype = decoded.get_mimetype() + i = 0 + while start_mimetype and len(mimetypes) > i: + if mimetypes[i] == start_mimetype: + mimetypes = mimetypes[i:] + start_mimetype = None + i += 1 + else: + start_id = None else: start_id = None diff --git a/bin/lib/objects/Items.py b/bin/lib/objects/Items.py index 275e81e3..bbac1b8b 100755 --- a/bin/lib/objects/Items.py +++ b/bin/lib/objects/Items.py @@ -464,17 +464,24 @@ def get_all_items_objects(filters={}): sources = get_all_sources() sources = sorted(sources) if filters.get('start'): - _, start_id = filters['start'].split(':', 1) - item = Item(start_id) - # remove sources - start_source = item.get_source() - i = 0 - while start_source and len(sources) > i: - if sources[i] == start_source: - sources = sources[i:] - start_source = None - i += 1 - start_date = item.get_date() + if filters['start']['type'] == 'item': + _, start_id = filters['start'].split(':', 1) + item = Item(start_id) + if not item.exists(): + start_id = None + start_date = None + # remove sources + start_source = item.get_source() + i = 0 + while start_source and len(sources) > i: + if sources[i] == start_source: + sources = sources[i:] + start_source = None + i += 1 + start_date = item.get_date() + else: + start_id = None + start_date = None else: start_id = None start_date = None diff --git a/bin/lib/objects/ail_objects.py b/bin/lib/objects/ail_objects.py index 3489ba1d..576dfd70 100755 --- a/bin/lib/objects/ail_objects.py +++ b/bin/lib/objects/ail_objects.py @@ -375,6 +375,8 @@ def obj_iterator(obj_type, filters): return chats_viewer.get_ocrs_iterator(filters=filters) elif obj_type == 'title': return Titles.Titles().get_iterator() + else: + return [] def card_objs_iterators(filters): diff --git a/bin/trackers/Retro_Hunt.py b/bin/trackers/Retro_Hunt.py index 548b105d..2a4a91b1 100755 --- a/bin/trackers/Retro_Hunt.py +++ b/bin/trackers/Retro_Hunt.py @@ -72,6 +72,8 @@ class Retro_Hunt_Module(AbstractModule): last_obj = self.retro_hunt.get_last_analyzed() if last_obj: last_obj_type, last_obj_subtype, last_obj_id = last_obj.split(':', 2) + if last_obj_subtype is None: + last_obj_subtype = '' else: last_obj_type = None last_obj_subtype = None @@ -81,8 +83,7 @@ class Retro_Hunt_Module(AbstractModule): self.update_progress() if last_obj_type: - filters['start'] = f'{last_obj_subtype}:{last_obj_id}' - last_obj_type = None + filters['start'] = {'type': last_obj_type, 'subtype': last_obj_subtype, 'id': last_obj_id} for obj_type in filters: for obj in ail_objects.obj_iterator(obj_type, filters):