From e33ec1c54939fc9436fa963a888b48084bcbf7d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=C3=89vrard?= Date: Mon, 10 Feb 2014 16:17:34 +0100 Subject: [PATCH] Make a copy of the payment iterators We copy the iterators created by groupby in order to prevent consumption of the underlying iterator. issue3660 review3321002 (transplanted from f6a75fb9052b5a3650a4230233d4dd6d478099b5) --- dunning.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dunning.py b/dunning.py index 08fec08660..1b163cf4ef 100644 --- a/dunning.py +++ b/dunning.py @@ -121,7 +121,8 @@ class Letter(CompanyReport): ], order=[('party', 'ASC'), ('id', 'ASC')])) payments = list(chain(*payments)) - return dict(groupby(payments, attrgetter('party'))) + return dict((party, list(payments)) + for party, payments in groupby(payments, attrgetter('party'))) @staticmethod def get_payment_amount(payment):