Bruno Desthuilliers writes: > class LdapObject(object): > (...) > def __getattr__(self, name): > try: > data = self._record[name] > except KeyError: > raise AttributeError( > "object %s has no attribute %s" % (self, name) > )
Note that LDAP attribute descriptions may be invalid Python attribute names. E.g. {... 'title;lang-en': ['The Boss'] 'title;lang-no': ['Sjefen']} So you'd have to call getattr() explicitly to get at all the attributes this way. > else: > # all LDAP attribs are multivalued by default, > # even when the schema says they are monovalued > if len(data) == 1: > return data[0] > else: > return data[:] IMHO, this just complicates the client code since the client needs to inserts checks of isinstance(return value, list) all over the place. Better to have a separate method which extracts just the first value of an attribute, if you want that. -- Regards, Hallvard -- http://mail.python.org/mailman/listinfo/python-list