upgradeprovision: avoid working with None objects ...
authorMatthieu Patou <mat@matws.net>
Sat, 4 Sep 2010 23:00:05 +0000 (03:00 +0400)
committerMatthieu Patou <mat@matws.net>
Sun, 5 Sep 2010 08:29:21 +0000 (12:29 +0400)
source4/scripting/bin/upgradeprovision

index 39b5042da47699bca7e961e22700d8c60cc6c4a3..6697c821f970e8ddf68d72e57b67deb4a7809cd0 100755 (executable)
@@ -1657,15 +1657,16 @@ if __name__ == '__main__':
             doit = False
             if deltaattr is not None and len(deltaattr) > 1:
                 doit = True
-            deltaattr.remove("dn")
-            for att in deltaattr:
-                if att.lower() == "dn":
-                    continue
-                if deltaattr.get(att) is not None \
-                    and deltaattr.get(att).flags() != FLAG_MOD_ADD:
-                    doit = False
-                elif deltaattr.get(att) is None:
-                    doit = False
+            if doit:
+                deltaattr.remove("dn")
+                for att in deltaattr:
+                    if att.lower() == "dn":
+                        continue
+                    if deltaattr.get(att) is not None \
+                        and deltaattr.get(att).flags() != FLAG_MOD_ADD:
+                        doit = False
+                    elif deltaattr.get(att) is None:
+                        doit = False
             if doit:
                 message(CHANGE, "Applying delta to @ATTRIBUTES")
                 deltaattr.dn = ldb.Dn(basesam, "@ATTRIBUTES")