[2/3 blivet] Add method to set the default disklabel (#1078537)

Anne Mulhern amulhern at redhat.com
Thu Jun 19 11:47:33 UTC 2014





----- Original Message -----
> From: "Brian C. Lane" <bcl at redhat.com>
> To: anaconda-patches at lists.fedorahosted.org
> Sent: Wednesday, June 18, 2014 7:27:04 PM
> Subject: [2/3 blivet] Add method to set the default disklabel (#1078537)
> 
> platform.setDefaultDiskLabel(label) will move the disklabel to the front
> of the list if it is supported on the current platform and return True.
> If it isn't supported it will return False and leave the list as is.
> ---
>  blivet/platform.py | 28 ++++++++++++++++++++++++----
>  1 file changed, 24 insertions(+), 4 deletions(-)
> 
> diff --git a/blivet/platform.py b/blivet/platform.py
> index 498d08c..058848a 100644
> --- a/blivet/platform.py
> +++ b/blivet/platform.py
> @@ -65,10 +65,10 @@ class Platform(object):
>          self.update_from_flags()
>  
>      def update_from_flags(self):
> -        if flags.gpt and "gpt" in self._disklabel_types:
> -            # move GPT to the top of the list
> -            self._disklabel_types.remove("gpt")
> -            self._disklabel_types.insert(0, "gpt")
> +        if flags.gpt:
> +            if not self.setDefaultDiskLabelType("gpt"):
> +                log.warn("GPT is not a supported disklabel on this platform.
> Using default "
> +                         "disklabel %s instead.", self.defaultDiskLabelType)
>  
>      def __call__(self):
>          return self
> @@ -83,6 +83,26 @@ class Platform(object):
>          """The default disklabel type for this architecture."""
>          return self.diskLabelTypes[0]
>  
> +    def setDefaultDiskLabelType(self, disklabel):
> +        """Make the disklabel the default
> +
> +           :param string disklabel: The disklabel type to set as default

If you use actual typename "str" above, you get a pretty little hyperlink in the
generated html documents and so forth as appropriate. For "string", nothing
but plain old text.

> +           :returns: True if successful False if disklabel not supported
> +
> +           If the disklabel is not supported on the platform it will return
> +           False and make no change to the disklabel list.
> +
> +           If it is supported it will move it to the start of the list,
> +           making it the default.
> +        """
> +        if disklabel not in self._disklabel_types:
> +            return False
> +
> +        self._disklabel_types.remove(disklabel)
> +        self._disklabel_types.insert(0, disklabel)
> +        log.debug("Default disklabel has been set to %s", disklabel)
> +        return True
> +
>      @property
>      def bootStage1ConstraintDict(self):
>          d = {"device_types": self._boot_stage1_device_types,
> --
> 1.9.3
> 
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
> 

Otherwise, ack.

- mulhern


More information about the anaconda-patches mailing list