[Mailman-Developers] MemberAdaptor.py [missing line?]
Sun, 27 Jan 2002 01:55:08 +0000
>-- Original Message --
>Date: Sat, 26 Jan 2002 18:57:08 -0500
>To: Donal Hunt <firstname.lastname@example.org>
>Cc: "email@example.com" <firstname.lastname@example.org>
>Subject: Re: [Mailman-Developers] MemberAdaptor.py [missing line?]
>From: email@example.com (Barry A. Warsaw)
> DH> should there be a "raise NotImplemented" after the
> DH> documentation stuff?? ie - is that the general rule to raise
> DH> with any method in MemberAdaptor that we don't want
> DH> implemented...
>Not quite, although you're right that there should be a "raise
>NotImplemented" there. The exception is raised in the method because
>MemberAdaptor.py plays the role of an abstract interface, defining
>method that /must/ be overridden in derived classes. In practice, it
>probably makes little difference, but I'll add it back for cleanliness.
Yeh - it was more a cleanliness thing more than anything...
> DH> Currently working on the LDAP authenticator and I don't want
> DH> people to change their LDAP password with Mailman. :)
>Then you should either no-op the setMemberPassword() method, or raise
>a RuntimeError. I sort of doubt that Mailman is prepared to capture
>exceptions in the MemberAdaptor methods, so a no-op might be the most
>expedient thing to do.
That's what I wasn't sure about... There's no point raising exceptions
in MemberAdaptor methods if they aren't caught at a later stage...
Depending on what the LDAP authenticator code throws up, i might add some=
code to the Mailman GUI side, so that the users get a nice message when
an admin decides that password changes aren't permitted via Mailman...
I haven't checked the code to see what happens presently...
On a separate note (and more on python train of thought...) - is there a
way of working out what types are being returned by Python methods?? For=
example in the OldStyleMemberships class, you return different structures=
for some methods... eg getRegularMemberKeys() returns a marshal (I think)=
If the expected return type was specified in the MemberAdaptor.py file fo=
the method, it would be mighty handy... :)