On Tue, Feb 21, 2012 at 11:14:23AM +0100, Iustin Pop wrote:
> On Tue, Feb 21, 2012 at 11:05:15AM +0100, Iustin Pop wrote:
> > On Mon, Feb 20, 2012 at 05:46:10PM +0100, Michael Hanselmann wrote:
> > > Am 20. Februar 2012 15:21 schrieb Iustin Pop <[email protected]>:
> > > > --- a/lib/objects.py
> > > > +++ b/lib/objects.py
> > > > -  result = dict()
> > > >   if diskparams is None:
> > > >     result = constants.DISK_DT_DEFAULTS.copy()
> > > >   else:
> > > > +    result = {}
> > > >     # Update the disk parameter values for each disk template.
> > > >     # The code iterates over constants.DISK_TEMPLATES because new 
> > > > templates
> > > >     # might have been added.
> > > >     for template in constants.DISK_TEMPLATES:
> > > > -      if template not in diskparams:
> > > > -        result[template] = constants.DISK_DT_DEFAULTS[template].copy()
> > > > -      else:
> > > > -        result[template] = 
> > > > FillDict(constants.DISK_DT_DEFAULTS[template],
> > > > -                                    diskparams[template])
> > > > +      result[template] = FillDict(constants.DISK_DT_DEFAULTS[template],
> > > > +                                  diskparams.get(template, {}))
> > > 
> > > Can we have something like “result = dict((dt, FillDict(…)) for dt in
> > > constants.DISK_TEMPLATES]”? /me dislikes filling dictionaries by keys.
> > 
> > Hah, sure, I didn't realise that we can simplify since before the
> > explicit loop was needed :)
> > 
> > Will resend.
> 
> 
> diff --git a/lib/objects.py b/lib/objects.py
> index e8c558c..8f3df18 100644
> --- a/lib/objects.py
> +++ b/lib/objects.py
> @@ -155,13 +155,12 @@ def UpgradeDiskParams(diskparams):
>    if diskparams is None:
>      result = constants.DISK_DT_DEFAULTS.copy()
>    else:
> -    result = {}
>      # Update the disk parameter values for each disk template.
>      # The code iterates over constants.DISK_TEMPLATES because new templates
>      # might have been added.
> -    for template in constants.DISK_TEMPLATES:
> -      result[template] = FillDict(constants.DISK_DT_DEFAULTS[template],
> -                                  diskparams.get(template, {}))
> +    result = dict((dt, FillDict(constants.DISK_DT_DEFAULTS[template],
> +                                diskparams.get(template, {})))
> +                  for dt in constants.DISK_TEMPLATES)
>  
>    return result

Of course s/template/dt/ in that code…

iustin

Reply via email to