diff --git a/data/model/image.py b/data/model/image.py index b9954b593..f3291a242 100644 --- a/data/model/image.py +++ b/data/model/image.py @@ -476,14 +476,14 @@ def get_secscan_candidates(engine_version, batch_size): ImageStorage.uploading == False) .limit(batch_size*10)) - images = (Image - .select(Image, ImageStorage) - .join(ImageStorage) - .where(Image.id << candidates) - .order_by(db_random_func()) - .limit(batch_size)) - - rimages.extend(images) + if len(candidates) > 0: + images = (Image + .select(Image, ImageStorage) + .join(ImageStorage) + .where(Image.id << candidates) + .order_by(db_random_func()) + .limit(batch_size)) + rimages.extend(images) # Collect the images with analyzed parents. candidates = list(Image @@ -497,17 +497,17 @@ def get_secscan_candidates(engine_version, batch_size): ImageStorage.uploading == False) .limit(batch_size*10)) - images = (Image - .select(Image, ImageStorage, Parent, ParentImageStorage) - .join(Parent, on=(Image.parent == Parent.id)) - .join(ParentImageStorage, on=(ParentImageStorage.id == Parent.storage)) - .switch(Image) - .join(ImageStorage) - .where(Image.id << candidates) - .order_by(db_random_func()) - .limit(batch_size)) - - rimages.extend(images) + if len(candidates) > 0: + images = (Image + .select(Image, ImageStorage, Parent, ParentImageStorage) + .join(Parent, on=(Image.parent == Parent.id)) + .join(ParentImageStorage, on=(ParentImageStorage.id == Parent.storage)) + .switch(Image) + .join(ImageStorage) + .where(Image.id << candidates) + .order_by(db_random_func()) + .limit(batch_size)) + rimages.extend(images) # Shuffle the images, otherwise the images without parents will always be on the top random.shuffle(rimages)