diff --git a/app/models.py b/app/models.py index 6c333c9ab757453e6ccbfe86ef5dcb9579688d33..4a2690e9175402a8e0b3d5cc5c25bd58e4ab7c8d 100644 --- a/app/models.py +++ b/app/models.py @@ -49,17 +49,18 @@ def temporary_ics_ids(): def used_temporary_ics_ids(): - """Generator that returns the list of temporary ICS ids used""" + """Return a set with the temporary ICS ids used""" temporary_items = Item.query.filter( Item.ics_id.startswith( current_app.config['TEMPORARY_ICS_ID'])).all() - return (item.ics_id for item in temporary_items) + return {item.ics_id for item in temporary_items} def get_temporary_ics_id(): """Return a temporary ICS id that is available""" + used_temp_ics_ids = used_temporary_ics_ids() for ics_id in temporary_ics_ids(): - if ics_id not in used_temporary_ics_ids(): + if ics_id not in used_temp_ics_ids: return ics_id else: raise ValueError('No temporary ICS id available')