src/modules/client/plandesc.py
changeset 2708 4dac3e277ccf
parent 2693 cfee571ea6d5
child 2828 d1d4d120c4c5
--- a/src/modules/client/plandesc.py	Mon Jun 25 07:48:23 2012 +0530
+++ b/src/modules/client/plandesc.py	Mon Jun 25 09:51:09 2012 -0700
@@ -133,6 +133,7 @@
             "li_ppkgs": frozenset([ pkg.fmri.PkgFmri ]),
             "li_props": { li.PROP_NAME: li.LinkedImageName },
             "pkg_plans": [ pkg.client.pkgplan.PkgPlan ],
+            "release_notes": (bool, []),
             "removal_actions": [ _ActionPlan ],
             "removed_groups": { str: pkg.fmri.PkgFmri },
             "removed_users": { str: pkg.fmri.PkgFmri },
@@ -189,6 +190,8 @@
                 self.added_users = {}
                 self.removed_groups = {}
                 self.removed_users = {}
+                # release notes that are part of this operation
+                self.release_notes = (False, [])
                 # plan properties
                 self._cbytes_added = 0 # size of compressed files
                 self._bytes_added = 0  # size of files added
@@ -206,6 +209,7 @@
                 # Properties set when state >= EXECUTED_OK
                 #
                 self._salvaged = []
+                self.release_notes_name = None
 
                 #
                 # Set by imageplan.set_be_options()
@@ -514,6 +518,19 @@
                 # pylint: enable-msg=W0612
                         yield "%s -> %s" % (o_act, d_act)
 
+        def has_release_notes(self):
+                """True if there are release notes for this plan"""
+                return bool(self.release_notes[1])
+
+        def must_display_notes(self):
+                """True if the release notes must be displayed"""
+                return self.release_notes[0]
+
+        def get_release_notes(self):
+                """A generator that returns the release notes for this plan"""
+                for notes in self.release_notes[1]:
+                        yield notes
+
         def get_licenses(self, pfmri=None):
                 """A generator function that yields information about the
                 licenses related to the current plan in tuples of the form