Dne 16.4.2015 v 14:35 Petr Viktorin napsal(a):
On 04/16/2015 09:04 AM, Jan Cholasta wrote:
Hi,

Dne 10.4.2015 v 15:58 Petr Viktorin napsal(a):
The attached patches remove EditableDN, EditableRDN and EditableAVA.
They depend on Petr Voborník's patch 811 (performance: faster DN
implementation).


Mutable DNs are not very useful. When creating them it is easier to work
with lists or generators, and needing to change DNs aside from
operations like `DN(new_rdn, original[1:])` is very rare -- I'd even say
theoretical.
Mutable DNs are not hashable, so they can't be used as dist keys.
Storing them as "keys" in other structures (e.g. in a LDAPEntry) is
dangerous -- it's hard to reason about outside modifications.

The first patch removes the last use of EditableDN. I could be convinced
it's not an improvement in elegance/readability, but I believe this is
the strongest case for EditableDN in IPA, and it doesn't justify keeping
it.

LGTM, but patch 688 needs to be rebased.

Here you go.

Regarding patch 688, it seems we are always replacing the suffix of the DN, so I think we can simplify _dn_replace to:

    if not dn.endswith(old):
        raise ValueError('no replacement made')
    return DN(*dn[:-len(old)]) + new

--
Jan Cholasta

--
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to