From 49a0dabce59c6f4e7786632992b393847c635076 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Mon, 28 Sep 2015 14:12:18 +0200 Subject: [PATCH] load-pratic-ldif: privatize variable siid shared with a closure --- .../management/commands/load-pratic-ldif.py | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/authentic2_pratic/management/commands/load-pratic-ldif.py b/src/authentic2_pratic/management/commands/load-pratic-ldif.py index d0de9a4..4b9a94f 100644 --- a/src/authentic2_pratic/management/commands/load-pratic-ldif.py +++ b/src/authentic2_pratic/management/commands/load-pratic-ldif.py @@ -197,16 +197,18 @@ class PraticLDIFParser(ldif.LDIFParser): self.users.append(user) #accesses for siid in entry.get('cdg59serviceAccesses', []): - def f(): - try: - service_instance = self.service_instances[(collectivity.slug, siid)] - access = Access( - user=user, - service_instance=service_instance) - return access - except KeyError: - pass - self.accesses.append(f) + def g(siid): + def f() + try: + service_instance = self.service_instances[(collectivity.slug, siid)] + access = Access( + user=user, + service_instance=service_instance) + return access + except KeyError: + pass + return f + self.accesses.append(g(siid)) class Command(BaseCommand):