# or is an actual filtered list if any filters were applied
if pv_tags:
tag_filtered = []
- for k, v in pv_tags.items():
- for pvolume in filtered:
- if pvolume.tags.get(k) == str(v):
- if pvolume not in tag_filtered:
- tag_filtered.append(pvolume)
+ for pvolume in filtered:
+ matches = all(pvolume.tags.get(k) == str(v) for k, v in pv_tags.items())
+ if matches:
+ tag_filtered.append(pvolume)
# return the tag_filtered pvolumes here, the `filtered` list is no
# longer useable
return tag_filtered