Skip to content

Commit e0a8f4c

Browse files
committed
fix: [retro hunt] fix object to resume
1 parent 4d5c3f0 commit e0a8f4c

File tree

4 files changed

+36
-23
lines changed

4 files changed

+36
-23
lines changed

bin/lib/objects/Decodeds.py

+13-10
Original file line numberDiff line numberDiff line change
@@ -454,16 +454,19 @@ def get_all_decodeds_objects(filters={}):
454454
mimetypes = sorted(mimetypes)
455455

456456
if filters.get('start'):
457-
_, start_id = filters['start'].split(':', 1)
458-
decoded = Decoded(start_id)
459-
# remove sources
460-
start_mimetype = decoded.get_mimetype()
461-
i = 0
462-
while start_mimetype and len(mimetypes) > i:
463-
if mimetypes[i] == start_mimetype:
464-
mimetypes = mimetypes[i:]
465-
start_mimetype = None
466-
i += 1
457+
if filters['start']['type'] == 'decoded':
458+
_, start_id = filters['start'].split(':', 1)
459+
decoded = Decoded(start_id)
460+
# remove sources
461+
start_mimetype = decoded.get_mimetype()
462+
i = 0
463+
while start_mimetype and len(mimetypes) > i:
464+
if mimetypes[i] == start_mimetype:
465+
mimetypes = mimetypes[i:]
466+
start_mimetype = None
467+
i += 1
468+
else:
469+
start_id = None
467470
else:
468471
start_id = None
469472

bin/lib/objects/Items.py

+18-11
Original file line numberDiff line numberDiff line change
@@ -464,17 +464,24 @@ def get_all_items_objects(filters={}):
464464
sources = get_all_sources()
465465
sources = sorted(sources)
466466
if filters.get('start'):
467-
_, start_id = filters['start'].split(':', 1)
468-
item = Item(start_id)
469-
# remove sources
470-
start_source = item.get_source()
471-
i = 0
472-
while start_source and len(sources) > i:
473-
if sources[i] == start_source:
474-
sources = sources[i:]
475-
start_source = None
476-
i += 1
477-
start_date = item.get_date()
467+
if filters['start']['type'] == 'item':
468+
_, start_id = filters['start'].split(':', 1)
469+
item = Item(start_id)
470+
if not item.exists():
471+
start_id = None
472+
start_date = None
473+
# remove sources
474+
start_source = item.get_source()
475+
i = 0
476+
while start_source and len(sources) > i:
477+
if sources[i] == start_source:
478+
sources = sources[i:]
479+
start_source = None
480+
i += 1
481+
start_date = item.get_date()
482+
else:
483+
start_id = None
484+
start_date = None
478485
else:
479486
start_id = None
480487
start_date = None

bin/lib/objects/ail_objects.py

+2
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,8 @@ def obj_iterator(obj_type, filters):
375375
return chats_viewer.get_ocrs_iterator(filters=filters)
376376
elif obj_type == 'title':
377377
return Titles.Titles().get_iterator()
378+
else:
379+
return []
378380

379381

380382
def card_objs_iterators(filters):

bin/trackers/Retro_Hunt.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ def compute(self, task_uuid):
7272
last_obj = self.retro_hunt.get_last_analyzed()
7373
if last_obj:
7474
last_obj_type, last_obj_subtype, last_obj_id = last_obj.split(':', 2)
75+
if last_obj_subtype is None:
76+
last_obj_subtype = ''
7577
else:
7678
last_obj_type = None
7779
last_obj_subtype = None
@@ -81,8 +83,7 @@ def compute(self, task_uuid):
8183
self.update_progress()
8284

8385
if last_obj_type:
84-
filters['start'] = f'{last_obj_subtype}:{last_obj_id}'
85-
last_obj_type = None
86+
filters['start'] = {'type': last_obj_type, 'subtype': last_obj_subtype, 'id': last_obj_id}
8687

8788
for obj_type in filters:
8889
for obj in ail_objects.obj_iterator(obj_type, filters):

0 commit comments

Comments
 (0)