Re: [PATCH] rteval: Add __contains__ in rtevalConfig

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

 



On Thu, Jul 29, 2021 at 06:07:13PM -0400, John Kacur wrote:
> Add the __contains__ function to the rtevalCfgSection class  to make "in"
> function correctly.

Thank you.  A possible correction:

I believe the correct implementation (to delegate the 'in' operation to
the dictionary-like object self.__cfgdata) is

    def __contains__(self, key):
        return key in self.__cfgdata

I mocked a bit of rtevalCfgSection with your implementation:
	class rtevalCfgSection:
	    def __init__(self, cfgdata):
		self.__cfgdata = cfgdata

	    def __contains__(self, key):
		if key in self.__cfgdata.keys():
		    return self.__cfgdata[key]
		return None

and then tried it with some carefully chosen values

>>> d = {1: 'x', 2: 'y', 3: None, 4: False}
>>> r = rtevalConfig.rtevalCfgSection(d)
>>> 1 in d, 1 in r
(True, True)
>>> 9 in d, 9 in r
(False, False)
>>> 3 in d, 3 in r
(True, False)

With the corrected implementation, the results would always be the same,
not different in the '3' case.

Additionally, my version avoids extra operation on the underlying
dictionary.

Jeff



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux