src/pyams_utils/site.py
changeset 145 1a58b78a8f99
parent 72 9049384a2bd4
child 148 da830ed827eb
--- a/src/pyams_utils/site.py	Thu Mar 08 09:13:06 2018 +0100
+++ b/src/pyams_utils/site.py	Sat Mar 10 01:58:45 2018 +0100
@@ -131,11 +131,14 @@
             generations = annotations.get(SITE_GENERATIONS_KEY)
             if generations is None:
                 generations = annotations[SITE_GENERATIONS_KEY] = PersistentDict()
-            for name, utility in get_utilities_for(ISiteGenerations):
+            for name, utility in sorted(get_utilities_for(ISiteGenerations),
+                                        key=lambda x: x[1].order):
                 if not name:
                     name = '.'.join((utility.__module__, utility.__class__.__name__))
                 current = generations.get(name)
-                if (not current) or (current < utility.generation):
+                if not current:
+                    print("Upgrading {0} to generation {1}...".format(name, utility.generation))
+                elif current < utility.generation:
                     print("Upgrading {0} from generation {1} to {2}...".format(name, current, utility.generation))
                 utility.evolve(application, current)
                 generations[name] = utility.generation