[libvirt] [PATCH 07/22] esx_vi_generator: Simplify get_occurrence_comment

Marc Hartmayer mhartmay at linux.vnet.ibm.com
Mon Mar 19 11:40:05 UTC 2018


On Sat, Mar 17, 2018 at 03:23 PM +0100, Radostin Stoyanov <rstoyanov1 at gmail.com> wrote:
> Reduce the number of if-statements and use a single return.
> Utilise a dictionary to map between occurrences and values.
>
> Signed-off-by: Radostin Stoyanov <rstoyanov1 at gmail.com>
> ---
>  src/esx/esx_vi_generator.py | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/src/esx/esx_vi_generator.py b/src/esx/esx_vi_generator.py
> index 1641a2a1e..e4890c61b 100755
> --- a/src/esx/esx_vi_generator.py
> +++ b/src/esx/esx_vi_generator.py
> @@ -75,16 +75,16 @@ class Member:
>
>
>      def get_occurrence_comment(self):
> -        if self.occurrence == OCCURRENCE__REQUIRED_ITEM:
> -            return "/* required */"
> -        elif self.occurrence == OCCURRENCE__REQUIRED_LIST:
> -            return "/* required, list */"
> -        elif self.occurrence == OCCURRENCE__OPTIONAL_ITEM:
> -            return "/* optional */"
> -        elif self.occurrence == OCCURRENCE__OPTIONAL_LIST:
> -            return "/* optional, list */"
> -
> -        raise ValueError("unknown occurrence value '%s'" % self.occurrence)
> +        occurrence_map = {
> +            OCCURRENCE__REQUIRED_ITEM: "/* required */",
> +            OCCURRENCE__REQUIRED_LIST: "/* required, list */",
> +            OCCURRENCE__OPTIONAL_ITEM: "/* optional */",
> +            OCCURRENCE__OPTIONAL_LIST: "/* optional, list */"
> +        }
> +        if self.occurrence not in occurrence_map:
> +            raise ValueError("unknown occurrence value '%s'" % self.occurrence)
> +
> +        return occurrence_map[self.occurrence]

What do you think about this? (instead of an explicit check)

try:
   return occurrence_map[self.occurrence]
except KeyError:
   raise ValueError("unknown occurrence value '%s'" % self.occurrence)

In my opinion it’s more “pythonic”.

Beste Grüße / Kind regards
   Marc Hartmayer

IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294





More information about the libvir-list mailing list