[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [PATCH 3/3] Carry rdloaddriver= parameters through to the boot loader config.



> Handle multiple rdloaddriver= parameters in the cmdlineDict.  In cases
> where we already have a key, convert the value to a set and add the new
> value to it.  Start new keys with just the value.
> 
> In the boot loader code, take cmdlineDict values that are sets, convert
> them to lists, and join them to a single string separated by commas
> before writing them to the argument list.

This set looks fine, except for comments below.

> @@ -174,7 +174,10 @@ class KernelArguments:
>  
>              val = flags.cmdline.get(arg, "")
>              if val:
> -                newArgs.append("%s=%s" % (arg, val))
> +                if type(val) == type(set()):
> +                    newArgs.append("%s=%s" % (arg, ','.join(list(val)),))
> +                else:
> +                    newArgs.append("%s=%s" % (arg, val,))
>              else:
>                  newArgs.append(arg)
>  

You don't need the trailing commas in your tuples.  The only time you
need to use a trailing comma is if you're creating a singleton tuple
because python syntax is a little weird there.  Makes it a little easier
to read, I think.

> diff --git a/flags.py b/flags.py
> index e01ec63..afb56e2 100644
> --- a/flags.py
> +++ b/flags.py
> @@ -61,7 +61,19 @@ class Flags:
>                  key = i
>                  val = None
>  
> -            cmdlineDict[key] = val
> +            if key.lower() == "rdloaddriver":
> +                key = key.lower()
> +
> +            if cmdlineDict.has_key(key):
> +                if type(cmdlineDict[key]) == type(set()):
> +                    cmdlineDict[key].add(val)
> +                else:
> +                    tmpset = set()
> +                    tmpset.add(cmdlineDict[key])
> +                    tmpset.add(val)
> +                    cmdlineDict[key] = tmpset
> +            else:
> +                cmdlineDict[key] = val
>  
>          return cmdlineDict

I don't really like this, but I think it will be okay.  We don't appear
to allow for multiple instances of a command line option anywhere else
in anaconda, so you shouldn't be breaking existing behavior by using a
set when that comes up.

- Chris


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]