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

Radostin Stoyanov rstoyanov1 at gmail.com
Mon Mar 19 15:43:14 UTC 2018


On 19/03/18 11:40, Marc Hartmayer wrote:
> 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”.
Thanks Marc,
Yes, I agree with you. Using try/except here would be better!
> 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