[Freeipa-devel] [PATCH 0029-0046] Internationalized domain names in DNS plugin
Alexander Bokovoy
abokovoy at redhat.com
Tue Apr 8 08:09:56 UTC 2014
On Tue, 08 Apr 2014, Jan Cholasta wrote:
>On 8.4.2014 10:01, Alexander Bokovoy wrote:
>>On Tue, 08 Apr 2014, Petr Spacek wrote:
>>>On 8.4.2014 09:22, Jan Cholasta wrote:
>>>>On 4.4.2014 12:59, Petr Spacek wrote:
>>>>>On 3.4.2014 15:35, Jan Cholasta wrote:
>>>>>>I would shorten "origin_sign" to just "sign".
>>>>>Sign of what? Decay? :-) I don't think that sign is descriptive enough,
>>>>>I would personally stick with origin_sign.
>>>>
>>>>Whoops, I meant "origin". The "_sign" bit seems a little bit
>>>>redundant to me.
>>>
>>>"Origin" is an established term for the name of the parent.
>>>
>>>name = "blabla.example."
>>>origin of "name" = "example."
>>>
>>>Anyway, I still think that DNSName('@') is better than any constant
>>>with cryptic name.
>>>
>>>Honza, can you see any problem with this? I know this creates instance
>>>again and again, but is it a real problem? I would like to avoid
>>>premature optimization... :-)
>>What about making all these fixed names as constants and then simply
>>return those?
>>
>>class DNSName:
>> DNS_ORIGIN = DNSName('@')
>> ...
>>
>> @staticmethod ...
>> def ...
>> return DNS_ORIGIN
>>
>>they would be singletons...
>
>Unfortunately you can't do that, because at the time DNSName is
>parsed, it is not defined yet:
>
>>>> class X:
>... x = X()
>...
>Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "<stdin>", line 2, in X
>NameError: name 'X' is not defined
Then we can split these classes: define DNSName with purely static
methods as child of DNSNameBase which would have all the expected
methods. DNSName can then have constants of DNSNameBase() and return
those.
--
/ Alexander Bokovoy
More information about the Freeipa-devel
mailing list