I\'m seeing weird behavior on this code:
images = dict(cover=[],second_row=[],additional_rows=[]) for pic in pictures: if len(images[\'cover\']) == 0:
your problem is that
if len(images['cover']) == 0:
checks the LENGTH of the value of images['cover'] what you meant to do is check if it HAS a value.
do this instead:
if not images['cover']: