From 18fc0cd3def38c9ac5a933b48b3048a339a1b268 Mon Sep 17 00:00:00 2001 From: Bruno Cauet Date: Mon, 16 Mar 2015 14:00:47 +0100 Subject: [PATCH] summarize_items(): work even with 0 items It crashed on empty albums. Fix #1357 --- beets/ui/commands.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/beets/ui/commands.py b/beets/ui/commands.py index 5d29093c9..bf38c5c2c 100644 --- a/beets/ui/commands.py +++ b/beets/ui/commands.py @@ -426,8 +426,6 @@ def summarize_items(items, singleton): this is an album or single-item import (if the latter, them `items` should only have one element). """ - assert items, "summarizing zero items" - summary_parts = [] if not singleton: summary_parts.append("{0} items".format(len(items))) @@ -443,12 +441,13 @@ def summarize_items(items, singleton): for fmt, count in format_counts.iteritems(): summary_parts.append('{0} {1}'.format(fmt, count)) - average_bitrate = sum([item.bitrate for item in items]) / len(items) - total_duration = sum([item.length for item in items]) - total_filesize = sum([item.filesize for item in items]) - summary_parts.append('{0}kbps'.format(int(average_bitrate / 1000))) - summary_parts.append(ui.human_seconds_short(total_duration)) - summary_parts.append(ui.human_bytes(total_filesize)) + if items: + average_bitrate = sum([item.bitrate for item in items]) / len(items) + total_duration = sum([item.length for item in items]) + total_filesize = sum([item.filesize for item in items]) + summary_parts.append('{0}kbps'.format(int(average_bitrate / 1000))) + summary_parts.append(ui.human_seconds_short(total_duration)) + summary_parts.append(ui.human_bytes(total_filesize)) return ', '.join(summary_parts)